Figure 1: Software energy analysis using energy distribution based on performance indices
Fujitsu Laboratories is known to have developed technology for energy-efficient programming; according to fresh reports the latest disruptive technology can precisely calculates the energy required to execute various software programs running on server CPUs.
Servers equipped with Intel-made CPUs include a power-control mechanism that can measure power consumption for the CPU as a whole. Until now, however, it was not possible to calculate the energy required to execute software on a core-by-core basis, so it has been difficult to take a software-based approach to reducing power consumption.
Now Fujitsu Laboratories has developed technology that uses information that can be tracked at the individual core level, such as clock cycles and cache-hit percentages, to estimate energy consumption in detail, down to the program module level. This makes energy-efficient programming a more efficient process, contributing to both lower overall server energy usage and, by using surplus power, higher software performance. Details of this technology are being presented at the Summer United Workshops on Parallel, Distributed and Cooperative Processing 2015 (SWoPP 2015), opening in Beppu, Oita Prefecture, on August 4.
As the scale and processing volumes of systems such as datacenters and supercomputers expand, so too does their energy consumption. For example, in the case of a top-level, high-performance supercomputer, power consumption is thought to reach roughly 18 megawatts.
One way to reduce energy consumption is through the use of more energy-efficient hardware. Another is to reduce the energy required to run programs on servers. A precondition for energy-efficient programming is to have an understanding of the energy being consumed by existing software.
Servers equipped with Intel-made CPUs include a power-control mechanism called RAPL(2) that can be used to measure power consumption for the CPU as a whole.
The technology has the following characteristics:
Performs detailed analysis of software energy requirements by using power distribution based on performance indices
Combining measurements that can be captured at the level of the individual CPU core, such as clock cycles and cache-hit percentages, Fujitsu Laboratories newly devised performance indices with a high degree of correlation to energy consumption. By distributing total CPU energy consumption across each core according to the index values calculated per CPU core, it becomes possible to get a detailed picture of energy consumption on a program module basis.
Calculates energy information with low overhead
The types of measurements used as performance indices for each CPU core are limited, which enables information capture down to the millisecond. The calculation of energy information imposes an overhead of roughly only 1% of the total, meaning that the measurement does not significantly impact performance. Additionally, fine-grained sampling makes it possible to get a highly accurate picture of the energy required to execute a given software program.
Fujitsu Laboratories is spearheading with tests of reducing the energy required to execute software with the goal of a practical implementation of this technology in fiscal 2016. The company is also looking into applying the technology to Fujitsu’s own datacenters, with the goal of analyzing datacenter energy consumption in more detail to improve datacenter energy efficiency.