Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

Auto-scaling deadline constrained workloads in containers in the cloud

Download to read offline

MiCADO is an auto-scaling framework for Docker containers, orchestrated by Kubernetes. It supports autoscaling at two levels. At virtual machine (VM) level, a built-in Kubernetes cluster is dynamically extended or reduced by adding/removing cloud virtual machines. At Kubernetes level, the number of replicas tied to a specific Kubernetes Deployment can be increased/decreased.

www.project-cola.eu
www.micado-scale.eu

Presentation made by:
Jay DesLauriers
Research Associate,
University of Westminster

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Auto-scaling deadline constrained workloads in containers in the cloud

  1. 1. Auto-scaling deadline- constrained workloads in containers in the cloud Jay DesLauriers Research Associate, University of Westminster
  2. 2. Project COLA June 5th 2019 www.project-cola.eu 2 • Horizon 2020 • 33 months • Completion September 2019 • 14 Partners in 6 Countries • 10 SME/Public Sector • 4 HE/Research Institutions This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 731574
  3. 3. Head in the clouds June 5th 2019 www.project-cola.eu 3 On-Premise Capital Expense High Upfront Cost High Maintenance Cost Off-Premise Pay-as-you-go No Upfront Cost No Maintenance Cost
  4. 4. A match made in ... June 5th 2019 www.project-cola.eu 4 Containers Operating-system virtualisation and application packaging for reusable, portable software
  5. 5. The Problem June 5th 2019 www.project-cola.eu 5 Application 1 Application 2 Application N Service 1 Service 2 Service 3 Service 4 Service 5 Baseline resource consumption Variable resource consumption Cloud services Dynamic demand Manually adjusted supply Resource requirements To be replaced by automatically adjusted supply Some requirements: • Dynamic Supply (auto-scaling) • Vendor–free • Modular • Flexible • Secure
  6. 6. Finding a solution... June 5th 2019 www.project-cola.eu 6
  7. 7. The Solution June 5th 2019 www.project-cola.eu 7 cAdvisor Orchestrate VMs Monitor VMs & containers Translates ADT Enforces scaling Orchestrate containers Occopus Prometheus Submitter Policy Keeper Kubernetes TOSCA Application Description Template (ADT) Describes application, infrastructure, scaling policies, security policies Export VM/ container metrics Container Runtime MiCADO MASTER NODE MiCADO WORKER NODE ML based optimisation Optimiser Node Exporter Docker
  8. 8. Scaling Use-Case No.1 June 5th 2019 www.project-cola.eu 8 • Resource intensive services • Typically CPU/memory –bound apps/services • Containers & underlying VMs scale to meet demand
  9. 9. Scaling Use-Case No.2 ... ? June 5th 2019 www.project-cola.eu 9 • Multi-job experiments • Typically batch/parameter sweep jobs • Containers/VMs scale to complete jobs by deadline • Where do we put the jobs? • How do we execute them (in containers!) MICADO MASTER ADT: infrastructure and scaling rules End user MiCADO Submitter Policy Keeper (Scaling logic) cqueue worker MICADO WORKER cqueue workerJobs Scale up/ down jQUEUER MASTER jQueuer Agent Jobs experiment .json Container and Cloud Orchestrator MICADO <insert queue here>
  10. 10. JQueuer June 5th 2019 www.project-cola.eu 10 • Asynchronous Distributed Task Queue • Master Component • Runs externally • Queue & monitoring • Agent Component • Runs on worker VMs • Fetch & execute jobs MICADO MASTER ADT: infrastructure and scaling rules End user MiCADO Submitter Policy Keeper (Scaling logic) cqueue worker MICADO WORKER cqueue workerJobs Scale up/ down jQUEUER MASTER jQueuer Agent Jobs experiment .json Container and Cloud Orchestrator MICADO
  11. 11. JQueuer Metrics June 5th 2019 www.project-cola.eu 11 Metrics exported to MiCADO for scaling: Queue length Jobs completed Jobs failed Jobs running Jobs remaining Time elapsed Average job length Time to deadline
  12. 12. The experiment June 5th 2019 www.project-cola.eu 12 Determining the impact of changes in behavior on the spread of a disease across a population
  13. 13. Experiment design June 5th 2019 www.project-cola.eu 13 • Agent-based simulation • Repast Simphony • Three agents • Infected • Susceptible • Recovered • Simulate movement & interaction of agents in an environment
  14. 14. Manual job allocation (baseline) June 5th 2019 www.project-cola.eu 14 200 jobs VM 3 Repast 3 1-hour to complete all jobs VM 4 Repast 4 VM 1 Repast 1 VM 2 Repast 2 VM 5 Repast 5 equal distribution 40x jobs per VM
  15. 15. Automatic job allocation (MiCADO) June 5th 2019 www.project-cola.eu 15 experiment.json JQueuer Manager MiCADO Worker 1 JQueuer Agent Repast 1 MiCADO Master 200 jobs MiCADO Worker 2 JQueuer Agent Repast 2 MiCADO Worker n JQueuer Agent Repast n 1-hour deadline
  16. 16. Results June 5th 2019 www.project-cola.eu 16 • Dynamic allocation of variable length jobs results in a better use of cloud resources Manually Allocated Allocated by MiCADO Manually Allocated Allocated by MiCADO Manual allocation (baseline) Dynamic allocation (MiCADO) 5 VMs 3.86 VMs
  17. 17. Thanks! June 5th 2019 www.project-cola.eu 17 • github.com/micado-scale/ansible-micado • project-cola.eu/ • T. Kiss, J. DesLauriers, G. Gesmier et al., A cloud-agnostic queuing system to support the implementation of deadline-based application execution policies, Future Generation Computer Systems (2019), https://doi.org/10.1016/j.future.2019.05.062 This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 731574 Project Director: Dr. Tamas Kiss, University of Westminster, UK

MiCADO is an auto-scaling framework for Docker containers, orchestrated by Kubernetes. It supports autoscaling at two levels. At virtual machine (VM) level, a built-in Kubernetes cluster is dynamically extended or reduced by adding/removing cloud virtual machines. At Kubernetes level, the number of replicas tied to a specific Kubernetes Deployment can be increased/decreased. www.project-cola.eu www.micado-scale.eu Presentation made by: Jay DesLauriers Research Associate, University of Westminster

Views

Total views

48

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×