BSC-CNS y IBM lanzan libPRISM, una librería adaptativa de código abierto para OpenMP

11 Octubre 2017

El Barcelona Supercomputing Center – Centro Nacional de Supercomputación (BSC-CNS) e IBM a través del IBM-BSC Deep Learning Center han lanzado una nueva librería para gestionar el hardware disponible de un microprocesador: libPRISM.

libPRISM es una infraestructura que permite la gestión transparente de múltiples configuraciones hardware para adaptar el sistema a las nuevas demandas hardware en diferentes cargas de trabajo. Se puede usar para investigar posibles cambios de comportamiento debidos a las reconfiguraciones del hardware y diseñar rápidamente un algoritmo para aprovechar el comportamiento observado. Esta librería se ha desarrollado teniendo en cuenta la modularidad y la escalabilidad, que permiten implementar nuevas funciones para diferentes plataformas o configuraciones hardware. No es necesario recompilar ningún software para utilizar esta librería. El único requisito es tener permisos para reconfigurar el hardware.

Los microprocesadores actuales incluyen la posibilidad de reconfigurar el comportamiento del hardware para mejorar el rendimiento bajo diferentes demandas de carga de trabajo. Para ello, es necesario un análisis offline, poco práctico y costoso, para explorar el espacio de diseño y encontrar la configuración óptima del hardware. Normalmente, se analizan diferentes hardwares de forma individual para evitar que el tiempo del análisis offline se incremente. Esto puede conducir a configuraciones poco eficientes y, a veces, a decisiones conflictivas que comprometen la eficiencia del rendimiento del sistema. De esta manera, es necesaria una gestión dinámica de las diferentes configuraciones hardware para encontrar una configuración que maximice la eficiencia rendimiento-potencia del sistema sin el consumo de tiempo del análisis offline.

Esta versión inicial de libPRISM tiene las siguientes características:

  • Soporte OpenMP 4.0
  • Política para aumentar el rendimiento en cargas de trabajo OpenMP
  • Soporte para gcc 4.9
  • Soporte para Linux
  • Soporte para plataformas POWER8
  • Soporte para nivel SMT y data prefetcher hardware knobs

El papel del BSC-CNS

El lanzamiento de este software es el fruto de una larga colaboración entre el BSC-CNS e IBM. En esta colaboración el proyecto RoMol y la sección de investigación de IBM abordan el tema de la gestión de los recursos adaptativos y la eficiencia del sistema, que es un tema importante en las próximas generaciones de procesadores. El proyecto RoMol trabaja para superar los desafíos de los sistemas informáticos actuales. Para aprovechar el potencial de los procesadores actuales, se requiere una gestión de software y hardware. Como parte del BSC-CNS, el proyecto RoMol implica la investigación en técnicas para mejorar esta gestión de software y hardware necesarios: sistemas de ejecución, compiladores, microarquitectura, etc.

Referencia del estudio

Ortega C, Moreto M, Casas M, Bertran R, Buyuktosunoglu A, E. Eichenberger A & Bose, P (2017). libPRISM: an intelligent adaptation of prefetch and SMT levels. 1-10. 10.1145/3079079.3079101.

Más información

libPRISM es de código abierto, bajo licencia BSD y está disponible aquí: libPRISM en Github

Para obtener más información, visita el repositorio github o ponte en contacto con los desarrolladores a cortega [at] bsc [dot] es (cortega [at] bsc [dot] es)