SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
OPENSTACK COMPUTE 101
Libvirt/KVM Driver Update
Stephen Gordon (@xsgordon)
Sr. Technical Product Manager
Agenda
● Architecture Refresher
● Kilo Features
● Liberty Predictions/Speculation
OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101
ARCHITECTURE REFRESHER
OpenStack Components
OpenStack Compute
● Execution and management of compute workloads
● Relatively technology agnostic (VMs, BM, Containers)
● Pluggable virtualization/container backends:
○ Libvirt (KVM, LXC, Parallels CT, Parallels VM, QEMU, Xen), Ironic,
Hyper-V, VMware vCenter, XenServer, etc.
○ http://docs.openstack.org/developer/nova/support-matrix.html
Components
● RESTful nova-api interface
exposed on TCP port 8774.
● AMQP message queue used
for RPC communications.
● nova-scheduler handles
hypervisor selection for
instance placement.
● nova-conductor handles
database access.
Components (cont.)
● nova-compute acts as the
Compute agent, interacting
with the relevant hypervisor
APIs to launch/manage
guests.
Libvirt/KVM
● Driver used for 85% of production OpenStack deployments. [1]
● Free and Open Source Software end-to-end stack:
○ Libvirt - Abstraction layer providing an API for hypervisor and virtual
machine lifecycle management. Supports many hypervisors and
architectures.
○ Qemu - Machine emulator able to use dynamic translation, or with
hypervisor assistance (e.g. KVM) virtualization.
○ KVM - Kernel-based-virtual machine is a kernel module providing full
virtualization for the Linux kernel .
● Why Libvirt instead of speaking straight to QEMU?
[1] http://superuser.openstack.org/articles/openstack-users-share-how-their-deployments-stack-up
Why Libvirt?
$ /usr/libexec/qemu-kvm -name instance-00000007 -S -machine pc-i440fx-rhel7.1.0,accel=tcg,usb=off  -m 2048
-realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -object memory-backend-ram,size=2048M,id=ram-node0,
host-nodes=1,policy=bind -numa node,nodeid=0,cpus=0-1,memdev=ram-node0 -uuid 57d7852e-0286-4913-bd7e-
f897c5197d21 -smbios type=1,manufacturer=Red Hat,product=OpenStack Nova,version=2014.2.2-19.el7ost,
serial=c3758f33-342b-4350-adf0-a67798b56209,uuid=57d7852e-0286-4913-bd7e-f897c5197d21 -no-user-config -
nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance-00000007.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-
usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/nova/instances/57d7852e-0286-4913-bd7e-
f897c5197d21/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,
bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=25,id=hostnet0 -
device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:45:de:c3,bus=pci.0,addr=0x3 -chardev file,
id=charserial0,path=/var/lib/nova/instances/57d7852e-0286-4913-bd7e-f897c5197d21/console.log -device isa-
serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,
id=serial1 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0,
addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none
Libvirt/KVM Guest Configuration
● CPU
● NIC
● Disks
● PCI devices
● Serial consoles
● SMBios info
● CPU pinning
● VNC or SPICE
● QEMU + SPICE agents
● VNC or SPICE
● QEMU + SPICE agents
● Clock (PIT, RTC) parameters
● Scheduler, disk, network
tunables
Supporting Tool Highlights
● virsh - CLI for interacting with Libvirt.
● virt-rescue - Run a rescue shell on a virtual machine (using
libguestfs).
● virt-sysprep - Reset a virtual machine so that clones can be
made. Removes SSH host keys, udev rules, etc.
● virt-v2v - Convert guests from other platforms (VMware, Xen,
Hyper-V).
● virt-sparsify - Convert disk image to thin provisioned.
Libvirt/KVM
● nova-compute agent
communicates with Libvirt.
● Libvirt launches and
manages qemu processes
for each guest.
● KVM uses the Linux kernel
for direct hardware access
as needed.
Guest Enhancements
● VirtIO drivers provide paravirtualized device to virtual
machines, improving speed over emulation.
○ Built into modern enterprise Linux guest operating systems.
○ Available for Windows.
● QEMU guest agent optionally runs inside guests and
facilitates external interaction by users and/or management
platforms including OpenStack.
● Anti-VENOM provided using sVirt (SELinux and AppArmour
security drivers supported).
Virtual Interface Drivers
● Responsible for plugging/unplugging guest interfaces.
● Different interface types = different Libvirt XML definitions.
● Simplified LibvirtGenericVIFDriver implementation supports a
wide range of VIF types.
● Not easily pluggable by out-of-tree implementations.
○ Live in nova/virt/libvirt/vif.py
○ More on this later...
Virtual Interface Drivers Example
● passthrough:
<interface type="direct">
<mac address="DE:AD:BE:EF:CA:FE"/>
<model type="virtio"/>
<source dev="eth0" mode="passthrough"/>
</interface>
● vhost-user:
<interface type="vhostuser">
<mac address="DE:AD:BE:EF:CA:FE"/>
<model type="virtio"/>
<source type="unix" mode="server" path="/vhost-user/test.sock"
/>
</interface>
Volume Drivers
● Conceptually similar to VIF drivers, albeit no “generic” driver.
● volume_drivers=iscsi=nova.virt.libvirt.volume.
LibvirtISCSIVolumeDriver,iser=nova.virt.libvirt.volume.
LibvirtISERVolumeDriver,local=nova.virt.libvirt.volume.
LibvirtVolumeDriver...etc.
OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101
KILO FEATURES
Performance Features
● CPU Pinning
● Huge Pages
● NUMA-aware scheduling (cont.)
○ Memory binding
○ I/O device locality awareness
CPU Pinning
● Extends NUMATopologyFilter added in Juno:
○ Adds concept of a “dedicated resource” guest.
○ Implicitly pins vCPUs and emulator threads to pCPU cores for increased
performance, trading off the ability to overcommit.
● Combine with existing techniques for isolating cores for
maximum benefit.
Example - Hardware Layout
# numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3
node 0 size: 8191 MB
node 0 free: 6435 MB
node 1 cpus: 4 5 6 7
node 1 size: 8192 MB
node 1 free: 6634 MB
node distances:
node 0 1
0: 10 20
1: 20 10
Example - Hardware Layout
Node 0
Core 0 Core 1
Core 2 Core 3
Node 1
Core 4 Core 5
Core 6 Core 7
Node 0 RAM # 0
Node 0 RAM # 1 Node 1 RAM # 1
Node 1 RAM # 0
Example - Virsh Capabilities
<cells num='2'>
<cell id='0'>
<memory unit='KiB'>8387744</memory>
<pages unit='KiB' size='4'>2096936</pages>
<pages unit='KiB' size='2048'>0</pages>
<distances>
<sibling id='0' value='10'/>
<sibling id='1' value='20'/>
</distances>
<cpus num='4'>
<cpu id='0' socket_id='0' core_id='0' siblings='0'/>
<cpu id='1' socket_id='0' core_id='1' siblings='1'/>
...
Example - Configuration
● Scheduler:
○ Enable NUMATopologyFilter, and AggregateInstanceExtraSpecsFilter
● Compute Node(s):
○ Alter kernel boot params to add isolcpus=2,3,6,7
○ Set vcpu_pin_set=2,3,6,7 in /etc/nova.conf
Example - Hardware Layout
Node 0
Core 0 Core 1
Core 2 Core 3
Node 1
Core 4 Core 5
Core 6 Core 7
Node 0 RAM # 0
Node 0 RAM # 1 Node 1 RAM # 1
Node 1 RAM # 0
Host Processes
Guests
Example - Configuration
● Flavor:
○ Add hw:cpu_policy=dedicated extra specification:
$ nova flavor-key m1.small.performance set hw:
cpu_policy=dedicated
● Instance:
$ nova boot --image rhel-guest-image-7.1-20150224 
--flavor m1.small.performance test-instance
Example - Resultant Libvirt XML
● vCPU placement is static and 1:1 vCPU:pCPU relationship:
<vcpu placement='static'>2</vcpu>
<cputune>
<vcpupin vcpu=' 0' cpuset='2'/>
<vcpupin vcpu=' 1' cpuset='3'/>
<emulatorpin cpuset=' 2-3'/>
</cputune>
● Memory is strictly aligned to the NUMA node:
<numatune>
<memory mode= 'strict' nodeset='0'/>
<memnode cellid=' 0' mode='strict' nodeset=' 0'/>
</numatune>
Huge Pages
● Huge pages allow the use of larger page sizes (2M, 1 GB)
increasing CPU TLB cache efficiency.
○ Backing guest memory with huge pages allows predictable memory
access, at the expense of the ability to over-commit.
○ Different workloads extract different performance characteristics from
different page sizes - bigger is not always better!
● Administrator reserves large pages during compute node
setup and creates flavors to match:
○ hw:mem_page_size=large|small|any|2048|1048576
● User requests using flavor or image properties.
Example - Host Configuration
# grubby --update-kernel=ALL --args= ”hugepagesz=2M hugepages=2048”
# grub2-install /dev/sda
# shutdown -r now
# cat /sys/devices/system/node/ node0/hugepages/hugepages-
2048kB/nr_hugepages
1024
# cat /sys/devices/system/node/ node1/hugepages/hugepages-
2048kB/nr_hugepages
1024
Example - Virsh Capabilities
<topology>
<cells num=’2’>
<cell id=’0’>
<memory unit=’KiB’>4193780</memory>
<pages unit=’KiB’ size=’4’>524157</pages>
<pages unit=’KiB’ size=’2048’>1024</pages>
...
Example - Flavor Configuration
$ nova flavor-key m1.small.performance set hw:mem_page_size=2048
$ nova boot --flavor=m1.small.performance 
--image=rhel-guest-image-7.1-20150224 
numa-lp-test
Example - Result
$ virsh dumpxml instance-00000001
...
<memoryBacking>
<hugepages>
<page size=’2048’ unit=’KiB’ nodeset=’0’/>
</hugepages>
</memorybacking>
...
Example - Hardware Layout w/ PCIe
Node 0
Core 0 Core 1
Core 2 Core 3
Node 1
Core 4 Core 5
Core 6 Core 7
Node 0 RAM # 0
Node 0 RAM # 1 Node 1 RAM # 1
Node 1 RAM # 0
Node 0 PCIe Node 1 PCIe
I/O-based NUMA Scheduling
● Extends PciDevice model to include NUMA node the device
is associated with.
● Extends NUMATopologyFilter to make use of this information
when scheduling.
Quiesce Guest Filesystem
● Libvirt > 1.2.5 supports a fsFreeze/fsThaw API.
● Freezes/thaws guest filesystem(s) using QEMU guest agent.
● Ensures consistent snapshots.
● To enable:
○ hw_qemu_guest_agent image property must be set to yes.
○ hw_require_fsfreeze image property must be set to yes.
○ QEMU guest agent must be installed inside guest.
Hyper-V Enlightenment
● Windows guests support several additional paravirt features
when running on Hyper-V (similar to virtio, kvmclock, etc. on
KVM).
● Helps avoid BSOD in guests on heavily loaded hosts,
enhances performance.
● QEMU/KVM is able to support several of these natively.
● Expands behavior of os_type=“windows” image property.
vhost-user support
● VIF driver for new type of network interface implemented in
QEMU/Libvirt.
● Intended to provide a more efficient path between a guest
and userspace vswitches.
Liberty Predictions
Liberty Predictions/Speculation
● Libvirt hardware policy from libosinfo (approved)
● Post-plug VIF scripts (under review)
● Further work around SR-IOV incl.:
○ Interface attach/detach (under review)
○ Live migration when using macvtap (under review)
● Ability to select guest CPU model and/or features (under
review)
● VM HA (under review)
● VirtIO network performance enhancements (under review)
● Hot resize (under review)
Thank You
OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101
Questions?
@xsgordon
sgordon@redhat.com

