SlideShare a Scribd company logo
DEEP-mon
HPPAC - Vancouver 21/05/2018
Dynamic and Energy Efcient Power monitoring
for container-based infrastructures
Tommaso Sardelli, Rolando Brondolin, Marco D. Santambrogio
Data Center - Power Consumption
Environment
20%
Of Costs
wasted on
power
consumption[1]
Power
Cap
Costs
Y. Cui, C. Ingalz, T. Gao, and A. Heydari, “Total cost of ownership model for data center technology
evaluation,” in Thermal and Thermomechanical Phenomena in Electronic Systems (ITherm), 2017 16th
IEEE Intersociety Conference on. IEEE, 2017, pp. 936–942.
2
Need For Power Awareness
Power
Aware
balancing
of IT
workloadsPower
Efciency
Monitoring
Data
Driven
3
Application Containers
29B+
Downloads
of Docker
containers
4
https://www.docker.com
https://singularity.lbl.gov
Kubernetes Orchestration
5
Manage
Container
Execution
environments
https://kubernetes.io
Application Level Power Attribution
6
CPU: 78 W
DRAM: 41W
CPU: 121 W
DRAM: 34W
Server Level
power attribution
Application Level Power Attribution
Server Level
power attribution
Application Level
power attribution
CPU: 78 W
DRAM: 41W
CPU: 121 W
DRAM: 34W
CPU: 21 W
DRAM: 5W
CPU: 16 W
DRAM: 4W
CPU: 114 W
DRAM: 29 W
7
DEEP-mon
8
Runtime Monitoring
Container Power Consumption
Low Overhead
CPU: 21 W
DRAM: 5W
CPU: 16 W
DRAM: 4W
DEEP-mon Architecture
9
User
Space
Backend
Kernel
Space
Clock
Cycles
Instr.
Retired
Exec.
Time
Kernel - Runtime Monitoring
10
Kernel - Runtime Monitoring
11
Kernel - Runtime Monitoring
12
Problem
200,000
context_switch/s
13
Problem - Overhead
Kernel
Space
User
Space
prev_pid
prev_comm
next_pid
next_comm
sched_switch_args
14
Solution – In Kernel Aggregation
Use eBPF to aggregate data in kernel
space
Use a dynamic window to take
aggregated data at intervals
Deal with one event instead 200k
15
Container
C
Container
B
Container
A
User Space Power Attribution
16
Container
C
Container
B
Container
A
PMC
PMC
PMC
User Space – Power Attribution
17
BPMC
APMC CPMCBPMC
User Space – Power Attribution
18
BPMC
APMC CPMCBPMC
User Space – Power Attribution
19
BPMC
APMC CPMCBPMC
Hyper Thread – Overlapped Cycles
20
Multiply by a
factor of 1.1
Thread1
Thread2
Time
Cycleoverlap
DEEP-mon CLI Interface
21
Container ID Cycles Exec. Time (s) Power (mW)
4fd630d438 1,756,600 0.0008 1.334
0eb34499da 47,514,323 0.0319 243.746
Kubernetes – Data Enrichment
22
CPU: 21 W
DRAM: 5W
CPU: 16 W
DRAM: 4W
Application Name
Hostname
IP Address
Namespace
DEEP-mon Dashboard
23
Benchmarks - Setup
24
Objective : Measure performance and power
consumption overhead introduced by the agent
2x Intel Xeon E5-2680 40 threads - 380GB RAM
Ubuntu 16.04 Linux 4.13 with eBPF support
HPC
Benchmark
Cloud
Benchmark
Phoronix
Test
Suite
NAS
Parallel
Benchmark
Execution Time Overhead
25
Phoronix Test SuiteNas Parallel Benchmark
3.8%
4.2%0.4%
0.4%
-2.05%
3.1%
NGINX - Latency
26
Latency # Requests Transfer Rate 99th
Latency
38.35 ms 8720 req/s 140.17 MB/s 1100.0 ms
41.62 ms 8793 req/s 141.08 MB/s 1130.0 ms
W/ Agent
W/O Agent
20 NGINX threads
20 wrk threads to generate load
30 consecutive runs
Setup
PTS Average Score
27
Average Score
Phoronix Test Suite
0.4%
0.3%
3.3%
Power Consumption Overhead
28
Phoronix Test SuiteNas Parallel Benchmark
0.22%
0.93%
1.56%
1.80%
0.45%
2.98%
Conclusions
29
Fine grained container power monitoring
Low overhead thanks to in-kernel aggregation
Validation of the approach with a cloud-like
and an HPC-like benchmark
Future Work
30
Impact on latency-sensitive applications
Adjust dynamic window for long running jobs
Integration with a power-aware orchestrator
https://necst.it/
https://www.slideshare.net/necstlab
Tommaso Sardelli {tommaso.sardelli@mail.polimi.it}
Rolando Brondolin {rolando.brondolin@polimi.it}
Marco D. Santambrogio {marco.santambrogio@polimi.it}
Thank You

More Related Content

DEEP-mon: Dynamic and Energy Efficient Power monitoring for container-based infrastructures