QoS-Aware Power Minimization of Distributed Many-Core Servers using Transfer Q-Learning
This work provides a solution for data center operators and cloud providers to reduce energy costs and improve efficiency in distributed server environments, which is an incremental improvement over existing methods.
This paper addresses the challenge of minimizing power consumption in distributed many-core web servers while maintaining Quality of Service (QoS) guarantees under dynamic workloads. It achieves this by synergistically combining horizontal and vertical scaling methods, resulting in persistent power reductions with minimal QoS violations across various workload scenarios.
Web servers scaled across distributed systems necessitate complex runtime controls for providing quality of service (QoS) guarantees as well as minimizing the energy costs under dynamic workloads. This paper presents a QoS-aware runtime controller using horizontal scaling (node allocation) and vertical scaling (resource allocation within nodes) methods synergistically to provide adaptation to workloads while minimizing the power consumption under QoS constraint (i.e., response time). A horizontal scaling determines the number of active nodes based on workload demands and the required QoS according to a set of rules. Then, it is coupled with vertical scaling using transfer Q-learning, which further tunes power/performance based on workload profile using dynamic voltage/frequency scaling (DVFS). It transfers Q-values within minimally explored states reducing exploration requirements. In addition, the approach exploits a scalable architecture of the many-core server allowing to reuse available knowledge from fully or partially explored nodes. When combined, these methods allow to reduce the exploration time and QoS violations when compared to model-free Q-learning. The technique balances design-time and runtime costs to maximize the portability and operational optimality demonstrated through persistent power reductions with minimal QoS violations under different workload scenarios on heterogeneous multi-processing nodes of a server cluster.