Weitere Àhnliche Inhalte

Was ist angesagt?

Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Stephen Gordon
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseAvishay Traeger
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack CinderSean McGinnis
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinEd Balduf
 
Drive into kvm
Drive into kvmDrive into kvm
Drive into kvmUdayendu Kar
 
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaTechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaOpenNebula Project
 
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebula Project
 
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...LinuxCon ContainerCon CloudOpen China
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpAaron Delp
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack CinderRenuka Apte
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupStefan Schimanski
 
TechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula CoronaTechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula CoronaOpenNebula Project
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayDan Radez
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDanny Abukalam
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack StorageDeepak Shetty
 
Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMnknytk
 

Was ist angesagt? (20)

Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015Compute 101 - OpenStack Summit Vancouver 2015
Compute 101 - OpenStack Summit Vancouver 2015
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana Release
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 
GPU Acceleration for Containers on Intel Processor Graphics
GPU Acceleration for Containers on Intel Processor GraphicsGPU Acceleration for Containers on Intel Processor Graphics
GPU Acceleration for Containers on Intel Processor Graphics
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack Cinder
 
64-bit ARM Unikernels on uKVM
64-bit ARM Unikernels on uKVM64-bit ARM Unikernels on uKVM
64-bit ARM Unikernels on uKVM
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit Austin
 
Drive into kvm
Drive into kvmDrive into kvm
Drive into kvm
 
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaTechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
 
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
 
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet Up
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack Cinder
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
TechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula CoronaTechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula Corona
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage Day
 
UEFI HTTP/HTTPS Boot
UEFI HTTP/HTTPS BootUEFI HTTP/HTTPS Boot
UEFI HTTP/HTTPS Boot
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMU
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack Storage
 
Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVM
 

Andere mochten auch

Deploying Containers at Scale on OpenStack
Deploying Containers at Scale on OpenStackDeploying Containers at Scale on OpenStack
Deploying Containers at Scale on OpenStackStephen Gordon
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
Deltacloud - Abstracting for Freedom
Deltacloud - Abstracting for FreedomDeltacloud - Abstracting for Freedom
Deltacloud - Abstracting for FreedomStephen Gordon
 
OpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateOpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateStephen Gordon
 
A Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyA Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyStephen Gordon
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Stephen Gordon
 
Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKMaxime Coquelin
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Coreslankdev
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Boden Russell
 
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 cloudStephen Gordon
 
Dude, This Isn't Where I Parked My Instance?
Dude, This Isn't Where I Parked My Instance?Dude, This Isn't Where I Parked My Instance?
Dude, This Isn't Where I Parked My Instance?Stephen Gordon
 
