Open Power-On Chip Controller Study and Integration
In recent years, energy-efficiency is becoming a key challenge in the High Performance Computing (HPC) domain. Until today Intel-based computing node have dominated the market of scientific HPC systems as showed on the Top500 list, which ranks the 500 worldwide most powerful systems. Several manufacturer are starting to provide alternatives to the Intel based computing nodes. Computing nodes based on ARM SoCs are facing the market, as well as system based on the IBM power architecture. To create more market opportunities IBM as recently created the Open-Power consortium, where a set of interested partners shares HW and SW IPs to create competitive computing node systems.
The power8 CPUs features an interesting power management design where the computing cores are coupled with a dedicated PPC 405 hard real-time core, which implements the power management policies, creating a feedback loop with the embedded monitors and low level control knobs such as the power-gating, DVFS. This core takes the name of On Chip Controller (OCC). IBM has recently released open-source the documentation and firmware of the power 8 OCC allowing the implementation of advanced and custom-made power management features.
Goal of this Project → The goal of this project is to explore the potentiality of the OCC in the power8 systems, studying the documentation (A), characterizing its behavioral (B) and implementing an extension of the built-in power management policy (C) which links run-time architectural information, linked to the running application, with the operating-point selection. The project is ambitious and allows the student to build its knowledge on low-level power management systems of best-in class computing engine combining real-time, computer architecture, and low-level programming background. The project is modular and can be tailored to a Semester Project as well as to a Master Project.
- Looking for 1-2 Master Students (Semester/Master Project)
- Supervision: Antonio Libri, Andrea Bartolini
- Good knowledge of C and C++ programming.
- Good computer architecture and real-time system background.
- Good knowledge of control systems.
- 40% Theory
- 40% Implementation
- 20% Testing
Detailed Task Description