KVM on S390x Revolutionizing the Mainframe
Audience In depth technology High level overview
Audience In depth technology High level overview Yes, you get both!
S390x? Mainframe Highly available Highly compatible 64 Bit Introduced in 2000 Marketing term: System z
Hypervisor? Application Application Linux Hardware
Hypervisor? VM Application Application Linux Hypervisor Hardware
Hypervisor? VM VM Application Application Application Application Linux Linux Hypervisor Hardware
Virtualization History x86 8086 Xen KVM S/360 S/360 VM/370 370/XA z/vm KVM 1965 1972 1981 2000 2008 1978 2003 2007
z/vm Virtualization method of choice on S390x Emulates real S390x hardware Can run ancient Operating Systems
z/vm Architecture VM VM VM Application Application Application Application Linux z/os Linux z/vm
z/vm UI
z/vm UI
z/vm Made for Mainframe OSs Not integrated into Linux More advanced than most other hypervisors
KVM
What is KVM? Kernel module Creates virtual machine contexts Requires userspace application for device emulation Commonly KVM & Qemu are referred to as KVM
KVM History RHEL6 SLES11 SP1 VT-x KVM x86 KVM S390x Qemu S390x 2006 2008 2010
KVM Architecture VM VM Application Application Application Linux Linux SLES Qemu Qemu Application KVM Linux
KVM UI Direct console mode VNC SDL Currently text output only
KVM UI Considers itself a backend Users only see management software
Virtio Paravirtual devices Originated in Lguest Network and block devices of choice for KVM
Virtio Device Virtio-Block Virtio-Net Virtio-Serial Ring Virtio-Ring Backend Virtio-PCI Virtio-S390
Virtio Shared Code Device Virtio-Block Virtio-Net Virtio-Serial Ring Virtio-Ring Backend Virtio-PCI Virtio-S390
Virtio on S390x Only emulated bus type on S390x Virtio-Serial used for console No performance penalties from imitating real hardware
S390 Virtio Bus RAM
S390 Virtio Bus RAM Device Info Ring1 Ring2 Ring3 Ring...
S390 Virtio Bus RAM Device Info Ring1 Ring2 Ring3 Ring... Device Info Device 1 Device 2 Device...
S390 Virtio Bus RAM Device Info Ring1 Ring2 Ring3 Ring... Device Info Device 1 Device 2 Device...
S390 Virtio Bus RAM Device Info Ring1 Ring2 Ring3 Ring...
S390 Virtio Bus RAM Device Info Ring1 Ring2 Ring3 Ring... Ring Processing Done
S390 Virtio Bus Hypervisor Ring Virtual Machine
S390 Virtio Bus Interrupt Hypervisor Ring Virtual Machine
S390 Virtio Bus Interrupt Hypervisor Ring Virtual Machine Hypercall
S390 Virtio Bus Very simple Limited space for device descriptors Device overhead above RAM limit
Virtio S390 vs PCI S390 PCI Configuration RAM MMIO / PIO Interrupts S390 specific MSI Poke Hypercall MMIO / PIO Hotplug
S390 Virtio Machine Fully paravirtual machine Uses virtio-serial for console virtio-block for block virtio-net for network virtio-rng for random number generation Linux only
Why? Easy to use Flexible Linux way of doing things Big ecosystem
Virt-Manager
Virt-Manager
ovirt
IBM Test Cloud
KVM vs z/vm Linux only Tightly integrated Opens up new possibilities Easier to use KSM
KVM vs z/vm Lacking features Very fast development Room for coexistence!
Demo