SlideShare a Scribd company logo
1 of 22
Towards a Unified Resource
Placement Service for OpenStack
             Senhua Huang
         senhuang@cisco.com
     Office of the Cloud CTO – Lew
      Tucker, Cisco Systems, Inc.
Motivation: A Use Case
• Application driven requirements from tenants
  – Scalable, Elastic, Easily accessible
  – High performance
  – Pay as you go

              Applications

    Persistent and reliable data store
                          infra
Motivation: A Use Case
• Application driven requirements from tenants
  –   Scalability
  –   Elasticity
  –   Accessibility
  –   High performance
                Applications

      Persistent and reliable data store
                            infra
*-as-a-Service Provided by OpenStack

  Compute              Nova         ✔
                   Glance (image)

                   Swift (object)
  Storage

                   Cinder (block)   ✔

  Network            Quantum
Let me take care of compute!
         Nova




                                             3
                1    2




Host-1              Host-2                       Host-n
Let me take care of storage!
             Cinder




                                   3
         1
                                                           3
                      1    2
         2




Host-1                    Host-2                               Host-n
3
         1
             1
                              3
             2
         2




Host-1           Host-2           Host-n
Bad placement hurts!
• Network resource is wasted
• Application performance suffers
  – Unpredictability
  – Delay
  – Throughput
• Reliability suffers
• Why not use host filters step-by-step
  – Might not work
  – Lose easy accessibility
An example of good placement




 1                        2                3
         1
                              3
             2




Host-1           Host-2           Host-n
How do we get there?
On the way: >15 proposals
•   Network awareness (Monday 4:30 pm)
     – Network proximity (Gary Kotton)
•   Nova scheduler features (Tuesday 11:00 am)
     – Add whole host allocation capability to Nova (Phil Day)
     – The future of the scheduler (Andrew Laski)
     – Coexistence of different schedulers (Alex Glikson)
     – Utilization based scheduling (Revngvit Yanggratoke)
     – Utilization aware scheduling (Don Dugger)
     – Rack aware scheduling (Phil Day)
     – Extend the Nova Scheduler view of mutable resource (Phil Day)
     – Make scheduler host state extensible (David Scannell)
     – List supported scheduler hints via API (Phil Day)
•   Group Scheduling (Tuesday 1:50 pm)
     – Placement groups in Nova (Alex Glikson)
     – VM Ensembles (Group Scheduling) API (Gary Kotton and Gilad Zlotkin)
•   Scheduling across nova/cinder/networking (this session)
     – Scheduling across nova/cinder/networking (Alex Glikson)
     – Unified resource placement module for OpenStack (Senhua Huang)
•   The future of state management in nova (Joshua Harlow) (Tuesday 3:40 pm)
•   Related previous proposals:
     – Donabe container concept/API by Debo Dutta and et al.: Demo on Thursday April 18!
Two possible approaches
• An incremental improvement on the coordination
  between Nova and Cinder
  – Nova/Cinder decides their own resource selection
  – Transfer message about scheduling between them
  – Maybe a shared library for common scheduling codes
• A separate module for resource selection and
  capability cache
  – Having a central place to collect all capability
    information
  – Handle the complexity/scalability at this module
Unified Placement and Orchestrator

              User Facing API


         Resource
config                  Capability              Orchestrator/
         Selection
                         Cache                Provision Manager
          Engine




                                     Quantu   Ceilom
                Nova        Cinder
                                       m       eter
Components
• RSE
  – Runs resource selection algorithms to calculate
    placement results
• Capability cache
  – Collects and represents the available capabilities of
    infrastructure resources (“things” that are provision-
    able)
• Orchestrator
  – Manage the work flow of provisioning the selected
    resources
  – One possible solution from Y!/NTT Data
User request specs
                                • Individual instances with
                                  different types (currently
                                  storage and server)
                                • Each instance has a set of
                                  request specs
affinity
  affinity
                anti-
                  anti-            – Image/flavor/size/…
    affinity    affinity
                  affinity      • Instances can be in a
                                  grouping relationship
                                • Each grouping has a set of
   server
                     grouping     request specs
   storage
                                   – Affinity rules/…
Capability cache
• Capabilities of compute/volume hosts
    – Memory, CPU, disk
    – Network interface
• Topology/Inventory information
    – Rack #, Cluster #, neighboring nodes
•   Quantitative capabilities: updated periodically
•   Qualitative capabilities
•   Networking resources
•   This component can be used for many other
    purposes
