1 / 22

Policy-Based Scheduling: Improving Resources Provisioning In OpenStack

Policy-Based Scheduling: Improving Resources Provisioning In OpenStack . Khanh-Toan TRAN ( R&D Engineer) khanh-toan.tran@cloudwatt.com. May 12 th , 2014 Atlanta. Outline. Motivation Why Smart Placement ? Current Openstack Provisioning Overview Limitation Proposed Policy-Based Scheduler

cindy
Download Presentation

Policy-Based Scheduling: Improving Resources Provisioning In OpenStack

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Policy-Based Scheduling: Improving Resources Provisioning In OpenStack Khanh-ToanTRAN (R&D Engineer) khanh-toan.tran@cloudwatt.com May 12th, 2014 Atlanta

  2. Outline • Motivation • Why Smart Placement ? • Current Openstack Provisioning • Overview • Limitation • Proposed Policy-Based Scheduler • Usecases & Demo • Meta-scheduling

  3. Motivation

  4. Smart Placement Expectations • For the clients perspective • Contract guarantee • Transparency • Better experience • More services, more offers • Attractive price • For the cloud provider perspective • Flexible scheduling • Scheduling per client • Scheduling per resources • Scheduling per context • Capable of realizing different admin objectives and operations • Efficient and simplified control and management by policies

  5. Smart Placement Big Picture Clients High-level requirements Security policies Regulation Environmental info Smart Placement Environmental info Client contract Infrastructure info Cloud provider operation Compute, storage and network nodes, etc OpenStack OpenStack … Datacenter 1 Datacenter 2 Datacenter n

  6. Overview of the EXISTING Openstack Provisioning

  7. Placement in Openstack: FilterScheduler 1 VM 2VCPU, 2GB RAM Service=gold Request • Openstack Nova: • Scheduling Module : Driver • Default driver: FilterScheduler • Filters out hosts that are not admissible to hosts the VMs (Filter). • Weighs the remaining hosts following their capacity (Weigher) Nova-scheduler Filter_Scheduler Filter Weigh Filter Weigh Weigh Filter Weighing Filtering Compute 4 8VCPU; 4GB RAM Compute 4 8VCPU; 8GB RAM weight = 4 • Compute 2 • 3VCPU; 4Go Service=gold Compute 3 4VCPU; 1GB RAM Compute 3 4VCPU; 1GB RAM weight = 8 Service=gold Compute 2 3VCPU; 4GB RAM Compute 2 3VCPU; 4GB RAM • Compute 1 • 8VCPU; 8Go Service=gold Compute 1 8VCPU; 8GB RAM Compute 1 8VCPU; 8GB RAM

  8. FilterScheduler Limitations Unfeasible • Example: • A cloud service provider wishes to apply the global Load Balancing policy to the whole datacenter and a local Consolidation policy to a cluster of hosts. • Static scheduling • Difficult to answer to admin’s various objectives • Ineffective in management in different situations (maintenance, failure, breakout, catastrophe…) • Lack of client context • No consideration for each client requirements • Client contract is not taken into account • Lack of consideration for infrastructure • Unable to provide fine-grain scheduling

  9. Two-step approach for the situation improvement • Short term • Policy-based scheduling solution (incremental): Enhancing the existing Nova-centric architecture. • Mid / Long term • Meta-scheduling solution (disruptive): independent scheduling service for OpenStack on top of Nova, Cinder and Neutron.

  10. Policy-Based Scheduling (short term)

  11. Policy-Based Scheduling Module Client request Nova-scheduler • Decoupling the scheduling logic and the execution domain • The scheduling logic is represented as Rule: Target – Effect – Condition with correspondent Plugins. • Rules are stored in Policy Repository (PR) • Policy-Based Scheduling Engine (PBSE) consults the Policy Repository to find and execute the suitable rules • Policy-Based Scheduler (PBS) is the proxy between Nova-scheduler and PBSE Policy-Based Scheduler (PBS) Policy Repository Policy-Based Scheduling Engine (PBSE) Plugin Plugin Plugin Filter Weigh Filter Weigh Weigh Filter

  12. Policy-Based Scheduling Client request Nova-scheduler Service_Class_Plugin Policy-Based Scheduler (PBS) Policy Repository Policy-Based Scheduling Engine (PBSE) LoadBalancing_Plugin Plugin Plugin Plugin Filter Weigh Consolidation_Plugin Filter Weigh Weigh Filter

  13. Policy-Based Scheduling Load-Balancing Consolidation Availability-Zone-1 Availability-Zone-2 Aggregate-1 Aggr-2 Aggr-3 Server-01 Server-02 Server-03 Server-04

  14. Use cases & demo

  15. Usecases and Demo • Use Cases 1: Respecting the regulation • A French medical company wants that all their VMs and data are hosted in France as requested by French authority • All VMs are initiated in France zone regardless of the choice of the users (e.g. employees) • Use Case 2: Enforcing the client contract • A client signs a gold contract • All his VMs are initiated in the gold zone with high-end equipments (e.g. high freq. CPU, high-mem, SSD storage…) • Use Case 3: Reducing software licences • A cloud provider signs a contract with an ISV which charges the license fee based on the number of hardware • Admin wants to apply 2 policies: • A global Load-Balancing policy in all his datacenter to favor the load sharing and limiting the overload • A local Consolidation policy in the zone dedicated to the software to reduce the number of charged physical servers

  16. META-Scheduling (MID / LONG term)

  17. Meta-Scheduling Policy-Based Scheduler blueprint: https://blueprints.launchpad.net/nova/+spec/policy-based-scheduler

  18. Meta-Scheduling

  19. Meta-Scheduling

  20. Meta-Scheduling

  21. Related works • Scheduler service: Gantt • https://blueprints.launchpad.net/nova/+spec/scheduler-lib • https://blueprints.launchpad.net/nova/+spec/remove-cast-to-schedule-run-instance • Remove DB between scheduler and compute nodes • https://blueprints.launchpad.net/nova/+spec/no-db-scheduler • Instance Group API • https://blueprints.launchpad.net/nova/+spec/instance-group-api-extension • Support for Multiple Active Schedulers • https://blueprints.launchpad.net/nova/+spec/multiple-scheduler-drivers • SolverScheduler • https://blueprints.launchpad.net/nova/+spec/solver-scheduler

  22. Policy-Based Scheduler blueprint: https://blueprints.launchpad.net/nova/+spec/policy-based-scheduler Thanks for your attention khanh-toan.tran@cloudwatt.com

More Related