SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
DockerCap: a software-level power capping
orchestrator for Docker containers
A. Asnaghi, M. Ferroni, M. D. Santambrogio
2016 IEEE 14th International Conference on Embedded and Ubiquitous Computing (EUC)
Outline 2
• Introduction on Cloud and Fog Computing requirements
• Problem definition and proposed solution
• DockerCap design
• Resource control and partitioning policies
• Experimental results
• Conclusion and future work
3
Cloud
Fog
IoT
• Internet of Things (IoT) is experiencing a huge
hype these days
• IoT devices produce a massive amount of data
that need to be processed and stored
• This needs lead to the adoption of Cloud
Computing, but it may be not enough for
latency-sensitive and security-critical
applications
• Fog Computing takes the computation “at the
edge of the Cloud” by exploiting fog nodes
Introduction
4
➡ Power management techniques to control
power consumption
➡ Group applications inside
software containers
• Applications needs to be PORTABLE
between the Cloud and the Fog
• Nodes may be POWER CONSTRAINED
Cloud
Fog
Requirements
• Proposed approach:
➡ Resource management to tune applications’ performances with
respect to power consumption requirements
Heterogeneity
• Different hardware in both Cloud and Fog nodes
• Different applications patterns and requirements
• Colocation of many applications on the same node
5
Performance Power
Limit the
power consumption
of the machine
Guarantee
performance
for each application
Tradeoff: Power vs Performance
• Limit power consumption of a machine to a fixed “cap”
• Power capping allows to:
• increase server density in a cluster
• change the cap based on energy cost, that may
vary during the day
• non uniform capping used to improve cluster-level
efficiency
6
A first step: power capping
7
Hardware Power Capping
(i.e. Intel RAPL[1])
Software-level resource
management
Description
Exploits DVFS to control
power consumption
Manage the load of the system
to achieve the desired power
consumption
PRO
Very fast
(~350ms [1])
It is possible to control
performances of
applications
CONS
No control over
performances of
applications
Slow compared to RAPL
(double digit degradation)
Power capping solutions
[1] Efraim Rotem, Alon Naveh, Avinash Ananthakrishnan, Doron Rajwan and Eliezer Weissmann. Power-management
architecture of the intel microarchitecture code-named sandy bridge. IEEE micro, (2):20–27, 2012
PROPOSED APPROACH
8
Proposed solution
• A power-aware orchestrator for Docker containers
• Manage resources to meet the power
consumption goal
• A policy-based system
• Guarantee performances of the containers
while staying under the power cap
9
Background - Docker containers
• Group the application and all its dependencies
in a single entity
• The host operating system sees a Docker
container as a group of processes
• Lightweight footprint and minimal overhead
• Version control and component reuse
• It exploits some kernel features to provide its
functionalities
(e.g. cgroups, namespaces, unified file system)
10
System design
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
11
Observe phase
Power samples from
Intel RAPL
Resource allocation of the
containers from Docker and
cgroups
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
12
Decide phase
Resource Partitioning
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
Resource Control
13
Act phase
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
Actuation through the
cgroup hierarchy for
each container
14
System design
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
15
Decide phase
Resource Partitioning
Observe
Queue Act
Queue
Act Component
CGroup
Observe Component
Docker
Containers
RAPL
Decide Component
Policy1 Policy2 Policy3
Resource Control
16
{
Control theory
17
Resource control
100%
CPU quota cap
available resource
With the feedback control loop logic, we find the
allocation of resources that ensures the power cap
18
Resource partitioning
Containers: C1 C2 C3 C4
?
We explore three different partitioning policies:
• Fair resource partitioning
• Priority-aware resource partitioning
• Throughput-aware resource partitioning
100%
CPU quota cap
available resource
• The quota Q is evenly partitioned across all the containers
• No control over the throughput of a single container
19
1. Fair resource partitioning
100%
CPU quota cap
Containers: C1 C2 C3 C4
Q/4 Q/4 Q/4 Q/4
20
2. Priority-aware partitioning
100%
CPU quota cap
Containers:
• The quota Q is partitioned following the priority of each container
• The quota of the single container is estimated through a weighted mean,
where every priority has its own associated weight
High priority:
Low priority:
C1
HIGH LOW
C2 C3 C4
LOW LOW
21
Throughput-aware resource partitioning
C3 C4Best effort:
+ SLO1
+ SLO2
SLO1 SLO2
100%
CPU quota cap
Containers:
High priority:
Low priority:
C1
C2
BE BE
• The quota Q is partitioned following the priority of each container and its
Service Level Objectives (SLO)
• SLO is here defined as the Time-To-Completion (TTC) of the task
22
Experimental setup
All the benchmark containers run simultaneously on the same node
HW OS
CONTAINER
ENGINE
RUNTIME
Intel Xeon
E5-1410
32GB RAM
Ubuntu 14.04
Linux 3.19.0-42
Docker 1.11.2 Python 2.7.6
BENCHMARK CONTAINERS
PARSEC DESCRIPTION
fluidanimate fluid dynamics simulation generic CPU-bound
x264 video streaming encoding e.g., video surveilance
dedup compression cloud-fog communication
23
Goals of the experiments
The comparison is done with the state of the art power capping solution RAPL by Intel[1]
PERFORMANCES OF THE
CONTAINERS
PRECISION OF THE POWER
CAPPING
allocate resource to meet
containers’ requirements
manage machine
power consumption
24
Precision of the power capping
• Comparable results in terms
of average power
consumption under the
power cap
• As expected, RAPL provides
a more stable power capping
•Fair
•Priority-aware
•Throughput-aware
•RAPL
25
Performances: Fair Partitioning vs RAPL
• Comparison between the
performance-agnostic approaches
• Performance metric:
Time To Completion
(lower is better)
Power cap: 30W
Power cap: 20W
Power cap: 40W
•dedup
•fluidanimate
•x264
Power cap: 30W
Power cap: 20W
Power cap: 40W
26
Performances: all policies
•dedup
•fluidanimate
•x264
• Comparison with the
performance-aware
approaches
• fluidanimate is set to
High Priority with a SLO
of 400s
• Performance metric:
Time To Completion
(lower is better)
Power cap: 30W
Power cap: 20W
Power cap: 40W
26
Performances: all policies
•dedup
•fluidanimate
•x264
• Comparison with the
performance-aware
approaches
• fluidanimate is set to
High Priority with a SLO
of 400s
• Performance metric:
Time To Completion
(lower is better)
Power cap: 30W
Power cap: 20W
Power cap: 40W
26
Performances: all policies
•dedup
•fluidanimate
•x264
• Comparison with the
performance-aware
approaches
• fluidanimate is set to
High Priority with a SLO
of 400s
• Performance metric:
Time To Completion
(lower is better)
27
Conclusion and future work
✓We presented DockerCap, a power-aware orchestrator
that manages containers’ resources
✓We showed how DockerCap is able to limit the power
consumption of the machine
✓We discussed three distinct partitioning policies and
compared their impact on containers’ SLO
FUTURE DIRECTIONS
• Exploit both HW and SW power capping
• Improve the precision of the power capping with
more refined modeling techniques [2]
• Compute the right allocation of resources online by
observing the performance of the containers
[2] Andrea Corna and Andrea Damiani. A scalable framework for resource consumption modelling: the MARC approach.
Master’s thesis. Politecnico di Milano, 2016. 

Any questions? 28
29
Resource-performance model
• We need to model the behaviour of the performance (Time-To-Completion)
with respect to the resources given (CPU Quota)
Static VS Dynamic resource management
• Static resource management:
• find an optimal allocation of resources for each tenant
• Dynamic resource management:
• manage at runtime the resources to satisfy your constraints
• In a multi-tenant context, static resource management could not
be a good choice:
• SLA may vary during time
• We may deploy at a different time other containers, thus
reconsidering the previous allocations
30
Backup - cgroups 31
Students, Professors are
cgroups, part of different
hierarchies (cpu, memory,
disk..)
A resource controller is
associated with a
hierarchy and handles a
specific task on a specific
resource
Control Groups [3] provide a mechanism for aggregating/partitioning sets of
tasks, and all their future children, into hierarchical groups with specialized
behaviour.
[3] https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

Contenu connexe

Tendances

Challenges and Opportunities for HPC Interconnects and MPI
Challenges and Opportunities for HPC Interconnects and MPIChallenges and Opportunities for HPC Interconnects and MPI
Challenges and Opportunities for HPC Interconnects and MPI
inside-BigData.com
 
Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014
Tsuyoshi OZAWA
 
80a disaster recovery
80a disaster recovery80a disaster recovery
80a disaster recovery
mapr-academy
 
70a monitoring & troubleshooting
70a monitoring & troubleshooting70a monitoring & troubleshooting
70a monitoring & troubleshooting
mapr-academy
 
55a remote cluster
55a remote cluster55a remote cluster
55a remote cluster
mapr-academy
 

Tendances (20)

Inside Microsoft's FPGA-Based Configurable Cloud
Inside Microsoft's FPGA-Based Configurable CloudInside Microsoft's FPGA-Based Configurable Cloud
Inside Microsoft's FPGA-Based Configurable Cloud
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
 
Typesafe spark- Zalando meetup
Typesafe spark- Zalando meetupTypesafe spark- Zalando meetup
Typesafe spark- Zalando meetup
 
Overview of the MVAPICH Project and Future Roadmap
Overview of the MVAPICH Project and Future RoadmapOverview of the MVAPICH Project and Future Roadmap
Overview of the MVAPICH Project and Future Roadmap
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 
Challenges and Opportunities for HPC Interconnects and MPI
Challenges and Opportunities for HPC Interconnects and MPIChallenges and Opportunities for HPC Interconnects and MPI
Challenges and Opportunities for HPC Interconnects and MPI
 
Irati goals and achievements - 3rd RINA Workshop
Irati goals and achievements - 3rd RINA WorkshopIrati goals and achievements - 3rd RINA Workshop
Irati goals and achievements - 3rd RINA Workshop
 
52 nfs
52 nfs52 nfs
52 nfs
 
58a migration
58a migration58a migration
58a migration
 
Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014
 
White paper: Software-Defined Networking Matrix Switching
White paper: Software-Defined Networking Matrix SwitchingWhite paper: Software-Defined Networking Matrix Switching
White paper: Software-Defined Networking Matrix Switching
 
80a disaster recovery
80a disaster recovery80a disaster recovery
80a disaster recovery
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
A Review of Storage Specific Solutions for Providing Quality of Service in St...
A Review of Storage Specific Solutions for Providing Quality of Service in St...A Review of Storage Specific Solutions for Providing Quality of Service in St...
A Review of Storage Specific Solutions for Providing Quality of Service in St...
 
Intelligent Placement of Datacenter for Internet Services
Intelligent Placement of Datacenter for Internet Services Intelligent Placement of Datacenter for Internet Services
Intelligent Placement of Datacenter for Internet Services
 
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
 
70a monitoring & troubleshooting
70a monitoring & troubleshooting70a monitoring & troubleshooting
70a monitoring & troubleshooting
 
Optimal load balancing in cloud computing
Optimal load balancing in cloud computingOptimal load balancing in cloud computing
Optimal load balancing in cloud computing
 
55a remote cluster
55a remote cluster55a remote cluster
55a remote cluster
 

Similaire à [EUC2016] DockerCap: a software-level power capping orchestrator for Docker containers

The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
Daniel Krook
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6
Sravanthi N
 

Similaire à [EUC2016] DockerCap: a software-level power capping orchestrator for Docker containers (20)

Run-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environmentsRun-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environments
 
Introductio to Docker and usage in HPC applications
Introductio to Docker and usage in HPC applicationsIntroductio to Docker and usage in HPC applications
Introductio to Docker and usage in HPC applications
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
HYPPO - NECSTTechTalk 23/04/2020
HYPPO - NECSTTechTalk 23/04/2020HYPPO - NECSTTechTalk 23/04/2020
HYPPO - NECSTTechTalk 23/04/2020
 
Kubernetes presentation
Kubernetes presentationKubernetes presentation
Kubernetes presentation
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 
Optimising Service Deployment and Infrastructure Resource Configuration
Optimising Service Deployment and Infrastructure Resource ConfigurationOptimising Service Deployment and Infrastructure Resource Configuration
Optimising Service Deployment and Infrastructure Resource Configuration
 
OCP Telco Engineering Workshop at BCE2017
OCP Telco Engineering Workshop at BCE2017OCP Telco Engineering Workshop at BCE2017
OCP Telco Engineering Workshop at BCE2017
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
 
BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
 
Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud Native
 
Lightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to FunctionsLightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to Functions
 
Update on Trinity System Procurement and Plans
Update on Trinity System Procurement and PlansUpdate on Trinity System Procurement and Plans
Update on Trinity System Procurement and Plans
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco Heaven
 

Plus de Matteo Ferroni

[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
Matteo Ferroni
 

Plus de Matteo Ferroni (6)

Fight data gravity with event-driven architectures
Fight data gravity with event-driven architecturesFight data gravity with event-driven architectures
Fight data gravity with event-driven architectures
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
 
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
 
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
 
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
 
[EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Andro...
[EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Andro...[EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Andro...
[EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Andro...
 

Dernier

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Dernier (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

[EUC2016] DockerCap: a software-level power capping orchestrator for Docker containers

  • 1. DockerCap: a software-level power capping orchestrator for Docker containers A. Asnaghi, M. Ferroni, M. D. Santambrogio 2016 IEEE 14th International Conference on Embedded and Ubiquitous Computing (EUC)
  • 2. Outline 2 • Introduction on Cloud and Fog Computing requirements • Problem definition and proposed solution • DockerCap design • Resource control and partitioning policies • Experimental results • Conclusion and future work
  • 3. 3 Cloud Fog IoT • Internet of Things (IoT) is experiencing a huge hype these days • IoT devices produce a massive amount of data that need to be processed and stored • This needs lead to the adoption of Cloud Computing, but it may be not enough for latency-sensitive and security-critical applications • Fog Computing takes the computation “at the edge of the Cloud” by exploiting fog nodes Introduction
  • 4. 4 ➡ Power management techniques to control power consumption ➡ Group applications inside software containers • Applications needs to be PORTABLE between the Cloud and the Fog • Nodes may be POWER CONSTRAINED Cloud Fog Requirements • Proposed approach: ➡ Resource management to tune applications’ performances with respect to power consumption requirements
  • 5. Heterogeneity • Different hardware in both Cloud and Fog nodes • Different applications patterns and requirements • Colocation of many applications on the same node 5 Performance Power Limit the power consumption of the machine Guarantee performance for each application Tradeoff: Power vs Performance
  • 6. • Limit power consumption of a machine to a fixed “cap” • Power capping allows to: • increase server density in a cluster • change the cap based on energy cost, that may vary during the day • non uniform capping used to improve cluster-level efficiency 6 A first step: power capping
  • 7. 7 Hardware Power Capping (i.e. Intel RAPL[1]) Software-level resource management Description Exploits DVFS to control power consumption Manage the load of the system to achieve the desired power consumption PRO Very fast (~350ms [1]) It is possible to control performances of applications CONS No control over performances of applications Slow compared to RAPL (double digit degradation) Power capping solutions [1] Efraim Rotem, Alon Naveh, Avinash Ananthakrishnan, Doron Rajwan and Eliezer Weissmann. Power-management architecture of the intel microarchitecture code-named sandy bridge. IEEE micro, (2):20–27, 2012 PROPOSED APPROACH
  • 8. 8 Proposed solution • A power-aware orchestrator for Docker containers • Manage resources to meet the power consumption goal • A policy-based system • Guarantee performances of the containers while staying under the power cap
  • 9. 9 Background - Docker containers • Group the application and all its dependencies in a single entity • The host operating system sees a Docker container as a group of processes • Lightweight footprint and minimal overhead • Version control and component reuse • It exploits some kernel features to provide its functionalities (e.g. cgroups, namespaces, unified file system)
  • 10. 10 System design Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3
  • 11. 11 Observe phase Power samples from Intel RAPL Resource allocation of the containers from Docker and cgroups Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3
  • 12. 12 Decide phase Resource Partitioning Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3 Resource Control
  • 13. 13 Act phase Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3 Actuation through the cgroup hierarchy for each container
  • 14. 14 System design Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3
  • 15. 15 Decide phase Resource Partitioning Observe Queue Act Queue Act Component CGroup Observe Component Docker Containers RAPL Decide Component Policy1 Policy2 Policy3 Resource Control
  • 17. 17 Resource control 100% CPU quota cap available resource With the feedback control loop logic, we find the allocation of resources that ensures the power cap
  • 18. 18 Resource partitioning Containers: C1 C2 C3 C4 ? We explore three different partitioning policies: • Fair resource partitioning • Priority-aware resource partitioning • Throughput-aware resource partitioning 100% CPU quota cap available resource
  • 19. • The quota Q is evenly partitioned across all the containers • No control over the throughput of a single container 19 1. Fair resource partitioning 100% CPU quota cap Containers: C1 C2 C3 C4 Q/4 Q/4 Q/4 Q/4
  • 20. 20 2. Priority-aware partitioning 100% CPU quota cap Containers: • The quota Q is partitioned following the priority of each container • The quota of the single container is estimated through a weighted mean, where every priority has its own associated weight High priority: Low priority: C1 HIGH LOW C2 C3 C4 LOW LOW
  • 21. 21 Throughput-aware resource partitioning C3 C4Best effort: + SLO1 + SLO2 SLO1 SLO2 100% CPU quota cap Containers: High priority: Low priority: C1 C2 BE BE • The quota Q is partitioned following the priority of each container and its Service Level Objectives (SLO) • SLO is here defined as the Time-To-Completion (TTC) of the task
  • 22. 22 Experimental setup All the benchmark containers run simultaneously on the same node HW OS CONTAINER ENGINE RUNTIME Intel Xeon E5-1410 32GB RAM Ubuntu 14.04 Linux 3.19.0-42 Docker 1.11.2 Python 2.7.6 BENCHMARK CONTAINERS PARSEC DESCRIPTION fluidanimate fluid dynamics simulation generic CPU-bound x264 video streaming encoding e.g., video surveilance dedup compression cloud-fog communication
  • 23. 23 Goals of the experiments The comparison is done with the state of the art power capping solution RAPL by Intel[1] PERFORMANCES OF THE CONTAINERS PRECISION OF THE POWER CAPPING allocate resource to meet containers’ requirements manage machine power consumption
  • 24. 24 Precision of the power capping • Comparable results in terms of average power consumption under the power cap • As expected, RAPL provides a more stable power capping •Fair •Priority-aware •Throughput-aware •RAPL
  • 25. 25 Performances: Fair Partitioning vs RAPL • Comparison between the performance-agnostic approaches • Performance metric: Time To Completion (lower is better) Power cap: 30W Power cap: 20W Power cap: 40W •dedup •fluidanimate •x264
  • 26. Power cap: 30W Power cap: 20W Power cap: 40W 26 Performances: all policies •dedup •fluidanimate •x264 • Comparison with the performance-aware approaches • fluidanimate is set to High Priority with a SLO of 400s • Performance metric: Time To Completion (lower is better)
  • 27. Power cap: 30W Power cap: 20W Power cap: 40W 26 Performances: all policies •dedup •fluidanimate •x264 • Comparison with the performance-aware approaches • fluidanimate is set to High Priority with a SLO of 400s • Performance metric: Time To Completion (lower is better)
  • 28. Power cap: 30W Power cap: 20W Power cap: 40W 26 Performances: all policies •dedup •fluidanimate •x264 • Comparison with the performance-aware approaches • fluidanimate is set to High Priority with a SLO of 400s • Performance metric: Time To Completion (lower is better)
  • 29. 27 Conclusion and future work ✓We presented DockerCap, a power-aware orchestrator that manages containers’ resources ✓We showed how DockerCap is able to limit the power consumption of the machine ✓We discussed three distinct partitioning policies and compared their impact on containers’ SLO FUTURE DIRECTIONS • Exploit both HW and SW power capping • Improve the precision of the power capping with more refined modeling techniques [2] • Compute the right allocation of resources online by observing the performance of the containers [2] Andrea Corna and Andrea Damiani. A scalable framework for resource consumption modelling: the MARC approach. Master’s thesis. Politecnico di Milano, 2016. 

  • 31. 29 Resource-performance model • We need to model the behaviour of the performance (Time-To-Completion) with respect to the resources given (CPU Quota)
  • 32. Static VS Dynamic resource management • Static resource management: • find an optimal allocation of resources for each tenant • Dynamic resource management: • manage at runtime the resources to satisfy your constraints • In a multi-tenant context, static resource management could not be a good choice: • SLA may vary during time • We may deploy at a different time other containers, thus reconsidering the previous allocations 30
  • 33. Backup - cgroups 31 Students, Professors are cgroups, part of different hierarchies (cpu, memory, disk..) A resource controller is associated with a hierarchy and handles a specific task on a specific resource Control Groups [3] provide a mechanism for aggregating/partitioning sets of tasks, and all their future children, into hierarchical groups with specialized behaviour. [3] https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt