Two weeks ago today was the first day of Linaro Connect Asia: the event was held at the Gold Coast Hotel in Hong Kong and was similar in format and attendance to the previous one in Copenhagen. All the major players in the ARM world came together to speak about the future of the industry and build an healthy Open Source ecosystem for ARM.
This time Ian and I didn’t just listen: we came to present Xen on ARM and to demonstrate the project on stage (a video is available here, but unfortunatelty it is focused on the audience rather than the speakers). Our talk was on Monday, the first day of the conference, and was very well attended: the room was completely full, people were standing and sitting in the corridor to listen to us! Since the talk was Xen specific and rather technical, I am surprised that we managed to raise so much interest. Not even good talks at XenSummit have so many attendees. It is also an indication of how active and vibrant the Linaro community is, managing to get together so many kernel engineers in one room.
We explained the basic ideas behind the original Xen architecture and showed the benefit of some of the more advanced configurations, like disaggregating dom0 and running multiple driver domains. For example one could have a network driver domain with the network card assigned to it, running the network backend. The same can be done for the disk, assigning the SATA controller to a disk driver domain, running the block backend. Driver domains can be restarted independently, without compromising the stability of the system. They improve scalability because they remove some of the load from Dom0. Most importantly, given that they don’t need to be privileged, they improve security and isolation. As a matter of fact, one of the most security oriented operating systems out there, QubesOS, uses them extensively. The ARM port of Xen retains these architectural advantages and renovates the overall design by having a single hypercall interface for 32-bit and 64-bit virtual machines and by removing the distinction between PV and HVM guests. The new kind of guest supported by Xen on ARM provides the advantages of both, without any of the disadvantages: it uses PV interfaces for IO early at boot, it doesn’t require any emulation (no QEMU) and exploits the hardware as much as possible. Xen is running entirely within EL2, or hypervisor mode and it uses second stage translation in the MMU to assign memory to virtual machines. Xen exploits generic timers to export a virtual timer interface to guests and uses the GIC to inject physical and virtual interrupts into virtual machines. Guest operating systems use HVC to issue hypercalls. No ARM virtualization features are left unused.
After the presentation we showed Xen running on the Arndale board and Xen 64-bit running on the ARMv8 emulator: both demos went smoothly and the crowd enjoyed watching us playing tetris on a virtual machine on Xen on ARM.
That was Monday and the activities around Xen were just starting: Mark Heath (XenServer VP of engineering) and Lars Kurth (Xen.org Community manager) gave the keynote the following morning (the slides are available here). They talked about the reasons why Xen is important for Citrix and why Xen and ARM make a very good match. Given how significant is this project for Citrix, Mark exploited the opportunity to announce that Citrix is going to join the Linaro Enterprise Group (LEG) as soon as possible.
A couple of days of meetings with the LEG members and productive hacking sessions in the afternoon followed. Ian managed to boot the first 64-bit Linux guest on a 64-bit hypervisor during that time. The last day reserved a couple of hours for a demo session: we had a Xen booth with the two demos we showed on Monday, plus Xen running natively on the Samsung Chromebook as an added bonus. Many people stopped by to watch the demos, ask questions about Xen, and see it running first hand.
Overall it was a very productive week: I don’t think that anybody in the ARM world could dismiss Xen on ARM as vapoware or uninteresting after Linaro Connect Asia 2013. It’s happening and it’s happening now.