Barcelona Supercomputing Center (BSC) and IBM through the IBM-BSC Deep Learning Center has launched a new library to manage the available hardware knobs of a processor: libPRISM.
libPRISM is an infrastructure that enables the transparent management of multiple hardware knobs in order to adapt the system to the evolving demands of hardware resources in different workloads. It can be used to investigate possible behavior changes due to hardware knob reconfigurations and quickly prototype an algorithm to take advantage of the observed behavior. This library has been developed with modularity and scalability in mind, which allows implementing new features for different platforms or different hardware knobs. There is no need to recompile any software in order to use this library. The only requirement is to have permissions to reconfigure the desired hardware knobs.
Current microprocessors include several knobs to modify the hardware behavior in order to improve performance under different workload demands. An impractical and time consuming offline profiling is needed to evaluate the design space to find the optimal knob configuration. Different knobs are typically configured in a decoupled manner to avoid the time-consuming offline profiling process. This can often lead to underperforming configurations and sometimes to conflicting decisions that jeopardize system power- performance efficiency. Thus, a dynamic management of the different hardware knobs is necessary to find the knob configuration that maximizes system power-performance efficiency without the burden of offline profiling.
This initial version of libPRISM has the following features:
- OpenMP 4.0 support
- Policy to increase performance in OpenMP workloads
- Support for gcc 4.9
- Support for Linux
- Support for POWER8 platforms
- Support for SMT level and data prefetcher hardware knobs
The role of BSC
This software release is an outcome of the long collaboration between BSC and IBM. In this collaboration, the RoMoL project and IBM Research address the subject of adaptive resource management and system efficiency, which is an important subject in the next processor generations. The RoMoL project works towards overcoming challenges on current computing systems. In order to take advantage of the potential of current processors, a hardware-software management is required. As part of BSC, the RoMoL project involves research in techniques to improve this needed hardware-software management: runtime systems, compilers, microarchitecture, etc.
Reference of the study
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.
More information
libPRISM is open source, under BSD license, and it is available here: libPRISM at Github
For more information contact the developers at cortega [at] bsc [dot] es">cortega [at] bsc [dot] es