Efficiency of energy usage in computing systems improves, however, still not at the rate matching the climbing demand for computing capacity. To address this urging problem, computing elements of the latest generation, that is, CPUs/graphics processing units, memory units, and network interface cards, have been designed to operate in multiple modes with differentiated energy consumption levels. Mode switching and high-frequency performance monitoring functions have also been exposed by co-designed abstract programming interfaces. The challenge of energy-efficient computing is to develop hardware control mechanisms taking advantage of the new capabilities. This paper aims at giving an insight into the structure of optimal energy-aware CPU frequency scaling rules. It gives a characterization of solutions to the optimal control problem of energy-efficient real-time packet inspection performed by a Linux server. A class of CPU frequency switching rules, exploiting dynamic voltage and frequency scaling mechanisms, is constructed based on experimentally identified model of server operations. The control rules are demonstrated to outperform the default CPU frequency scaling governor for the Linux kernel, both in terms of achievable power savings and service quality.
421Agency's 50 GFLOPS/W goal ¶ by year 2020 [4,5]. Indeed, limiting power consumption in data centers has become an important engineering problem [6][7][8].Average CPU utilization of a server in data center rarely approaches 100%, most of the time oscillating somewhere between 10% and 50% [9]. Over-provisioning of computing capacity, strongly correlated with the running CPU frequency, has been applied as a sound strategy to eliminate potential breakdowns caused by sudden workload fluctuations or internal disruptions, for example, hardware or software faults. Unfortunately, although efficient from the point of view of service quality, the strategy may be a significant source of energy waste. The challenge of energy-efficient CPU frequency scaling, addressed in the present paper, is therefore to design control rules reducing power consumption subject to quality of service constraints in highly stochastic environment of a server operating system.Dynamic voltage and frequency scaling (DVFS) mechanisms have been commonly used to reduce power usage in routers and application servers. Translation of the commands responsible for the CPU frequency control in the Linux system has been provided by the cpufreq kernel module [10]. The module allows to adjust performance of CPU by activating a desired control policy implemented as a CPU governor. Typically, the calculated control inputs are mapped to admissible performance P-states, as described by the Advanced Configuration and Power Interface standard || , and passed to a processor driver (e.g., acpi_cpufreq). The sleeping state, or Advanced Configuration and Power Interface C-state, which CPU enters during idle periods, is independently and simultaneously determined by the cpuidle kernel module [11].Recent versions of ...