SlideShare a Scribd company logo
Solving problems, the cloud way!
Peeyush Gupta
What is it?
● OpenStack is a cloud operating system that
controls large pools of compute, storage, and
networking resources throughout a datacenter,
all managed through a dashboard that gives
administrators control while empowering their
users to provision resources through a web
interface.(Got it!)
● Provides an Infrastructure as a Service (IaaS)
- Elasticity
- Virtualization
Virtualization
● Why?
- Efficiency
● How?
-Hypervisor
- KVM/QEMU/libvirt
Virtualization
7 Components
● Horizon – the Dashboard
● Keystone – the Authentication system
● Swift – the Object storage
● Glance – the Image repository
● Nova – the Core of the system
● Quantum – the Networking component
● Cinder – the Volume guy!
Communication
● Database
● Message Queue
- uses AMQP
- Implemented through rabbitmq server
Conceptual Architecture
Logical Architecture
Nova
● The big daddy!
●
Responsible for storing, retrieving images from
Glance and running the instances.
● Provides virtual instances on demand.
Nova – the Components
● Nova-api : Talks to the user
● Nova-compute : creates/terminates VM
instances.
● Nova-volume : Volume guy, again!
● Nova-network : Performs networking tasks.
● Nova-scheduler : Determines on which host a
particular instance should run.
● Console Services
Nova – the Components
● Nova-network
- Floating and Fixed IPs
- Supports three kind of networking
- Flat
- Flat DHCP
- VLAN
● Nova-volume
- Used to add more storage to the running
instances.
Nova-scheduler
● Takes a VM instance and determine where it
should run (on which host).
● 2 step process
Filtering
● 3 choices
- Simple : Finds the least loaded host.
- Random : Selects a random available host.
- Zone : Selects a random host within an
availability zone.
● Defaults
- Volume Scheduler – Chance (Random)
- Compute Scheduler – Filter (Availability
Zone, RAM and capability)
● Need more?
- Try hints!
RAM-Filter
Availability Zone-Filter
v
Compute-Filter
Other Options
● Core Filter : Filters on the basis of available
CPU cores.
● Isolated Hosts Filter : Allows to generate
isolated sets of images and hosts.
● Disk Filter : Schedule instances if there are
sufficient disk available for ephemeral storage.
● And so on...
Host Aggregates
● Partition the availability zone further.
● Only visible to admin, not to users.
● Each node can have multiple aggregates, each
aggregate can have multiple key-value pairs,
and the same key-value pair can be assigned
to multiple aggregate.
● Uses aggregate_instance_extra_specs filter.
Weighing
● Scheduler applies cost functions on each host
and calculates the weight.
● The least weighted host wins.
The Actors Behind The Scene
● Manager(gets the rpc call from API) calls up the
driver to run the instance:
The Actors Behind The Scene
● The filter scheduler (default), calls up the its
_scheduler function
The Actors Behind The Scene
● _schedule function calls up get-filtered-host
function and weight function of host manager
The Actors Behind The Scene
● Filtering happens here, finally!
● get_filtered_hosts() function of
host_manager.py filters hosts and returns only
rthe ones passing all filters.
● get_weighed_host() weigh the filtered hosts,
according to the weighs set by weigh handler.
In the end...
● The scheduler manager sends an rpc call to the
compute manager of selected hosts.
● The compute manager receives it from the
queue and runs its create_instance method and
we get a running VM instance.
Thank You

More Related Content

PPTX
CyberChefの使い方(HamaCTF2019 WriteUp編)
PPTX
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
PDF
eStargzイメージとlazy pullingによる高速なコンテナ起動
PPTX
分散ストレージ技術Cephの最新情報
PDF
Chainer で Tensor コア (fp16) を使いこなす
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
CyberAgentのPrivateCloudeを支えるStorage基盤
CyberChefの使い方(HamaCTF2019 WriteUp編)
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
eStargzイメージとlazy pullingによる高速なコンテナ起動
分散ストレージ技術Cephの最新情報
Chainer で Tensor コア (fp16) を使いこなす
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
CyberAgentのPrivateCloudeを支えるStorage基盤

What's hot (20)

PDF
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
PDF
MHA for MySQLとDeNAのオープンソースの話
PDF
Hopper アーキテクチャで、変わること、変わらないこと
PDF
Singularityで分散深層学習
PDF
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
PPTX
ESP32特集の内容紹介
PDF
Magnum IO GPUDirect Storage 最新情報
PPTX
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
PDF
CRDT in 15 minutes
PPTX
Dockerからcontainerdへの移行
PPTX
Ceph アーキテクチャ概説
PPTX
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
PDF
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
10分でわかる Cilium と XDP / BPF
PDF
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
PPTX
モデルアーキテクチャ観点からの高速化2019
PDF
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
PDF
AWS re:Inforce2019 re:Cap LT
PDF
【CVPR 2020 メタサーベイ】Neural Generative Models
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
MHA for MySQLとDeNAのオープンソースの話
Hopper アーキテクチャで、変わること、変わらないこと
Singularityで分散深層学習
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
ESP32特集の内容紹介
Magnum IO GPUDirect Storage 最新情報
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
CRDT in 15 minutes
Dockerからcontainerdへの移行
Ceph アーキテクチャ概説
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
10分でわかる Cilium と XDP / BPF
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
モデルアーキテクチャ観点からの高速化2019
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
AWS re:Inforce2019 re:Cap LT
【CVPR 2020 メタサーベイ】Neural Generative Models
Ad

