Oh yeah.. It was one of the wonderful week in my life!!.
This year I was lucky enough to get green flag to KVM forum and I really enjoyed it. I would say, it was an awesome time which allowed me to experience Scottish beauty together with friends – renowned virtualization developers in opensource community.
I met lot many people with whom I worked in the past, or I would say the crew with whom I am working at present .
Day 1 @ KVM forum:
The sessions were tracked mainly in 3 suites , so couldnt get into all. Obviously I missed 2/3 sessions per day 🙂
I will write more about the sessions I attended in different tracks, how-ever I am place holding these videos till then..
Keynote by Gleb
Obviously Gleb has the privilege to present the keynote on opening day and here it is :
Modern QEMU Device Emulation – Andreas Färber, Suse
Andreas presented the device model, QOM with a demo . . Device emulation has undergone many changes lately and it is a recurring topic how exactly new devices should be written (which example to copy and which not) or how to rebase out-of-tree device models against changing upstream. Andreas took an in-tree device that has not even been qdev’ified yet and turn it into a modern QOM device and showcase how the management infrastructure surrounding QOM allows to inspect and manipulate that device once it is in the proper form. In short its easy to define a Qemu Object Model and play with it.
Virgil3D – Virtio Based 3D Capable GPU- Dave Airlie , Red Hat
This session was an attempt to provide missing capability to provide 3D rendering capabilities to guest OSes inside qemu. The Virgil3D project aims to to provide a virtual GPU device that can be used by guest OSes to provide OpenGL or Direct3D capabilities. The host side of the device will use OpenGL on the host to render the command stream from the guest. The command stream will be based on the Mesa project’s Gallium3D framework, using similar states and shader encoding. Dave gave a demo at end of the session and was happy to see the gaming inside the guest. 🙂
[sound is broken]
VGA Assignment Using VFIO – Alex Williamson, Red Hat
VGA and GPU device assignment is an often requested feature for adding new functionality to to virtual machines, whether it be for gaming or traditional graphics workstation usage. The VFIO userspace driver framework has been extended to include VGA support, enabling QEMU assignment of graphics cards. In this presentation, Alex Williamson gave an overview of the architecture for doing VGA assignment, explain the differences between VGA assignment and traditional PCI device assignment, and provided current status report for VGA/GPU device assignment in QEMU.
Unfortunately I dont see the video for this session.
Platform Device Passthrough Using VFIO – Stuart Yoder, Freescale Semiconductor
This session was all about platform device passthrough.. Stuart started the session by explaining The linux driver model. virtio-pci binding and unbinding process.
VFIO provides a framework for securely allowing user space applications to directly access and use I/O devices, including QEMU which allows pass-
through of devices to virtual machines. QEMU and the upstream Linux kernel currently support VFIO for PCI devices. System-on-a-chip processors frequently
have I/O devices that are not PCI-based and use the platform bus framework in Linux. An increasing number of QEMU/KVM users have the need to pass
through platform devices to virtual machines using VFIO.
This presentation described:
how VFIO-based passthrough of PCI devices is similar and different for platform devices
issues and challenges in solving platform device pass-through
proposed kernel changes to enable this
boolean addition to sysfs
[sound is broken]
Gerd on x86 firmware maze:
Explanation bits on SeaBIOS, TianoCore, coreboot, iPXE, UEFI, CSM, ACPI, fw_cfg . Then about which firmwares exist in the qemu world and the interaction among them. seabios initialization sequence.. Later explained how the hardware configuration and initialization works in qemu and which interfaces are used to handle this.
Nested Virtualization presentation by Orit ..
Orit explained about what is nested virtualization.. L0, L1 & L2 levels in nested virtualization and bits around it..
Nested EPT to Make Nested VMX Faster – Gleb Natapov,
Gleb started to explain about ‘shadow paging’ and the reason for being its slow.. With the help of EPT, we can avoid shadow paging table altogether and we relay on Two Level Paging in HW which improves performance a lot..
Memory virtualization overhead has a huge impact on virtual machine performance.To reduce the overhead two level paging was introduced to virtualization extensions by all X86 vendors. On Intel it is called Extended Page Table or EPT. Nested guests running on nested VMX cannot enjoy the benefits of two level paging though and have to rely on much less efficient shadow paging mechanism which, combined with other overheads that nested vitalization incur, makes nested guests unbearably slow. Nested EPT is a mechanism that allows nested guest to benefit from EPT extension and greatly reduce overhead of memory virtualization for nested guests.
[slides ] docs.google.com/file/d/0BzyAwvVlQckedmpobUY1Sm0zNWc/edit
Red Hat Running Windows 8 on top of Android with KVM – Zhi Wang, Intel
Running windows guest on android!!!
Zhi Wang from Intel discussed about how they were able to run Windows 8 guest efficiently (including virtio drivers) on top of an x86 Android tablet with KVM. . With KVM, they enabled H/W-based virtualization simply and efficiently on such small devices, taking advantage of the Linux-based system, including Android. At the same time, they found various challenges especially with qemu mainly because of the differences in 1) the user level infrastructure ( display, input, sound..etc), such as libraries ( Bionic, limbo-android..) , the graphics system, and system calls, 2) scheduling (e.g. foreground apps are suspended). He concluded his sessions with the next steps, such as, sensor support, Connected Standby for Windows 8.
[OSv -> Best Cloud Operating System]
Avi and Glauber presented whats Osv , Why ..etc . Personally I had looked into some of the previous presentations and docs about Osv in recent past ( noted here ), so I felt this session as a bit of repetition 🙂 .. How-ever, there was a good takeaway from this session by Glauber..ie “There are 2 types of C++ Programming”.. If you really want to get it , please listen to the video. 🙂
Dinner at a restaurant in Haymarket street with Omer Frenkel , Oved, Arik .etc..
Day 2 @ KVM forum
Started with Antony’s Qemu weather Report which included Major features and fixes, Rleases, GSoC projects and growing community..
Effective Multi-Threading in QEMU- Paolo Bonzini, Red Hat
Paolo explained about Qemu architecutre in past and present, virtio-blk-dataplane archtitecure, unlocked memory dispatch and unlocked MMIO.
Block Layer Status Report – Stefan Hajnoczi, Red Hat & Kevin Wolf, Red Hat
Kevein and Stefan presented the changes came in block layer recently and the features they are working on.. This included performance improvement ( data deduplication, corruption prevention, COW , INternal COW, journalling,) followed with drive specific configuration , data plane. Concluded by mentioned future thoughts like image fleecing, point in time snapshots, incremental backups, image syncing…etc..) Also there is an addition of new command line called ‘qemu-img map’ ..
An Introduction to OpenStack and its use of KVM Virtualization – Daniel Berrange, Red Hat
Daniel explained about openstack and how KVM is tightly coupled with openstack .. He started with openstack components briefly , followed with main point of integration attempts on KVM and openstack. Obviously on Nove computing engine. The talk also outlined the overall OpenStack architecture with a focus on Nova, the capabilities of KVM as used in Nova, how KVM integrates with the OpenStack storage and networking sub-projects, and what developments to expect in future releases of OpenStack.
New Developments and Advanced Features in the Libvirt Management API – Daniel Berrange, Red Hat
Danp on New Developments and advanced features in libvirt. In this session he started with libvirt disk access permission implementation, so on ‘sanlock’ and virtlockd. Granular access control, also covered bits on svirt, selinux ..etc. Later he came to cgroups. and finally he concluded his talk with tuning cpu, memory and block..
Empowering Data Center Virtualization Using KVM – Livnat Peer, Red Hat
In this session Livnat explained about what is ovirt project ( the management of multi-host, multi-tenant virtual data centers, including high availability, VM and storage live migration, storage and network management, system scheduler and more_. Its integration point for several open source virtualization technologies, including kvm, libvirt, spice, oVirt node and numerous OpenStack components such as Neutron and Glance. ) and how it can be used to manage a data center
One Year Later: And There are Still Things to Improve in Migration! – Juan Quintela,
Juan was busy with finding latencies, bottle necks in live migration and trying to improve it :). He explained about the changes that have happened to improve migration in machines with huge amount of memory/vcpus. There has also been changes integrating migration over RDMA.
Amit presented an idea about static checker to avoid live migration compatibility issues.. This is not a implemented solution rather a thought on reducing ‘issues’ wrt to live migration failure caused by compatibility features around qemu ..
Debugging Live Migration – Alexander Graf, SUSE
Alexander came up with an interesting session on debugging live migration dynamically.. I really loved this session especially with the slides he prepared and the content , may be the way of presentation.
Automatic memory ballooning – Luiz Capitulino
When a Linux host is running out of memory, the kernel will take action to reclaim memory. This action may be detrimental to KVM guests performace (eg. swapping). To help avoiding this scenario, a KVM guest could automatically return memory to the host when the host is facing memory pressure. By doing so the guest may also get into memory pressure so we also need a way to allow the guest to automatically get memory back. This is what the automatic ballooning project is about. In this talk Luiz drived into the project’s implementation, challenges and discussed current results.
The day was ended with a party at Cargo Bar where most of my time was spent with Hai Huang, Osier Yang, Vinod Chegu, Eduardo Habkost, Bandan Das, Sean Cohen..
From the hotel, Hai Huang lead us ( Amos Kong, Fam, Mike Cao, Asias He, Osier Yang ) to the hotel.
Day 3 @ KVM forum
The day started with OVA update :
how-ever this day was almost dedicated to ovirt sessions.. Itamar started with below presentation where he discussed about ovirt project status.. The oVirt project just released version 3.3 with many new features and integration with other open source projects like Foreman, Gluster, OpenStack Glance and Neutron. Itamer covered the current state of the project, as well as roadmap and plans going forward.
Doron taught us what is Chicken and Egg problem , ah.. I forgot to say Chicken & Egg in Ovirt Context 🙂 .. This talk was about ‘self hosted engine’ feature of Ovirt..
oVirt for PowerPC – Leonardo Bianconi, Instituto de Pesquisas Eldorado
So, ovirt is planning to extend or include PPC arch.. In this talk, Leonardo discussed about a work which add PowerPC architecture awareness to oVirt, which currently makes various assumptions based on the x86 architecture. Many projects are being involved in this task, like: LIBVIRT, QEMU and KVM.
Rik talked about the methods to reduce context switches overhead :
The Future Integration Points for oVirt Storage and Storage Consumption – Sean Cohen; Ayal Baron
This was almost an interactive session lead by Sean and Ayal. They discussed about whats new in ovirt 3.3 & whats planned for 3.4 and beyond.
Using oVirt and Spice for VDI – Frantisek Kobzik
This was a nice presentation about spice in ovirt and also about other display protocols support in ovirt..
LinuxCon + KVM forum people landed on National Museum of Scotland this evening and it was a remarkable time !! I dont know to whom and all I talked that day, how-ever I was fully engaged with discussions. Spent some time at Casino here , oh .. it was not only me, almost half of the crowd.. After all, we ( Beijing team + /me) made a walk to the hotel with lot many discussions, even-though I dont remember, Osier or some one may.