Fujitsu Laboratories today announced that it has developed technology that precisely calculates the energy required to execute various software programs running on server CPUs, for energy-efficient programming. 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. According to a report by the Ministry of Internal Affairs and Communications(1), Japan's datacenters consume an average of 7.72 billion kWh per year. Given these high levels, there is a need to reduce overall energy consumption.
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. But this has not extended to being able to analyze energy consumption at an individual core level, which is where software runs. This has made it difficult to get a detailed picture of the energy requirements of software.
Fujitsu Laboratories has developed an analytic method that can make precise estimates of software energy requirements (Figure 1) for servers equipped with Intel-made CPUs. The technology has the following characteristics:
1. 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.
2. 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.
This technology promises to help software developers tune their software for lower energy requirements (energy-efficient programming) in order to reduce overall server energy consumption and, by using spare power and increasing parallelism, to boost software performance.
Fujitsu Laboratories is proceeding 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.
Explore further: Better software cuts computer energy use