BSC-CNS i IBM llancen libPRISM, una llibreria adaptativa de codi obert per OpenMP

11 Octubre 2017

El Barcelona Supercomputing Center – Centro Nacional de Supercomputación (BSC-CNS) i IBM a través de l’IBM-BSC Deep Learning Center han llançat una nova llibreria per tal de gestionar els components disponibles d'un microprocessador (hardware): libPRISM.

libPRISM és una infraestructura que permet la gestió transparent de múltiples configuracions de diferents components del processador per tal d'adaptar el sistema a les seves noves demandes en diferents càrregues de treball. Es pot utilitzar per investigar possibles canvis de comportament a causa de les reconfiguracions del microprocessador i dissenyar ràpidament un algoritme per aprofitar el comportament observat. Aquesta llibreria s'ha desenvolupat tenint en compte la modularitat i l'escalabilitat, que permet implementar noves funcions per a diferents plataformes o diferents components del processador. No és necessari recompilar cap programari (software) per utilitzar aquesta llibreria. L'únic requisit és tenir permisos per reconfigurar el maquinari.

El microprocessadors actuals inclouen la possibilitat de modificar el comportament de components del microprocessador per tal de millorar el rendiment sota diferents demandes de càrrega de treball. Es necessita un anàlisis offline, poc pràctic i costós, per tal d'explorar l’espai de disseny per trobar la configuració òptima del maquinari. Normalment, els diferents components del microprocessador son analitzats individualment per evitar l'increment de temps empleat en l’anàlisi offline. Això pot conduir a configuracions poc eficients i, a vegades, a decisions conflictives que comprometen l'eficiència del rendiment del sistema. D'aquesta manera, és necessària una gestió dinàmica de les diferents configuracions del microprocessador per trobar una configuració que maximitzi l’eficiència rendiment-potencia del sistema sense emplear temps al anàlisis offline.

Aquesta versió inicial de libPRISM té les següents característiques:

  • Suport OpenMP 4.0
  • Política per augmentar el rendiment en càrregues de treball OpenMP
  • Suport per gcc 4.9
  • Suport per Linux
  • Suport per plataformes POWER8
  • Suport per nivell SMT i data prefetcher hardware knobs

El paper del BSC-CNS

El llançament d’aquest programari és el fruit d’una llarga col·laboració entre el BSC-CNS i IBM. En aquesta col·laboració el projecte RoMol i la secció de recerca d’IBM aborden el tema de la gestió dels recursos adaptatius i l'eficiència del sistema, que és un tema important en les properes generacions de processadors. El projecte RoMoL treballa per superar els desafiaments dels sistemes informàtics actuals. Per aprofitar el potencial dels processadors actuals, es requereix una gestió de programari (software) i maquinari (hardware). Com a part del BSC-CNS, el projecte RoMoL implica la recerca en tècniques per millorar aquesta gestió de programari i maquinari necessària: sistemes d'execució, compiladors, microarquitectura, etc.

Referència de l’estudi

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ó

libPRISM és de codi obert, sota la llicència BSD, i està disponible aquí: libPRISM a Github

Per obtenir més informació poseu-vos en contacte amb els desenvolupadors a cortega [at] bsc [dot] es (cortega [at] bsc [dot] es)