RSE
• Various algorithms
  – Different optimization objectives
    (reliability, performance, usage efficiency, energy, etc.)
  – Heuristics: trade-off between performance and
    complexity
• Extensible
  –   Easy to plug and play any algorithm admin desires
  –   Easy to contribute and innovate
  –   As stateless as possible
  –   No need to worry about framework etc.
Interface
• User/Tenant
  – Similar to other OpenStack services
  – REST API for CRUD
  – Keystone for authentication/authorization
• Nova/Cinder/…
  – Choice-1: REST API
  – Choice-2: RPC/Message queue
• Enhancement feature
  – Group scheduling
Interface w/ Orchestrator
• RSE decides which host to place each instance
  of the request
  – {instance: host}
• Orchestrator calls Nova/Cinder scheduler to
  create instance on the specified host
  – Failure handling
  – Revert
• What about update/delete operation?
Work Plan
• Maybe first start as a feature within Nova
  – nova/rse
  – nova/cap
• Optional services to user/tenant
  – Exposed as API extensions in Nova
  – Use existing REST APIs (available to admin) exposed by
    Nova and Cinder
• Made as another incubated project when it
  matures
• Prototype
  – Using availability-zone hint from Nova/Cinder
Road Map


            F1           F2             F3




• F1: Framework (API definition + design)
• F2: Compute + Storage scheduling
• F3: Grouped Compute + Storage scheduling
Thanks!

More Related Content

What's hot

Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
buildacloud
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
buildacloud
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
Murali Reddy
 
70a monitoring & troubleshooting
70a monitoring & troubleshooting70a monitoring & troubleshooting
70a monitoring & troubleshooting
mapr-academy
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
The Linux Foundation
 

What's hot (20)

CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS cloudsCloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
 
Leveraging Endpoint Flexibility in Data-Intensive Clusters
Leveraging Endpoint Flexibility in Data-Intensive ClustersLeveraging Endpoint Flexibility in Data-Intensive Clusters
Leveraging Endpoint Flexibility in Data-Intensive Clusters
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
 
Node.js at Joyent: Engineering for Production
Node.js at Joyent: Engineering for ProductionNode.js at Joyent: Engineering for Production
Node.js at Joyent: Engineering for Production
 
CloudStack technical overview
CloudStack technical overviewCloudStack technical overview
CloudStack technical overview
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
70a monitoring & troubleshooting
70a monitoring & troubleshooting70a monitoring & troubleshooting
70a monitoring & troubleshooting
 
No sql & dq2 tracer service
No sql & dq2 tracer serviceNo sql & dq2 tracer service
No sql & dq2 tracer service
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 
Scientific Computing - Hardware
Scientific Computing - HardwareScientific Computing - Hardware
Scientific Computing - Hardware
 
Reactive Supply To Changing Demand
Reactive Supply To Changing DemandReactive Supply To Changing Demand
Reactive Supply To Changing Demand
 
How swift is your Swift - SD.pptx
How swift is your Swift - SD.pptxHow swift is your Swift - SD.pptx
How swift is your Swift - SD.pptx
 
General Purpose GPU Computing
General Purpose GPU ComputingGeneral Purpose GPU Computing
General Purpose GPU Computing
 
3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-Day
 
Introduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developersIntroduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developers
 
Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...
Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...
Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...
 

Viewers also liked

O caligrama aida barco 1º a
O caligrama aida barco 1º aO caligrama aida barco 1º a
O caligrama aida barco 1º a
aidii19
 
Review feedback
Review feedbackReview feedback
Review feedback
jasondime
 
Excrepts of Small is Big 2012
Excrepts of Small is Big 2012Excrepts of Small is Big 2012
Excrepts of Small is Big 2012
ArtEstate India
 
Chairperson2014
Chairperson2014Chairperson2014
Chairperson2014
hilladmin
 
Clinical evaluation calciumkenwon
Clinical evaluation calciumkenwonClinical evaluation calciumkenwon
Clinical evaluation calciumkenwon
kenwon_
 
Clinical evaluation calcium
Clinical evaluation calciumClinical evaluation calcium
Clinical evaluation calcium
kenwon_
 
Neonati casa formisano
Neonati casa formisanoNeonati casa formisano
Neonati casa formisano
1MinuteClub
 

Viewers also liked (20)

O caligrama aida barco 1º a
O caligrama aida barco 1º aO caligrama aida barco 1º a
O caligrama aida barco 1º a
 
Avances tecnológicos
Avances tecnológicosAvances tecnológicos
Avances tecnológicos
 
Review feedback
Review feedbackReview feedback
Review feedback
 