Data cache design itanium 2
Data cache design itanium 2Data cache design itanium 2
Data cache design itanium 2LĂ©ia de Sousa
 
VMware vSphere in an OpenStack Environment
VMware vSphere in an OpenStack EnvironmentVMware vSphere in an OpenStack Environment
VMware vSphere in an OpenStack EnvironmentScott Lowe
 
VMware Nova Compute Driver
VMware Nova Compute DriverVMware Nova Compute Driver
VMware Nova Compute DriverSean Chen
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStackopenstackindia
 
Reverse engineering for_beginners-en
Reverse engineering for_beginners-enReverse engineering for_beginners-en
Reverse engineering for_beginners-enAndri Yabu
 
Tackling the Management Challenges of Server Consolidation on Multi-core Systems
Tackling the Management Challenges of Server Consolidation on Multi-core SystemsTackling the Management Challenges of Server Consolidation on Multi-core Systems
Tackling the Management Challenges of Server Consolidation on Multi-core SystemsThe Linux Foundation
 
BKK16-404A PCI Development Meeting
BKK16-404A PCI Development MeetingBKK16-404A PCI Development Meeting
BKK16-404A PCI Development MeetingLinaro
 
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUs
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUsSpecification-Based Test Program Generation for ARM VMSAv8-64 MMUs
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUsAlexander Kamkin
 

Andere mochten auch (20)

Deploying Containers at Scale on OpenStack
Deploying Containers at Scale on OpenStackDeploying Containers at Scale on OpenStack
Deploying Containers at Scale on OpenStack
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Deltacloud - Abstracting for Freedom
Deltacloud - Abstracting for FreedomDeltacloud - Abstracting for Freedom
Deltacloud - Abstracting for Freedom
 
OpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateOpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community Update
 
A Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyA Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon Valley
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
 
Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDK
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)
 
Publican
PublicanPublican
Publican
 
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
 
