The ongoing digitalization and the relentless need for a change of thinking towards more energy-aware and climate-friendly technologies confronts data-center operators with new challenges. The operators are legally bound to reducing the energy demand and CO₂ emissions but also aim to keep their data centers' total operation costs minimal. Still, the users expect high responsiveness at all times when accessing the provided services, while the volume of data to be processed is steadily increasing. The access patterns of the users vary in dependence of properties such as the region, day of time, and request types, leading to fluctuating, dynamic workload situations with additional challenges. For example, major, ad-hoc power fluctuations can jeopardize the stability of the data center's electricity supply, which may also impact other electricity consumers in the grid and cause contractual penalties at worst. Not only the data centers (e.g., architecture, hardware components) need to be evaluated towards possible savings but also the software systems. In software development, performance parameters such as memory demand or CPU utilization receive utmost attention when it comes to resource optimizations – and the energy demand still receives only little attention, if at all. However, when improving the energy efficiency, performance remains to be an important criterion, which is only allowed to be negatively affected under specific (user-defined) criteria. Otherwise, the acceptance of measures for improving the power and energy demand may suffer. This work proposes an approach that considers and exploits mechanisms at multiple layers – from the hardware and operating-system to the platform and application level. It focuses on a holistic software solution for optimizing the energy and power demand, which is based on underlying hardware and software components, allowing applications to automatically make use of them. Besides these power-management techniques, this work also investigates methodologies for power as well as energy measurements and profile generation for different computing systems. Dynamic adaptation is explored towards switching between a number of configurations at runtime in dependence of the varying workload situations. The coordination happens at the middleware level, as it is the connection point between an operating system at the bottom and an application running at the top. This design choice has the advantage to not only make local but also distributed applications (processing dynamically changing workloads cooperatively on multiple machines) benefit from power and energy awareness. The evaluation results obtained throughout this thesis prove significant energy- and power-demand improvements for various types of distributed-system applications, such as omnipresent and versatile data-streaming systems. Thereby, the economical aspect (e.g., energy prices) is considered in the same way as the heterogeneity of hardware and software components
Christopher Eibel (Thu,) studied this question.