Adept’s objective is to address the use of energy in parallel computing systems. Devices used in high-performance computing (HPC) need large amounts of power due to the sheer scale of the systems. A single HPC system will have hundreds of thousands of parallel components, requiring significant power to run and cool. This significantly impacts the total cost of ownership of an HPC system in many ways – and it can be hard to justify these costs. Lowering power consumption in these systems is thus of significant interest to the HPC community. Development of technologies that support the energy-efficient use of HPC could lower financial barriers.
Meanwhile, in the Embedded sector, energy-efficient technologies are already common. For cost reasons, Embedded systems engineers are turning more and more to consumer-grade multi-core processors, using parallel technologies to achieve high performance. Working together, the sectors will work to balance power use and performance. This may also have a knock-on effect for consumer technologies as progress occurs.
The project brings together two different groups: HPC software developers and Embedded systems engineers. The strengths of one sector are the weaknesses of the other, so by working together they will address the challenges faced by both sectors.
HPC software developers are experts in application parallelisation and performance. Parallelisation reduces the time applications require to run, but increases power and energy demands. Power management and efficiency for HPC is currently in its infancy. It is clear, though, that this is becoming important as systems’ power and energy demands rise.
Embedded systems engineers, meanwhile, are experts in managing energy and power consumption. Embedded systems must limit their power and energy usage due to fixed system power budgets, which limits performance. New advances in processor technology, such as new low-power multi-core processors, have improved this. These allow potentially significant increases in performance whilst still conforming to energy constraints. It also means that Embedded engineers must start to use parallel techniques more familiar to the HPC world than to their own.
The goal of Adept is to create a number of solutions that will allow the efficiency of systems to be measured. To do this, Adept is first investigating the implications of hardware and software choices on power consumption. Different parallel programming models and algorithms may differ significantly in performance versus energy use. It is important understand how factors such as redundant computations or algorithmic choices affect applications' power usage. Efficiency can then be increased by, for example, off-loading compute-intensive tasks to low-power hardware. Adept is developing a tool that will allow developers to model this. This will use, and advance, cutting-edge technology in application profiling, performance, and energy usage modelling. The tool will be able to integrate performance and energy consumption modelling. It will be able to do this for both parallel Embedded and HPC systems.
Another of Adept's aims is to advance knowledge on how current parallel technologies use power. The project has also developed a fine-grained power measurement infrastructure and specialised benchmarks to test real systems. These will give detailed insights into how systems utilise energy and power. The power measurement infrastructure samples power usage throughout the system 1 million times per second. It is also able to return information about power use from each component of the system. The benchmarks, meanwhile, test power and energy consumption by different applications. By using metrics which measure ‘work done per unit energy’, the tools are able to compare the efficiency of different systems.
The ability to reduce the power required to run large-scale applications on HPC systems will lower operational costs and carbon emissions. Adept also gives programmers the ability to predict and model performance and power usage in parallel systems. This will allow developers to make economically sensible decisions in hardware and software implementation. At the same time, it will reduce the need for speculation during software development. The project's end goal is to deliver increased performance in HPC and Embedded systems, for lower energy costs.