Top Banner
Energy efficiency in OpenStack clouds François Rossigneux [email protected] January 28, 2013 - Université du Luxembourg
37

Energy efficiency in OpenStack Clouds

Apr 13, 2015

Download

Documents

vbmade2000

Written by François Rossigneux of University of Luxembord.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Energy efficiency in OpenStack Clouds

Energy efficiencyin OpenStack clouds

François [email protected]

January 28, 2013 - Université du Luxembourg

Page 2: Energy efficiency in OpenStack Clouds

Summary

Context

Telemetry architecture

Scheduling / sleep modes (future works)

1

Page 3: Energy efficiency in OpenStack Clouds

Summary

Context

Telemetry architecture

Scheduling / sleep modes (future works)

2

Page 4: Energy efficiency in OpenStack Clouds

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

Context

4

Consortium:

Page 6: Energy efficiency in OpenStack Clouds

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

Summary

Context

Telemetry architecture

Scheduling / sleep modes (future works)

6

Page 8: Energy efficiency in OpenStack Clouds

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

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

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

Telemetry architectureDatacenter overview

10

Page 12: Energy efficiency in OpenStack Clouds

Telemetry architectureSoftware layers

11

Page 13: Energy efficiency in OpenStack Clouds

Telemetry architectureSoftware layers

12

Page 14: Energy efficiency in OpenStack Clouds

Telemetry architectureDrivers layer

13

Page 15: Energy efficiency in OpenStack Clouds

Telemetry architectureDrivers layer

14

Page 16: Energy efficiency in OpenStack Clouds

Telemetry architectureDrivers layer

Bus

15

Page 17: Energy efficiency in OpenStack Clouds

Telemetry architectureDrivers layer

Bus

16

Page 18: Energy efficiency in OpenStack Clouds

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

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

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

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

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

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

Telemetry architectureCeilometer overview

Nova scheduler

23

Page 25: Energy efficiency in OpenStack Clouds

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

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

Telemetry architectureVisualization plugin

26

Page 28: Energy efficiency in OpenStack Clouds

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

Telemetry architectureVisualization plugin

API example

/graph/minute/A

28

Page 30: Energy efficiency in OpenStack Clouds

Telemetry architectureVisualization plugin

API example

/graph/day/

29

Page 31: Energy efficiency in OpenStack Clouds

Summary

Context

Telemetry architecture

Scheduling / sleep modes (future works)

30

Page 32: Energy efficiency in OpenStack Clouds

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

SchedulingNova scheduler

32

Page 34: Energy efficiency in OpenStack Clouds

SchedulingNova scheduler

33

Page 35: Energy efficiency in OpenStack Clouds

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

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

Thank youfor your attention