CMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
Energy efficiency in OpenStack Clouds
-
Upload
vbmade2000 -
Category
Documents
-
view
24 -
download
2
description
Transcript of Energy efficiency in OpenStack Clouds
![Page 1: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/1.jpg)
Energy efficiencyin OpenStack clouds
François [email protected]
January 28, 2013 - Université du Luxembourg
![Page 2: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/2.jpg)
Summary
Context
Telemetry architecture
Scheduling / sleep modes (future works)
1
![Page 3: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/3.jpg)
Summary
Context
Telemetry architecture
Scheduling / sleep modes (future works)
2
![Page 4: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/4.jpg)
Context
XLcloud:- HPC-as-a-Service (based on OpenStack)- Funded by the "Fonds national pour la Société Numérique"- Three-year long collaborative project- Open source license
Some features:- GPU virtualization- Green scheduling- Power consumption based billing
3
![Page 5: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/5.jpg)
Context
4
Consortium:
![Page 6: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/6.jpg)
Context
Our team is working on energy topics:- Telemetry (taking measurements)- Scheduling (placing virtual machines)- Turning off unused machines (sleep modes)
5
![Page 7: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/7.jpg)
Summary
Context
Telemetry architecture
Scheduling / sleep modes (future works)
6
![Page 8: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/8.jpg)
Telemetry architectureOpenStack overview
OpenStack main components:- Compute (Nova)- Object Storage (Swift)- Block Storage (Cinder)- Networking (Quantum)- Identity (Keystone)- Dashboard (Horizon)
Recently added:- Metering / billing (Ceilometer)
Incubation:- Energy (Kwapi)
7
![Page 9: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/9.jpg)
Telemetry architectureOpenStack overview
OpenStack main components:- Compute (Nova)- Object Storage (Swift)- Block Storage (Cinder)- Networking (Quantum)- Identity (Keystone)- Dashboard (Horizon)
Recently added:- Metering / billing (Ceilometer)
Incubation:- Energy (Kwapi)
8
![Page 10: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/10.jpg)
Telemetry architectureOpenStack overview
OpenStack main components:- Compute (Nova)- Object Storage (Swift)- Block Storage (Cinder)- Networking (Quantum)- Identity (Keystone)- Dashboard (Horizon)
Recently added:- Metering / billing (Ceilometer)
Incubation:- Energy (Kwapi)
9
![Page 11: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/11.jpg)
Telemetry architectureDatacenter overview
10
![Page 12: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/12.jpg)
Telemetry architectureSoftware layers
11
![Page 13: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/13.jpg)
Telemetry architectureSoftware layers
12
![Page 14: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/14.jpg)
Telemetry architectureDrivers layer
13
![Page 15: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/15.jpg)
Telemetry architectureDrivers layer
14
![Page 16: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/16.jpg)
Telemetry architectureDrivers layer
Bus
15
![Page 17: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/17.jpg)
Telemetry architectureDrivers layer
Bus
16
![Page 18: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/18.jpg)
Telemetry architectureBus frameworks
ZeroMQ (used in Kwapi):- Very fast- Small (1.6 Mo)- Written in C++ (provide a Python wrapper)- Socket types: inproc, ipc, tcp- Reliable / preserves order of messages- Simple to use design patterns (publish/subscribe, request/response, ...)- Brokerless
RabbitMQ (used in OpenStack):- Much more slower (10x)- Require Erlang (70 Mo)- Broker
Sockets (without framework):- Why reinvent the wheel?
17
![Page 19: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/19.jpg)
Publish/subscribe design pattern
Publishers
Subscribers
Telemetry architectureZeroMQ design pattern
Driver thread
Plugin Plugin
tcp://0.0.0.0:8000
18
![Page 20: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/20.jpg)
Publishers and subscribers need common endpoints
?
Subscribers
Publishers
Telemetry architectureZeroMQ design pattern
Driver thread Driver thread Driver thread
Plugin Plugin
19
![Page 21: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/21.jpg)
Forwarding device:- Subscribes to inproc://drivers- Publishes all received packets on tcp://140.77.13.25:8000
Publishers
Subscribers
Telemetry architectureZeroMQ design pattern
Driver thread Driver thread Driver thread
Forwarding device
Plugin Plugin
tcp://140.77.13.25:8000
inproc://drivers
20
![Page 22: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/22.jpg)
Machine A
Telemetry architectureZeroMQ design pattern
Subscribers can listen multiple endpoints
Machine A
Driver thread
Forwarding device
Plugin
Driver thread
Forwarding device
Machine B
Driver thread Driver thread
inproc://driversinproc://drivers
ipc:///tmp/kwapi tcp://140.77.13.25:8000
21
![Page 23: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/23.jpg)
Telemetry architectureBus messages format
Python dictionary:
Three mandatory fields:- Probe ID- Watts- Signature
Signature based on a shared secret key
Probe ID Payload(watts, volts, amperes...) Signature
22
![Page 24: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/24.jpg)
Telemetry architectureCeilometer overview
Nova scheduler
23
![Page 25: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/25.jpg)
Telemetry architectureAPI plugin
Collector:- Collects power consumption data- Computes kWh and stores the last value (watts)
API (based on Flask):/v1/probe-ids/ The list of probe ids
/v1/probes/ All detailed information about all probes
/v1/probes/A/ Detailed information about probe A
/v1/probes/A/kwh Energy consumed by probe A
Authentication:- The pollster provides a token (X-Auth-Token)- The plugin checks the token (Keystone request)- If the token is valid, requested data are sent
24
![Page 26: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/26.jpg)
Telemetry architectureCeilometer pollster
Pollster:- Is run periodically by Ceilometer central agent- Asks to Keystone the Ceilometer plugin address- Retrieves data- Publishes kWh and watts counters
Collector stores published counters
API is queried by the Nova Scheduler to make a placement decision
25
![Page 27: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/27.jpg)
Telemetry architectureVisualization plugin
26
![Page 28: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/28.jpg)
Telemetry architectureVisualization plugin
Writes power consumption into RRD files:- Severals archived periods with different resolutions- RRD file size = 10 Ko (1000 probes = 10 Mo)
Webpage based on Flask:- Two visualization modes (per periods and per probes)- Summary graphs- Cache mechanism (rebuild graph only if outdated)
27
![Page 29: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/29.jpg)
Telemetry architectureVisualization plugin
API example
/graph/minute/A
28
![Page 30: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/30.jpg)
Telemetry architectureVisualization plugin
API example
/graph/day/
29
![Page 31: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/31.jpg)
Summary
Context
Telemetry architecture
Scheduling / sleep modes (future works)
30
![Page 32: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/32.jpg)
SchedulingChoosing the greenest place
Where is the greenest place to run your job?
It depends on your job:CPU / GPU / memory / storage / network intensive ?Hard to estimate: vary over time, external events...
Approach: use a benchmark for efficiency rating.
31
![Page 33: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/33.jpg)
SchedulingNova scheduler
32
![Page 34: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/34.jpg)
SchedulingNova scheduler
33
![Page 35: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/35.jpg)
Turning off unused machines
34
Using power saving modes:
- Which mode to choose?=> Standby / hibernation
- How many machines should be turned off?=> Anticipating demand and avoiding frequent shutdown / start-up cycles
- How much energy does it save? Is it profitable?=> Peak start-up power
- Avoiding too frequent shutdown / start-up cycles=> Sparing the old computers, but they are the least efficient ones
![Page 36: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/36.jpg)
Conclusion
35
Telemetry:- Writing more drivers- Improving scalability
Scheduling and sleep modes:- Implementing the strategies- Live VM migration
Measuring energy with wattmeters is not all:- What about the energy needed to build or recycle the servers?
- What about PUE (on a distributed architecture ?)
![Page 37: Energy efficiency in OpenStack Clouds](https://reader030.fdocuments.in/reader030/viewer/2022020207/552b2e674a7959ff578b45e5/html5/thumbnails/37.jpg)
Thank youfor your attention