Excrepts of Small is Big 2012
Excrepts of Small is Big 2012Excrepts of Small is Big 2012
Excrepts of Small is Big 2012
 
Chairperson2014
Chairperson2014Chairperson2014
Chairperson2014
 
Karlina om 12
Karlina om 12Karlina om 12
Karlina om 12
 
Clinical evaluation calciumkenwon
Clinical evaluation calciumkenwonClinical evaluation calciumkenwon
Clinical evaluation calciumkenwon
 
Bogdan Alecu: Playing buggy Codecamp
Bogdan Alecu: Playing buggy CodecampBogdan Alecu: Playing buggy Codecamp
Bogdan Alecu: Playing buggy Codecamp
 
Hidrocarburos
Hidrocarburos Hidrocarburos
Hidrocarburos
 
Resume-SAP-BO
Resume-SAP-BOResume-SAP-BO
Resume-SAP-BO
 
Clinical evaluation calcium
Clinical evaluation calciumClinical evaluation calcium
Clinical evaluation calcium
 
Pipb
PipbPipb
Pipb
 
Dieta e pressione arteriosa
Dieta e pressione arteriosaDieta e pressione arteriosa
Dieta e pressione arteriosa
 
El lenguaje periodistico
El lenguaje periodisticoEl lenguaje periodistico
El lenguaje periodistico
 
Derechos humanos
Derechos humanosDerechos humanos
Derechos humanos
 
Derechos humanos
Derechos humanosDerechos humanos
Derechos humanos
 
Derechos del ser humano
Derechos del ser humanoDerechos del ser humano
Derechos del ser humano
 
Neonati casa formisano
Neonati casa formisanoNeonati casa formisano
Neonati casa formisano
 
Medio ambiente y agricultura grupo 3
Medio ambiente y agricultura grupo 3Medio ambiente y agricultura grupo 3
Medio ambiente y agricultura grupo 3
 
Derechos humanos
Derechos humanosDerechos humanos
Derechos humanos
 

Similar to U rpm-v2

OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
Peeyush Gupta
 
Session 49 - Semantic metadata management practical
Session 49 - Semantic metadata management practical Session 49 - Semantic metadata management practical
Session 49 - Semantic metadata management practical
ISSGC Summer School
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky Note
ISSGC Summer School
 
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
 
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
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
Stephen Gordon
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
Yves Goeleven
 

Similar to U rpm-v2 (20)

Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
 
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin Presentation
 
(ATS4-PLAT06) Considerations for sizing and deployment
(ATS4-PLAT06) Considerations for sizing and deployment(ATS4-PLAT06) Considerations for sizing and deployment
(ATS4-PLAT06) Considerations for sizing and deployment
 
More Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit JunoMore Efficient Object Replication in OpenStack Summit Juno
More Efficient Object Replication in OpenStack Summit Juno
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
 
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - NitinSolr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
 
Session 49 - Semantic metadata management practical
Session 49 - Semantic metadata management practical Session 49 - Semantic metadata management practical
Session 49 - Semantic metadata management practical
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky Note
 
Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014Taming YARN @ Hadoop Conference Japan 2014
Taming YARN @ Hadoop Conference Japan 2014
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
 
Taming YARN @ Hadoop conference Japan 2014
Taming YARN @ Hadoop conference Japan 2014Taming YARN @ Hadoop conference Japan 2014
Taming YARN @ Hadoop conference Japan 2014
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
 
Cloud Native Patterns Using AWS
Cloud Native Patterns Using AWSCloud Native Patterns Using AWS
Cloud Native Patterns Using AWS
 
Cloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesCloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical Examples
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
My network functions are virtualized, but are they cloud-ready
My network functions are virtualized, but are they cloud-readyMy network functions are virtualized, but are they cloud-ready
My network functions are virtualized, but are they cloud-ready
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 