Similar to OpenStack Nova Scheduler (20)

PDF
Libvirt/KVM Driver Update (Kilo)
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PPTX
OpenStack Cinder
PDF
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
PDF
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
PDF
Open nebula froscon
PDF
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
PDF
Look Into Libvirt Osier Yang
PDF
Scaling Up Logging and Metrics
PPTX
Kubernetes #1 intro
PDF
OpenVZ Linux Containers
PDF
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
PDF
KURMA - A Containerized Container Platform - KubeCon 2016
PDF
Containers > VMs
PDF
Openstack India May Meetup
PDF
Know More About Rational Performance - Snehamoy K
PDF
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
PDF
Achieving the Ultimate Performance with KVM
PDF
Openstack nova
PPTX
Introduction to kubernetes
Libvirt/KVM Driver Update (Kilo)
Testing kubernetes and_open_shift_at_scale_20170209
OpenStack Cinder
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
Open nebula froscon
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Look Into Libvirt Osier Yang
Scaling Up Logging and Metrics
Kubernetes #1 intro
OpenVZ Linux Containers
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
KURMA - A Containerized Container Platform - KubeCon 2016
Containers > VMs
Openstack India May Meetup
Know More About Rational Performance - Snehamoy K
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
Achieving the Ultimate Performance with KVM
Openstack nova
Introduction to kubernetes
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
Understanding_Digital_Forensics_Presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf

OpenStack Nova Scheduler

  • 1. Solving problems, the cloud way! Peeyush Gupta
  • 2. What is it? ● OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.(Got it!) ● Provides an Infrastructure as a Service (IaaS) - Elasticity - Virtualization
  • 3. Virtualization ● Why? - Efficiency ● How? -Hypervisor - KVM/QEMU/libvirt
  • 5. 7 Components ● Horizon – the Dashboard ● Keystone – the Authentication system ● Swift – the Object storage ● Glance – the Image repository ● Nova – the Core of the system ● Quantum – the Networking component ● Cinder – the Volume guy!
  • 6. Communication ● Database ● Message Queue - uses AMQP - Implemented through rabbitmq server
  • 9. Nova ● The big daddy! ● Responsible for storing, retrieving images from Glance and running the instances. ● Provides virtual instances on demand.
  • 10. Nova – the Components ● Nova-api : Talks to the user ● Nova-compute : creates/terminates VM instances. ● Nova-volume : Volume guy, again! ● Nova-network : Performs networking tasks. ● Nova-scheduler : Determines on which host a particular instance should run. ● Console Services
  • 11. Nova – the Components ● Nova-network - Floating and Fixed IPs - Supports three kind of networking - Flat - Flat DHCP - VLAN ● Nova-volume - Used to add more storage to the running instances.
  • 12. Nova-scheduler ● Takes a VM instance and determine where it should run (on which host). ● 2 step process
  • 13. Filtering ● 3 choices - Simple : Finds the least loaded host. - Random : Selects a random available host. - Zone : Selects a random host within an availability zone. ● Defaults - Volume Scheduler – Chance (Random) - Compute Scheduler – Filter (Availability Zone, RAM and capability) ● Need more? - Try hints!
  • 17. Other Options ● Core Filter : Filters on the basis of available CPU cores. ● Isolated Hosts Filter : Allows to generate isolated sets of images and hosts. ● Disk Filter : Schedule instances if there are sufficient disk available for ephemeral storage. ● And so on...
  • 18. Host Aggregates ● Partition the availability zone further. ● Only visible to admin, not to users. ● Each node can have multiple aggregates, each aggregate can have multiple key-value pairs, and the same key-value pair can be assigned to multiple aggregate. ● Uses aggregate_instance_extra_specs filter.
  • 19. Weighing ● Scheduler applies cost functions on each host and calculates the weight. ● The least weighted host wins.
  • 20. The Actors Behind The Scene ● Manager(gets the rpc call from API) calls up the driver to run the instance:
  • 21. The Actors Behind The Scene ● The filter scheduler (default), calls up the its _scheduler function
  • 22. The Actors Behind The Scene ● _schedule function calls up get-filtered-host function and weight function of host manager
  • 23. The Actors Behind The Scene ● Filtering happens here, finally! ● get_filtered_hosts() function of host_manager.py filters hosts and returns only rthe ones passing all filters. ● get_weighed_host() weigh the filtered hosts, according to the weighs set by weigh handler.
  • 24. In the end... ● The scheduler manager sends an rpc call to the compute manager of selected hosts. ● The compute manager receives it from the queue and runs its create_instance method and we get a running VM instance.