Empya: Saving Energy in the Face of Varying Workloads

C. Eibel,Thao-Nguyen Do,R. Meissner,T. Distler
DOI: https://doi.org/10.1109/IC2E.2018.00036
2018-04-17
Abstract:Energy-efficient cloud and data-center applications utilize just enough resources (e.g., threads, cores) to provide the performance required at the current point in time. Unfortunately, building such applications is inherently difficult in the face of varying workloads and further complicated by the fact that existing programming and execution platforms are not energy aware. Consequently, programmers are usually forced to choose between two unfavorable options: to lose performance and/or waste energy by relying on a static resource pool, or to significantly increase the complexity of their applications by implementing additional functionality to control resource usage at runtime. In this paper we present Empya, an energy-aware programming and execution platform that frees application programmers from the need to take care of energy efficiency. During execution, Empya constantly monitors both the performance as well as the energy consumption of an application and dynamically adjusts the system configuration to achieve the best energy–performance tradeoff for the current workload. In contrast to existing approaches, Empya combines techniques from different software and hardware levels to effectively and efficiently minimize the resource footprint of an application during periods of low utilization. This allows Empya to enable significant energy savings, as shown by our experimental evaluations of a key–value store and a variety of MapReduce applications.
What problem does this paper attempt to address?