U rpm-v2

  • 1. Towards a Unified Resource Placement Service for OpenStack Senhua Huang senhuang@cisco.com Office of the Cloud CTO – Lew Tucker, Cisco Systems, Inc.
  • 2. Motivation: A Use Case • Application driven requirements from tenants – Scalable, Elastic, Easily accessible – High performance – Pay as you go Applications Persistent and reliable data store infra
  • 3. Motivation: A Use Case • Application driven requirements from tenants – Scalability – Elasticity – Accessibility – High performance Applications Persistent and reliable data store infra
  • 4. *-as-a-Service Provided by OpenStack Compute Nova ✔ Glance (image) Swift (object) Storage Cinder (block) ✔ Network Quantum
  • 5. Let me take care of compute! Nova 3 1 2 Host-1 Host-2 Host-n
  • 6. Let me take care of storage! Cinder 3 1 3 1 2 2 Host-1 Host-2 Host-n
  • 7. 3 1 1 3 2 2 Host-1 Host-2 Host-n
  • 8. Bad placement hurts! • Network resource is wasted • Application performance suffers – Unpredictability – Delay – Throughput • Reliability suffers • Why not use host filters step-by-step – Might not work – Lose easy accessibility
  • 9. An example of good placement 1 2 3 1 3 2 Host-1 Host-2 Host-n
  • 10. How do we get there?
  • 11. On the way: >15 proposals • Network awareness (Monday 4:30 pm) – Network proximity (Gary Kotton) • Nova scheduler features (Tuesday 11:00 am) – Add whole host allocation capability to Nova (Phil Day) – The future of the scheduler (Andrew Laski) – Coexistence of different schedulers (Alex Glikson) – Utilization based scheduling (Revngvit Yanggratoke) – Utilization aware scheduling (Don Dugger) – Rack aware scheduling (Phil Day) – Extend the Nova Scheduler view of mutable resource (Phil Day) – Make scheduler host state extensible (David Scannell) – List supported scheduler hints via API (Phil Day) • Group Scheduling (Tuesday 1:50 pm) – Placement groups in Nova (Alex Glikson) – VM Ensembles (Group Scheduling) API (Gary Kotton and Gilad Zlotkin) • Scheduling across nova/cinder/networking (this session) – Scheduling across nova/cinder/networking (Alex Glikson) – Unified resource placement module for OpenStack (Senhua Huang) • The future of state management in nova (Joshua Harlow) (Tuesday 3:40 pm) • Related previous proposals: – Donabe container concept/API by Debo Dutta and et al.: Demo on Thursday April 18!
  • 12. Two possible approaches • An incremental improvement on the coordination between Nova and Cinder – Nova/Cinder decides their own resource selection – Transfer message about scheduling between them – Maybe a shared library for common scheduling codes • A separate module for resource selection and capability cache – Having a central place to collect all capability information – Handle the complexity/scalability at this module
  • 13. Unified Placement and Orchestrator User Facing API Resource config Capability Orchestrator/ Selection Cache Provision Manager Engine Quantu Ceilom Nova Cinder m eter
  • 14. Components • RSE – Runs resource selection algorithms to calculate placement results • Capability cache – Collects and represents the available capabilities of infrastructure resources (“things” that are provision- able) • Orchestrator – Manage the work flow of provisioning the selected resources – One possible solution from Y!/NTT Data
  • 15. User request specs • Individual instances with different types (currently storage and server) • Each instance has a set of request specs affinity affinity anti- anti- – Image/flavor/size/… affinity affinity affinity • Instances can be in a grouping relationship • Each grouping has a set of server grouping request specs storage – Affinity rules/…
  • 16. Capability cache • Capabilities of compute/volume hosts – Memory, CPU, disk – Network interface • Topology/Inventory information – Rack #, Cluster #, neighboring nodes • Quantitative capabilities: updated periodically • Qualitative capabilities • Networking resources • This component can be used for many other purposes
  • 17. RSE • Various algorithms – Different optimization objectives (reliability, performance, usage efficiency, energy, etc.) – Heuristics: trade-off between performance and complexity • Extensible – Easy to plug and play any algorithm admin desires – Easy to contribute and innovate – As stateless as possible – No need to worry about framework etc.
  • 18. Interface • User/Tenant – Similar to other OpenStack services – REST API for CRUD – Keystone for authentication/authorization • Nova/Cinder/… – Choice-1: REST API – Choice-2: RPC/Message queue • Enhancement feature – Group scheduling
  • 19. Interface w/ Orchestrator • RSE decides which host to place each instance of the request – {instance: host} • Orchestrator calls Nova/Cinder scheduler to create instance on the specified host – Failure handling – Revert • What about update/delete operation?
  • 20. Work Plan • Maybe first start as a feature within Nova – nova/rse – nova/cap • Optional services to user/tenant – Exposed as API extensions in Nova – Use existing REST APIs (available to admin) exposed by Nova and Cinder • Made as another incubated project when it matures • Prototype – Using availability-zone hint from Nova/Cinder
  • 21. Road Map F1 F2 F3 • F1: Framework (API definition + design) • F2: Compute + Storage scheduling • F3: Grouped Compute + Storage scheduling