Using Models@Run.time to embed an Energetic Cloud Simulator in a MAPE-K Loop. Edouard Outin October 16, 2014
. introduction
Intro Thesis is part of a larger project focuses on the multi-objective adaptation system Indeed 1 : aim to design and operate geo-distributed Cloud IRT b<>com : Institut de Recherche Technologique in Rennes, France Project partners: INRIA, INSA, ENSTA, Orange, UBO, Université Rennes 1 1 Infrastructure en Nuage Distribué Econome en Energie 2
Motivation Cloud more and more used: cloudification of everything Need to minimize the footprint of all those IT services optimal energy management Self-adaptation for a geo-distributed Cloud to be more energy-efficient Can be applied to other objectives: high availability moving processing and data closer to the user 3
ċontext
Distributed vs federated Federated: Multiple providers with distinct administration This different administrations are hidden through a global admin No modification of the stacks running each data-centers Distributed: Unique provider Managing different data-centers Same software stack 5
Energy management issue Data-centers: huge consumers of electricity More than 2% of the world consumption Different software techniques: VM consolidation DVFS Tuning apps Distribute workload accross regions Solution aimed: autonomic computing 6
Locks Using autonomic computing within a distributed Cloud can lead to technical and design issues Yet, Cloud is layered: from infrastructure to applications need of coordination between layers 7
Knowledge visibility Each agent has a partial view of the global system No centralized-omniscient module to orchestrate Nodes can leave/join during the time Distributed system: lack of global state 8
ċontribution
Validation via simulation Embed a simulation during execution Using models@runtime, we can desynchronize model And perform modifications Or investigate for configurations Then validate it 10
Simulation CloudSim doesn t meet all our requirements minimalist network and app modelization uses discrete time cannot be embedded at runtime Emphasis on offline simulation Decided to design a dedicated simulator 11
KMF Kevoree Modeling Framework generates modeling frameworks generates API for JS and JVM platforms offers comparison, merge and incremental synchronisation mechanisms tuned for Runtime use Built our simulator using KMF, with an emphasis on energy and network Model class powercloud. DistributedCloud { @id name : S t r i n g @id version : S t r i n g @contained c l u s t e r s : powercloud. Datacenter [0, * ] @contained routers : powercloud. NetworkConfiguration @contained pmspecs : powercloud. PowerManagementSpec [ 0, * ] @contained apps : powercloud. Apps } class powercloud. Datacenter { @id name : S t r i n g @id version : S t r i n g @contained routers : powercloud. Router [0, * ] @contained nodes : powercloud. HostNode [0, * ] }... 12
Integration Goal is to build this adaptation system on top of OpenStack Monitoring : Ceilometer, Kwapi, Neutron Analysis : metrics aggregation + identify issues Planning : simulation + generating orchestration template Execution : Heat 13
ḟuture work
Coordination Avoid centralized decision making process Coordination of multiple MAPE-K loops Different MAPE-K design patterns : Figure: Regional Planning Pattern Figure: Hierarchical Control Pattern 15
Experiment Distributed OpenStack on 3 sites at b<>com Grid 5000 16
References 1. Worldwide electricity used in data centers, Jonathan G Koomey, L. Berkeley National Laboratory 2. On patterns for decentralized control in self-adaptive systems Weyns et al. 3. http://www.cloudbus.org/cloudsim/ 4. A Native Versioning Concept to Support Historized Models at Runtime Thomas Hartmann, Francois Fouquet, Gregory Nain, Brice Morin, Jacques Klein, Olivier Barais, Yves Le Traon 5. http://kevoree.org/kmf/ 17
Questions? 18