Tecnología | Noticias | 16 SEP 2016

Un nuevo lenguaje de programación cuadruplica la velocidad en la gestión de grandes datos

Tags: Big Data
Investigadores del MIT han desarrollado un código llamado Milk que permite a los desarrolladores de aplicaciones gestionar la memoria de manera más eficiente en los programas que se relacionan con datos dispersos entre grandes conjuntos.
Imagen Datos
Katherine Noyes

La gestión de la memoria ya supone de por sí un reto más que suficiente para los conjuntos de datos tradicionales. Pero, cuando hablamos de grandes volúmenes de datos la administración puede ralentizarse demasiado. Sin embargo, un nuevo lenguaje de programación anunciado por el MIT tiene como objetivo remediar el problema e incluso cuadruplicar la velocidad en algoritmos comunes.

El principio de localidad es el que rige la gestión de memoria en la mayoría de los chips de los ordenadores actuales. Si un programa necesita información almacenada en algún lugar de la memoria, necesitará, generalmente datos cercanos. Sin embargo, cuando hablamos de grandes volúmenes de datos no siempre se cumple esta regla. En cambio, los programas a menudo deben actuar en tan solo unos pocos elementos de datos dispersos a través de enormes conglomerados. La búsqueda de datos de la memoria principal es el trámite más lento para los chips actuales, así que ir a buscar datos con más frecuencia puede retardar considerablemente la ejecución.

Por ejemplo, es como si cada vez que queremos una cucharada de cereales, abrimos la nevera, vertimos leche en la cucharada y guardamos el brick de leche otra vez en la nevera”, explicó Vladimir Kiriansky, estudiante de doctorado en ingeniería eléctrica y ciencias de la computación en el MIT.

Con este desafío en mente, Kiriansky y otros investigadores han creado Milk, un nuevo lenguaje que permite a los desarrolladores de aplicaciones gestionar la memoria de manera más eficiente en los programas que se relacionan con datos dispersos entre grandes conjuntos.

En esencia, Milk ha añadido varios comandos a OpenMP, una API para lenguajes como C y Fortran que hace que sea más fácil escribir código para procesadores de múltiples núcleos. Al usarlo, el programador inserta unas pocas líneas de códigos adicionales alrededor de cualquier instrucción que recorre en iteración una gran colección de datos en busca de un número relativamente pequeño de artículos y compila toda la información para más tarde administrar la memoria.

Con un programa escrito Milk, cuando un núcleo descubre que necesita un grupo de datos no lo solicita desde la memoria principal. En lugar de ello, se añade la dirección del grupo de datos en una lista de direcciones almacenada localmente. De esta manera, cada petición puede ser recuperada eficientemente.

En pruebas con varios algoritmos comunes, los programas escritos en el lenguaje nuevo han funcionado cuatro veces más rápido que los que están escritos en los lenguajes ya existentes, según el MIT. Los investigadores presentarán el proyecto en la Conferencia Internacional sobre arquitecturas paralelas y técnicas de compilación.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información