La Verdad

En busca de la conexión más rápida entre núcleos

El investigador de la Universidad de Murcia Manuel Acacio.
El investigador de la Universidad de Murcia Manuel Acacio. / Nacho García / AGM
  • La filosofía de 'rendimiento cueste lo que cueste' podría acabar limitando la capacidad máxima de operar de los servidores, advierte Manuel Acacio

El número de dispositivos electrónicos conectados a internet no hace sino crecer. Además, cada vez se están ideando nuevos servicios y aplicaciones remotas. La suma de todos esos factores ha llevado a que los servidores vean incrementadas de manera notable el número de operaciones (transacciones) que deben procesar por unidad de tiempo y es algo que sigue creciendo de manera exponencial.

Para poder dar servicio a un número tan elevado de transacciones por segundo es necesario disponer de servidores con elevadas capacidades de cómputo. Por otro lado, la filosofía de 'rendimiento cueste lo que cueste', que ignora la eficiencia energética de los servidores, podría acabar limitando el rendimiento máximo de los mismos. De entre los distintos componentes que conforman un servidor de altas prestaciones, aquel que más directamente determina su rendimiento (el número de transacciones procesadas por unidad de tiempo) es el procesador o procesadores de que dispone.

Este elemento también tiene una influencia importante en el consumo energético de la máquina. A día de hoy, los procesadores empleados en cualquier servidor (realmente en cualquier ordenador, sin importar su uso o avance tecnológico) son arquitecturas con varios núcleos de procesamiento dentro del mismo chip (arquitecturas multinúcleo o multicore). Es de esperar que el número de núcleos ('cores') siga creciendo al ritmo marcado por las mejoras tecnológicas, y pronto puedan realizarse diseños que superen el centenar de 'cores' (de hecho ya existe un prototipo de chip con 1.000 núcleos -el chip KiloCore desarrollado en UC Davis, EE UU-).

Todo ello lleva a que científicos de todo el mundo se encuentren investigando en esta área de trabajo. Es el caso del grupo 'Arquitectura de Computadores y Sistemas Paralelos' de la Universidad de Murcia, que dirige Manuel Acacio, y que cuenta con financiación de la Fundación Séneca para llevar a cabo el proyecto: 'Diseño de una Infraestructura Hardware para la Comunicación y Sincronización Eficientes en Arquitecturas Multicore para Servidores'.

«En líneas generales, el objetivo es estudiar soluciones más eficientes que las propuestas actuales, desde el punto de vista del rendimiento y del consumo energético, a dos de los principales problemas presentes en una arquitectura multinúcleo con un gran número de núcleos de procesamiento: cómo los diferentes núcleos comunican entre sí (esto se realiza en los diseños actuales mediante operaciones de lectura y escritura en memoria) y cómo lograr que sus acciones puedan estar sincronizadas (para que accedan por turnos a determinadas posiciones de memoria que comparten o para que se bloqueen hasta que todos hayan alcanzado un punto determinado del programa)», explica.

El proyecto, que comenzó el 1 de julio de 2015 y está previsto que finalice el 30 de junio de 2017, pretende derivar una infraestructura 'hardware' mediante la cual se puedan llevar a cabo comunicaciones y sincronizaciones más eficientes. Para ello, según el investigador, «se están diseñando nuevos protocolos de coherencia de cachés (este es el elemento que controla las comunicaciones entre los 'cores') basados, por un lado, en el concepto de código de compartición distribuido, que permitirá reducir los requisitos de almacenamiento debidos a la información de coherencia; y, por el otro, en el diseño de redes de interconexión específicas. Por otro lado, se está estudiando también la conveniencia de proporcionar soporte 'hardware' para sincronización basado en una red de interconexión 'on-chip' heterogénea».

Insiste en que «la necesidad de contar con servidores de altas prestaciones viene motivada por el importante aumento en el número de dispositivos electrónicos conectados a internet y la creación de nuevos servicios y aplicaciones remotas. Esto justifica que el número de transacciones por unidad de tiempo que han de ser procesadas por estos servidores esté creciendo exponencialmente».

Por otro lado, la filosofía de 'rendimiento cueste lo que cueste', que ignora la eficiencia energética de los servidores, acabará limitando su rendimiento. Así pues, como resultado de la investigación realizada a lo largo del proyecto, el grupo cree «que se posibilitará el diseño de arquitecturas servidor de altas prestaciones más eficientes energéticamente. Cuestión esta que será de una importancia crítica en las futuras generaciones de dichas arquitecturas, en especial, en diseños que empleen multiprocesadores-en-un-solo-chip (chip-multiprocessors) con un elevado número de 'cores' (como es de esperar en este tipo de servidores)».

A diferencia de otro tipo de investigaciones científicas, las cuales aprecian resultados a largo plazo, el equipo de la UMU los va obteniendo conforme se realiza el proyecto. Por ejemplo, durante la primera anualidad del mismo se han obtenido diversos resultados que han sido publicados en una revista internacional (en febrero de 2016), en un congreso internacional (en abril de 2016) y en un congreso nacional (en septiembre de 2016). Además, tenemos también un trabajo que está siendo revisado en otra revista internacional. A lo largo de 2017, se irán publicando los resultados más recientes.

Nuevas líneas

El proyecto que actualmente apoya la Agencia Regional de Ciencia y Tecnología no es fruto de la casualidad, sino resultado de una línea de investigación en la que el grupo de 'Arquitectura de Computadores y Sistemas Paralelos' lleva trabajando más de 10 años. «Durante este tiempo, se han ido obteniendo diversos resultados que han cimentado los pilares sobre los que se ha construido el proyecto actual», según Manuel E. Acacio.

Cabe destacar que el campo objetivo de estudio del proyecto es foco de atención de diversos grupos de investigación, tanto nacionales como internacionales. De esta forma, está en continua evolución, tanto por mejoras en la tecnología que pueden posibilitar nuevas organizaciones arquitectónicas, como por la aparición de nuevas aproximaciones al problema. Por ejemplo, «durante la realización del proyecto se ha conseguido derivar una nueva estructura para el directorio que emplean los protocolos de coherencia de caché que está basada en el novedoso concepto de 'combinación de vías'. Los primeros resultados obtenidos son muy esperanzadores y van a dar lugar a una nueva línea de investigación no contemplada inicialmente en el proyecto».

Financiación pública

Para la obtención de los resultados del proyecto se emplea una metodología basada en simulación de la arquitectura. Para ello, se utilizan herramientas de simulación sofisticadas que permiten modelar a un nivel de detalle alto una arquitectura multinúcleo, obteniendo resultados del impacto que determinadas modificaciones sobre la misma tienen en el rendimiento y consumo de energía.

Obviamente, en palabras de Acacio, «el diseño viene guiado por los resultados que se obtienen a partir de un gran número de simulaciones, algunas de las cuales tardan varios días en poder finalizar su ejecución».

Para poder completar dichas simulaciones en el plazo más corto de tiempo posible, se precisa de varias máquinas con muchos procesadores y memoria. El grupo de investigación cuenta con un 'cluster' que dispone de varios nodos de procesamiento, algunos de los cuales han quedado obsoletos. Gracias a la financiación de la Fundación Séneca, se han podido adquirir nuevos nodos para el 'cluster' que les permiten acelerar la ejecución de las simulaciones requeridas para el desarrollo de su investigación.