Dude, This Isn't Where I Parked My Instance?
Dude, This Isn't Where I Parked My Instance?Dude, This Isn't Where I Parked My Instance?
Dude, This Isn't Where I Parked My Instance?
 
Data cache design itanium 2
Data cache design itanium 2Data cache design itanium 2
Data cache design itanium 2
 
VMware vSphere in an OpenStack Environment
VMware vSphere in an OpenStack EnvironmentVMware vSphere in an OpenStack Environment
VMware vSphere in an OpenStack Environment
 
VMware Nova Compute Driver
VMware Nova Compute DriverVMware Nova Compute Driver
VMware Nova Compute Driver
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStack
 
Reverse engineering for_beginners-en
Reverse engineering for_beginners-enReverse engineering for_beginners-en
Reverse engineering for_beginners-en
 
Tackling the Management Challenges of Server Consolidation on Multi-core Systems
Tackling the Management Challenges of Server Consolidation on Multi-core SystemsTackling the Management Challenges of Server Consolidation on Multi-core Systems
Tackling the Management Challenges of Server Consolidation on Multi-core Systems
 
BKK16-404A PCI Development Meeting
BKK16-404A PCI Development MeetingBKK16-404A PCI Development Meeting
BKK16-404A PCI Development Meeting
 
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUs
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUsSpecification-Based Test Program Generation for ARM VMSAv8-64 MMUs
Specification-Based Test Program Generation for ARM VMSAv8-64 MMUs
 

Ähnlich wie Libvirt/KVM Driver Update (Kilo)

Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMdata://disruptedÂź
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMDevOps.com
 
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfStorage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfaaajjj4
 
Known basic of NFV Features
Known basic of NFV FeaturesKnown basic of NFV Features
Known basic of NFV FeaturesRaul Leite
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...Haidee McMahon
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM ShapeBlue
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceShapeBlue
 
Optimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_PerformanceOptimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_PerformanceStorPool Storage
 
Optimization of OpenNebula VMs for Higher Performance - Boyan Krosnov
Optimization of OpenNebula VMs for Higher Performance - Boyan KrosnovOptimization of OpenNebula VMs for Higher Performance - Boyan Krosnov
Optimization of OpenNebula VMs for Higher Performance - Boyan KrosnovOpenNebula Project
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler Peeyush Gupta
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVMAchieving the ultimate performance with KVM
Achieving the ultimate performance with KVMStorPool Storage
 
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...OpenNebula Project
 
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Community
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureDanielle Womboldt
 
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Giovanni Toraldo
 
Cloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopCloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopDeveler S.r.l.
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux ContainersKirill Kolyshkin
 

Ähnlich wie Libvirt/KVM Driver Update (Kilo) (20)

Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfStorage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
 
Known basic of NFV Features
Known basic of NFV FeaturesKnown basic of NFV Features
Known basic of NFV Features
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVM
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
Optimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_PerformanceOptimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_Performance
 
Optimization of OpenNebula VMs for Higher Performance - Boyan Krosnov
Optimization of OpenNebula VMs for Higher Performance - Boyan KrosnovOptimization of OpenNebula VMs for Higher Performance - Boyan Krosnov
Optimization of OpenNebula VMs for Higher Performance - Boyan Krosnov
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
 
Achieving the ultimate performance with KVM
Achieving the ultimate performance with KVMAchieving the ultimate performance with KVM
Achieving the ultimate performance with KVM
 
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
 
Cloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopCloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshop
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
 
Kvm optimizations
Kvm optimizationsKvm optimizations
Kvm optimizations
 

Mehr von Stephen Gordon

Toronto RHUG: Container-native virtualization
Toronto RHUG: Container-native virtualizationToronto RHUG: Container-native virtualization
Toronto RHUG: Container-native virtualizationStephen Gordon
 
KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)Stephen Gordon
 
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...Stephen Gordon
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleStephen Gordon
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack LibertyStephen Gordon
 

Mehr von Stephen Gordon (6)

Toronto RHUG: Container-native virtualization
Toronto RHUG: Container-native virtualizationToronto RHUG: Container-native virtualization
Toronto RHUG: Container-native virtualization
 
KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)
 
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...
OpenStackTO: Friendly coexistence of Virtual Machines and Containers on Kuber...
 
KubeWHAT!?
KubeWHAT!?KubeWHAT!?
KubeWHAT!?
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
 

KĂŒrzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

KĂŒrzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Libvirt/KVM Driver Update (Kilo)

  • 1. OPENSTACK COMPUTE 101 Libvirt/KVM Driver Update Stephen Gordon (@xsgordon) Sr. Technical Product Manager
  • 2. Agenda ● Architecture Refresher ● Kilo Features ● Liberty Predictions/Speculation
  • 3. OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101 ARCHITECTURE REFRESHER
  • 5. OpenStack Compute ● Execution and management of compute workloads ● Relatively technology agnostic (VMs, BM, Containers) ● Pluggable virtualization/container backends: ○ Libvirt (KVM, LXC, Parallels CT, Parallels VM, QEMU, Xen), Ironic, Hyper-V, VMware vCenter, XenServer, etc. ○ http://docs.openstack.org/developer/nova/support-matrix.html
  • 6. Components ● RESTful nova-api interface exposed on TCP port 8774. ● AMQP message queue used for RPC communications. ● nova-scheduler handles hypervisor selection for instance placement. ● nova-conductor handles database access.
  • 7. Components (cont.) ● nova-compute acts as the Compute agent, interacting with the relevant hypervisor APIs to launch/manage guests.
  • 8. Libvirt/KVM ● Driver used for 85% of production OpenStack deployments. [1] ● Free and Open Source Software end-to-end stack: ○ Libvirt - Abstraction layer providing an API for hypervisor and virtual machine lifecycle management. Supports many hypervisors and architectures. ○ Qemu - Machine emulator able to use dynamic translation, or with hypervisor assistance (e.g. KVM) virtualization. ○ KVM - Kernel-based-virtual machine is a kernel module providing full virtualization for the Linux kernel . ● Why Libvirt instead of speaking straight to QEMU? [1] http://superuser.openstack.org/articles/openstack-users-share-how-their-deployments-stack-up
  • 9. Why Libvirt? $ /usr/libexec/qemu-kvm -name instance-00000007 -S -machine pc-i440fx-rhel7.1.0,accel=tcg,usb=off -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -object memory-backend-ram,size=2048M,id=ram-node0, host-nodes=1,policy=bind -numa node,nodeid=0,cpus=0-1,memdev=ram-node0 -uuid 57d7852e-0286-4913-bd7e- f897c5197d21 -smbios type=1,manufacturer=Red Hat,product=OpenStack Nova,version=2014.2.2-19.el7ost, serial=c3758f33-342b-4350-adf0-a67798b56209,uuid=57d7852e-0286-4913-bd7e-f897c5197d21 -no-user-config - nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance-00000007.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3- usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/nova/instances/57d7852e-0286-4913-bd7e- f897c5197d21/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off, bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=25,id=hostnet0 - device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:45:de:c3,bus=pci.0,addr=0x3 -chardev file, id=charserial0,path=/var/lib/nova/instances/57d7852e-0286-4913-bd7e-f897c5197d21/console.log -device isa- serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1, id=serial1 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0, addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none
  • 10. Libvirt/KVM Guest Configuration ● CPU ● NIC ● Disks ● PCI devices ● Serial consoles ● SMBios info ● CPU pinning ● VNC or SPICE ● QEMU + SPICE agents ● VNC or SPICE ● QEMU + SPICE agents ● Clock (PIT, RTC) parameters ● Scheduler, disk, network tunables
  • 11. Supporting Tool Highlights ● virsh - CLI for interacting with Libvirt. ● virt-rescue - Run a rescue shell on a virtual machine (using libguestfs). ● virt-sysprep - Reset a virtual machine so that clones can be made. Removes SSH host keys, udev rules, etc. ● virt-v2v - Convert guests from other platforms (VMware, Xen, Hyper-V). ● virt-sparsify - Convert disk image to thin provisioned.
  • 12. Libvirt/KVM ● nova-compute agent communicates with Libvirt. ● Libvirt launches and manages qemu processes for each guest. ● KVM uses the Linux kernel for direct hardware access as needed.
  • 13. Guest Enhancements ● VirtIO drivers provide paravirtualized device to virtual machines, improving speed over emulation. ○ Built into modern enterprise Linux guest operating systems. ○ Available for Windows. ● QEMU guest agent optionally runs inside guests and facilitates external interaction by users and/or management platforms including OpenStack. ● Anti-VENOM provided using sVirt (SELinux and AppArmour security drivers supported).
  • 14. Virtual Interface Drivers ● Responsible for plugging/unplugging guest interfaces. ● Different interface types = different Libvirt XML definitions. ● Simplified LibvirtGenericVIFDriver implementation supports a wide range of VIF types. ● Not easily pluggable by out-of-tree implementations. ○ Live in nova/virt/libvirt/vif.py ○ More on this later...
  • 15. Virtual Interface Drivers Example ● passthrough: <interface type="direct"> <mac address="DE:AD:BE:EF:CA:FE"/> <model type="virtio"/> <source dev="eth0" mode="passthrough"/> </interface> ● vhost-user: <interface type="vhostuser"> <mac address="DE:AD:BE:EF:CA:FE"/> <model type="virtio"/> <source type="unix" mode="server" path="/vhost-user/test.sock" /> </interface>
  • 16. Volume Drivers ● Conceptually similar to VIF drivers, albeit no “generic” driver. ● volume_drivers=iscsi=nova.virt.libvirt.volume. LibvirtISCSIVolumeDriver,iser=nova.virt.libvirt.volume. LibvirtISERVolumeDriver,local=nova.virt.libvirt.volume. LibvirtVolumeDriver...etc.
  • 17. OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101 KILO FEATURES
  • 18. Performance Features ● CPU Pinning ● Huge Pages ● NUMA-aware scheduling (cont.) ○ Memory binding ○ I/O device locality awareness
  • 19. CPU Pinning ● Extends NUMATopologyFilter added in Juno: ○ Adds concept of a “dedicated resource” guest. ○ Implicitly pins vCPUs and emulator threads to pCPU cores for increased performance, trading off the ability to overcommit. ● Combine with existing techniques for isolating cores for maximum benefit.
  • 20. Example - Hardware Layout # numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 node 0 size: 8191 MB node 0 free: 6435 MB node 1 cpus: 4 5 6 7 node 1 size: 8192 MB node 1 free: 6634 MB node distances: node 0 1 0: 10 20 1: 20 10
  • 21. Example - Hardware Layout Node 0 Core 0 Core 1 Core 2 Core 3 Node 1 Core 4 Core 5 Core 6 Core 7 Node 0 RAM # 0 Node 0 RAM # 1 Node 1 RAM # 1 Node 1 RAM # 0
  • 22. Example - Virsh Capabilities <cells num='2'> <cell id='0'> <memory unit='KiB'>8387744</memory> <pages unit='KiB' size='4'>2096936</pages> <pages unit='KiB' size='2048'>0</pages> <distances> <sibling id='0' value='10'/> <sibling id='1' value='20'/> </distances> <cpus num='4'> <cpu id='0' socket_id='0' core_id='0' siblings='0'/> <cpu id='1' socket_id='0' core_id='1' siblings='1'/> ...
  • 23. Example - Configuration ● Scheduler: ○ Enable NUMATopologyFilter, and AggregateInstanceExtraSpecsFilter ● Compute Node(s): ○ Alter kernel boot params to add isolcpus=2,3,6,7 ○ Set vcpu_pin_set=2,3,6,7 in /etc/nova.conf
  • 24. Example - Hardware Layout Node 0 Core 0 Core 1 Core 2 Core 3 Node 1 Core 4 Core 5 Core 6 Core 7 Node 0 RAM # 0 Node 0 RAM # 1 Node 1 RAM # 1 Node 1 RAM # 0 Host Processes Guests
  • 25. Example - Configuration ● Flavor: ○ Add hw:cpu_policy=dedicated extra specification: $ nova flavor-key m1.small.performance set hw: cpu_policy=dedicated ● Instance: $ nova boot --image rhel-guest-image-7.1-20150224 --flavor m1.small.performance test-instance
  • 26. Example - Resultant Libvirt XML ● vCPU placement is static and 1:1 vCPU:pCPU relationship: <vcpu placement='static'>2</vcpu> <cputune> <vcpupin vcpu=' 0' cpuset='2'/> <vcpupin vcpu=' 1' cpuset='3'/> <emulatorpin cpuset=' 2-3'/> </cputune> ● Memory is strictly aligned to the NUMA node: <numatune> <memory mode= 'strict' nodeset='0'/> <memnode cellid=' 0' mode='strict' nodeset=' 0'/> </numatune>
  • 27. Huge Pages ● Huge pages allow the use of larger page sizes (2M, 1 GB) increasing CPU TLB cache efficiency. ○ Backing guest memory with huge pages allows predictable memory access, at the expense of the ability to over-commit. ○ Different workloads extract different performance characteristics from different page sizes - bigger is not always better! ● Administrator reserves large pages during compute node setup and creates flavors to match: ○ hw:mem_page_size=large|small|any|2048|1048576 ● User requests using flavor or image properties.
  • 28. Example - Host Configuration # grubby --update-kernel=ALL --args= ”hugepagesz=2M hugepages=2048” # grub2-install /dev/sda # shutdown -r now # cat /sys/devices/system/node/ node0/hugepages/hugepages- 2048kB/nr_hugepages 1024 # cat /sys/devices/system/node/ node1/hugepages/hugepages- 2048kB/nr_hugepages 1024
  • 29. Example - Virsh Capabilities <topology> <cells num=’2’> <cell id=’0’> <memory unit=’KiB’>4193780</memory> <pages unit=’KiB’ size=’4’>524157</pages> <pages unit=’KiB’ size=’2048’>1024</pages> ...
  • 30. Example - Flavor Configuration $ nova flavor-key m1.small.performance set hw:mem_page_size=2048 $ nova boot --flavor=m1.small.performance --image=rhel-guest-image-7.1-20150224 numa-lp-test
  • 31. Example - Result $ virsh dumpxml instance-00000001 ... <memoryBacking> <hugepages> <page size=’2048’ unit=’KiB’ nodeset=’0’/> </hugepages> </memorybacking> ...
  • 32. Example - Hardware Layout w/ PCIe Node 0 Core 0 Core 1 Core 2 Core 3 Node 1 Core 4 Core 5 Core 6 Core 7 Node 0 RAM # 0 Node 0 RAM # 1 Node 1 RAM # 1 Node 1 RAM # 0 Node 0 PCIe Node 1 PCIe
  • 33. I/O-based NUMA Scheduling ● Extends PciDevice model to include NUMA node the device is associated with. ● Extends NUMATopologyFilter to make use of this information when scheduling.
  • 34. Quiesce Guest Filesystem ● Libvirt > 1.2.5 supports a fsFreeze/fsThaw API. ● Freezes/thaws guest filesystem(s) using QEMU guest agent. ● Ensures consistent snapshots. ● To enable: ○ hw_qemu_guest_agent image property must be set to yes. ○ hw_require_fsfreeze image property must be set to yes. ○ QEMU guest agent must be installed inside guest.
  • 35. Hyper-V Enlightenment ● Windows guests support several additional paravirt features when running on Hyper-V (similar to virtio, kvmclock, etc. on KVM). ● Helps avoid BSOD in guests on heavily loaded hosts, enhances performance. ● QEMU/KVM is able to support several of these natively. ● Expands behavior of os_type=“windows” image property.
  • 36. vhost-user support ● VIF driver for new type of network interface implemented in QEMU/Libvirt. ● Intended to provide a more efficient path between a guest and userspace vswitches.
  • 38. Liberty Predictions/Speculation ● Libvirt hardware policy from libosinfo (approved) ● Post-plug VIF scripts (under review) ● Further work around SR-IOV incl.: ○ Interface attach/detach (under review) ○ Live migration when using macvtap (under review) ● Ability to select guest CPU model and/or features (under review) ● VM HA (under review) ● VirtIO network performance enhancements (under review) ● Hot resize (under review)
  • 40. OPENSTACK COMPUTE 101OPENSTACK COMPUTE 101 Questions? @xsgordon sgordon@redhat.com