The following post is an excerpt from a subsection of my Ph.D. depth paper, less citations, which exist in the original document. This post deals with the concept of energy-proportional computing.
Performance per watt
Often measured in performance per watt, the operating efficiency of a computer system is of great importance when calculating the total energy cost of any system that spends most of its time active. Systems like these include nodes in a supercomputer or render farm, and computers that are turned on only to play processor-intensive video games. Because these systems spend almost no time in an idle state, their power consumption at low utilization is unimportant.
Since few users are able to keep CPUs fully utilized for more than short bursts of time, performance per watt is not a useful measurement for many users. Therefore, improving the operating efficiency of computers, even if it means overall lower performance, should have a minimal negative impact on individuals. One approach becoming mainstream is the adoption of multiple lower-frequency computation cores; these cores tend to run at slower speeds than their single-core counterparts but achieve better performance per watt when under load. Currently, there are situations where additional cores that provide more computation power are not properly utilized by software; the advantage of the extra cores speed from these cores is lost in those situations. One approach that acknowledges this situation is Intel Turbo Boost. It increases processor frequency for active cores when some cores are turned off. This increases performance for tasks that cannot be use extra cores but it decreases the performance per watt for each active core due to an increase in power consumption for each core (depending on the computer’s utilization in general, this can still good from an energy-consumption perspective because it reduces the amount of time and energy taken to complete the task).
Energy-proportional computing
In an ideal energy-proportional system, the energy consumed by the system consumes no energy when idle and grows linearly with the amount of computational resources required. However, such systems do not exist. Instead, even idle machines whose power requirements scale linearly can use over half the power idle that they consume under full load. Such a machine, under a light load of 10% utilization, is operating at only 5% efficiency in terms of performance per watt (the figure below is for servers; desktop computers on average probably operate at a lower level efficiency due to lower utilization). By definition, an ideal energy-proportional system is always operating at 100% efficiency. At this point, designing systems that approach the ideal energy-proportional system is a hardware challenge. However, using various software tricks in systems with a high degree of granularity for switching off components (to be discussed in further blog posts), we can approximate such a system.