La memoria de acceso aleatorio, o RAM, es donde el procesador almacena los datos temporales con los que está trabajando el ordenador. Cuanta más memoria RAM tiene una máquina, más rápido puede el procesador recuperar los datos que había almacenado previamente. Sin embargo, en la era del Big Data, la cantidad de información es a menudo demasiado grande para la memoria de un solo equipo. Para hacernos una idea, la secuencia que describe un solo genoma humano ocuparía la RAM de entre 40 y 100 ordenadores tradicionales.
Por el contrario, la memoria flash, aquella que utiliza la mayoría de los dispositivos portátiles, consume diez veces menos energía y es, por tanto, significativamente más barata. El problema es que resulta más lenta que la RAM. Sin embargo, investigadores del Instituto Tecnológico de Massachusetts (MIT), en Estados Unidos, parecen haber encontrado una solución.
En el reciente Simposio Internacional de Arquitectura Computacional, el equipo presentó Blue Database Machine (BlueDBM), un nuevo sistema que demuestra como varias aplicaciones de Big Data compartidas hacen a aquellos servidores que utilicen memoria flash tan eficientes como los que se decanten por la RAM convencional, preservando su potencia y ahorrando costes.
Según explica el MIT en un comunicado, los investigadores presentaron una evidencia experimental que demuestra que, si los servidores que ejecutan una computación distribuida deben acceder al disco para los datos aunque sea un cinco por ciento del tiempo, su rendimiento cae a un nivel similar al del sistema Flash de todos modos.
La clave, preprocesar
En otras palabras, incluso diseñando nuevas técnicas para acelerar la recuperación de datos de la memoria flash, 40 servidores con 10 terabytes de RAM no podrían procesar un conjunto de datos de 10,5 TB más rápido que 20 servidores con 20 TB de Flash, sin contar con el ahorro energético que supondría.
«No se trata de pasarnos a la DRAM [RAM dinámica] ni nada de eso», apunta Arvind, profesor de Informática e Ingeniería del MIT que coordina el grupo de investigación Johnson, artífice del estudio. «Pero puede haber muchas aplicaciones que saquen provecho a este nuevo estilo de arquitectura”, añade. De hecho, no serían los primeros que experimentan con el potencial de la memoria Flash.
En este caso, los investigadores fueron capaces de crear una red competitiva de servidores basados en Flash con una red de servidores RAM pasando parte de la potencia de los servidores a los chips que controlan las unidades Flash. Preprocesando algunos datos de las unidades Flash antes de volver a los servidores, los chips pueden conseguir una computación distribuida mucho más eficiente.
Y puesto que los algoritmos de preprocesamiento están conectados a los chips, se encargan de distribuir la sobrecarga computacional asociada para mejorar el funcionamiento del sistema operativo, el mantenimiento del sistema de archivos o similar.
Ventajas del FPGA
Para crear el prototipo de red de BlueDBM utilizaron 20 servidores, con el hardware aportado por algunos de sus patrocinadores -Quanta, Samsung y Xilinx-. Cada servidor se conectó a un FPGA (por las siglas en inglés de Field-Programmable Gate Array), un tipo de chip que puede reprogramarse para imitar diferentes tipos de circuitos eléctricos. Y a su vez, cada FPGA se volvió a conectar a dos chips de Flash de medio terabyte, o 500 gigabytes, y a los dos FPGA más cercanos.
Gracias a que los FPGA se conectan entre sí, consiguieron una red muy rápida que permite a cualquier servidor recuperar datos de cualquier unidad Flash. También controlan las unidades Flash, lo cual no es tarea sencilla; los controladores de las unidades Flash comerciales tienen hasta ocho procesadores diferentes y un gigabyte de memoria de trabajo.
Otra de las bondades de los FPGA es que ejecutan los algoritmos que preprocesan los datos almacenados en las unidades Flash. Los investigadores probaron tres de esos algoritmos en aplicaciones de Big Data populares. La primera fue un buscador de imágenes, intentando encontrar coincidencias a una imagen dada en una enorme base de datos. La segunda fue una implementación del PageRank de Google, algoritmo que evalúa la importancia de los resultados de búsqueda para darles un orden. Y la tercera fue la aplicación Memcached, que utilizan webs con grandes bases de datos para el almacenamiento en caché de información de acceso frecuente.
En definitiva, BlueDBM supone un nuevo uso para el FPGA, del cual se podrían beneficiar muchas aplicaciones como las tres en las que se puso a prueba. Y dado que son reprogramables, se podrían cargar con diferentes aceleradores dependiendo de la aplicación. Esto daría lugar a sistemas de procesamiento distribuido que pierden poca versatilidad, ganando en costes y ahorro energético.
Hacer un comentario