Empya : Saving Energy in the Face of Varying Workloads Christopher Eibel , Thao-Nguyen Do, Robert Meißner, and Tobias Distler System Software Group Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) The 2018 IEEE International Conference on Cloud Engineering (IC2E ’18) April 20, 2018
Introduction & Motivation Execution platforms vs. energy demand in data centers Programming and execution platforms are generally not energy aware Dynamic applications in data centers are faced with varying workloads Resources are often statically assigned ➔ Consequence: Lots of energy is being wasted IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Introduction & Motivation 2
Introduction & Motivation Execution platforms vs. energy demand in data centers Programming and execution platforms are generally not energy aware Dynamic applications in data centers are faced with varying workloads Resources are often statically assigned ➔ Consequence: Lots of energy is being wasted Example application: key–value store Receives and processes user requests with basic operations (e.g., get(key) ) Programmers may choose between two configuration options: ➔ Static energy : Lower performance when load is high ➔ Static perf : Wasting energy when load is low IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Introduction & Motivation 2
Introduction & Motivation Execution platforms vs. energy demand in data centers Programming and execution platforms are generally not energy aware Dynamic applications in data centers are faced with varying workloads Resources are often statically assigned 20 Power demand [W] ➔ Consequence: Lots of energy is being wasted 15 10 5 Example application: key–value store 0 Static perf Static energy Power demand at 70 kOps/s Receives and processes user requests 400 with basic operations (e.g., get(key) ) Throughput [kOps/s] 300 Programmers may choose between two 200 configuration options: 100 ➔ Static energy : Lower performance when load is high 0 ➔ Static perf : Wasting energy when load is low Static perf Static energy Maximum throughput IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Introduction & Motivation 2
Introduction & Motivation Execution platforms vs. energy demand in data centers Programming and execution platforms are generally not energy aware Dynamic applications in data centers are faced with varying workloads Resources are often statically assigned 20 Goals Power demand [W] ➔ Consequence: Lots of energy is being wasted 15 Control the energy–performance tradeoff 10 5 Propose platform that Example application: key–value store 0 ❶ frees programmers from taking care of energy optimizations Static perf Static energy Power demand at 70 kOps/s Receives and processes user requests ❷ uses available techniques at hardware and software level 400 with basic operations (e.g., get(key) ) Throughput [kOps/s] ❸ adapts dynamically to varying workloads 300 Programmers may choose between two 200 configuration options: 100 ➔ Static energy : Lower performance when load is high 0 ➔ Static perf : Wasting energy when load is low Static perf Static energy Maximum throughput IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Introduction & Motivation 2
General Approach E MPYA : e nergy-aware m iddleware p latform for d y namic a pplications Key design principles for E MPYA ❶ Energy-efficiency awareness Avoid high CPU utilization because of disproportionate power-to-performance ratio Not necessarily select configuration with full resource allocation ❷ Multi-level awareness Exploit available techniques at multiple levels Coordinate techniques: Best energy efficiency with respect to required performance ❸ Energy awareness Integrated regulator making energy-aware reconfigurations No additional services IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 3
E MPYA – Exploiting Techniques at Different Levels Platform Level OS Energy Level Regulator Hardware Level IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 4
E MPYA – Exploiting Techniques at Different Levels ➔ Vary #threads Platform ➔ Mapping of application Level components to threads OS Energy Level Regulator Hardware Level IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 4
E MPYA – Exploiting Techniques at Different Levels ➔ Vary #threads Platform ➔ Mapping of application Level components to threads ➔ Vary #(un)active cores OS Energy ➔ Mapping of application Level Regulator threads to active cores Hardware Level IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 4
E MPYA – Exploiting Techniques at Different Levels ➔ Vary #threads Platform ➔ Mapping of application Level components to threads ➔ Vary #(un)active cores OS Energy ➔ Mapping of application Level Regulator threads to active cores ➔ Vary upper power limits Hardware ➔ Instruct hardware to Level enforce them IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 4
E MPYA – Exploiting Techniques at Different Levels ➔ Vary #threads Platform ➔ Mapping of application Level components to threads ➔ Vary #(un)active cores OS Energy ➔ Mapping of application Level Regulator threads to active cores ➔ Vary upper power limits Hardware ➔ Instruct hardware to Level enforce them IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 4
E MPYA – Exploiting Techniques at Different Levels Platform A 0 A 1 A 2 Level Thread Thread Pool 0 Pool 1 OS Energy Level Regulator C 0 C 1 C 2 C 3 Active Active Inactive Active Hardware Energy Power Level Accounting Control IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 5
E MPYA – Exploiting Techniques at Different Levels ❶ Actors Each actor maintains its own state Platform A 0 A 1 A 2 Communication via Level message passing Thread Thread Actor is independent Pool 0 Pool 1 OS of executing thread Energy Level Regulator ➔ Implementation: C 0 C 1 C 2 C 3 Akka toolkit Active Active Inactive Active Hardware Energy Power Level Accounting Control IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 5
E MPYA – Exploiting Techniques at Different Levels ❶ Actors Each actor maintains its own state Platform A 0 A 1 A 2 Communication via Level message passing Thread Thread Actor is independent Pool 0 Pool 1 OS of executing thread Energy Level Regulator ➔ Implementation: C 0 C 1 C 2 C 3 Akka toolkit Active Active Inactive Active Hardware Energy Power Level Accounting Control ❷ Power limiting Running average power limit (RAPL) Originally developed for power limiting (e.g., temperature issues) Enables power and energy measurements Power capping very powerful for reducing the energy demand IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 5
E MPYA – Energy Regulator Self-adapting system with continuous feedback loop Monitor application performance Energy Regulator Emit dynamic HW/SW reconfigurations Observer Energy-profile database Profiles Platform Level Configuration characteristics getValues() Workload-specific power values OS Control Level Energy policies Unit Primary performance goal reconfigure() Hardware (e.g., throughput) Level Configurator Secondary performance goal (e.g., latency) Energy Policy IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 6
E MPYA – Energy Regulator Self-adapting system with continuous feedback loop Monitor application performance Energy Regulator Emit dynamic HW/SW reconfigurations Observer Energy-profile database Profiles Platform Level Configuration characteristics getValues() Workload-specific power values OS Control Level Energy policies Unit Primary performance goal reconfigure() Hardware (e.g., throughput) Level Configurator Secondary performance goal (e.g., latency) Energy Policy Configuration Performance Power ID #Threads #Cores Cap Throughput Latency usage 390.5 kOps/s 0 . 42 ms 51 . 2 W α 24 8 None 70.4 kOps/s 0 . 37 ms 19 . 3 W 224.8 kOps/s 0 . 62 ms 22 . 0 W 12 6 22 W λ 50.5 kOps/s 0 . 25 ms 15 . 3 W 20.6 kOps/s 0 . 22 ms 10 . 0 W ω 1 1 10 W 15.1 kOps/s 0 . 21 ms 9 . 7 W IC2E ’18 Empya : Saving Energy in the Face of Varying Workloads Approach 6
Recommend
More recommend