Introducing Jiageng Yu and Linux based stubdom’s

This is a guest blog post by Jiageng Yu, one of our Google Summer of Code students. This will be the first of a series of posts by our students.

I am Jiageng Yu, a PHD candidate of Institute of Software, Chinese Academy of Sciences, Beijing, China. My research areas are operating systems, virtual machines, and cloud computing. Personally, I am fascinated with science-fiction and magic movies, like G-Force, The Lord of the Rings, Transformers and Inception. Besides, I like visiting the interesting places in Beijing at weekend, therefore, I always find something amazing, including delicious food and magic things.

I have been accepted to GSoC 2011 and will work on the project of Linux based stubdom in next three months. I am greatly honored and excited to join the Xen community. Let me talk a bit about the project I will be working on: Linux based stubdom’s.

Stubdoms are very small Xen PV guests used to run some software components that otherwise live in dom0. I plan to implement a linux based stubdom, which provides devices emulation to a particular HVM guest. The major tasks of the this project are described below.

  1. Establish the environment of linux based stubdom with minimal linux kernel and shared libraries, which could contain the upstream qemu distribution exactly as it. Maintain a minimal upstream qemu distribution by removing unnecessary objetss in its configuration phase. The minimal linux kernel, shared libraries and the upstream qemu are packed into the ramdisk, which is the real body of stubdom we need.
  2. Adapt simulation devices of upstream qemu to the relevant frontend devices of stubdom in optimal ways. In this
    scenario, consider devices including network, disk and graphics.
  3. Implement the proper save/restore mechanism for simulation devices. Qemu running in the stubdom writes
    a statefile that has to be returned to the toolstack in dom0. Currently minios based stubdoms use two PV consoles to do that, which have not been supported in Linux. Therefore, instead of using additional consoles, create a dynamic virtual disk to transfer save/restore data between Dom0 and stubdom.
  4. Support pci pass-through devices in the stubdoms, by mapping the memory (including ioport, iomem and irq) of
    pass-through devices into the memory of frontend devices. Note that there could be a few differences to the implementation of MiniOS based stubdoms.
  5. Produce benchmarks to measure the resource usage and performance of linux stubdom in comparison with
    MiniOS stubdoms. Measure the throughput of CPU, disk and network, etc.

You can find my personal web page at (chinese, translated) and get in touch with me on skype or gmail via yujiageng734.

This entry was posted in Announcements and tagged on by .

About Lars Kurth

Lars Kurth is a highly effective, passionate community manager with strong experience of working with open source communities (Symbian, Symbian DevCo, Eclipse, GNU) and currently is community manager for Lars has 9 years of experience building and leading engineering teams and a track record of executing several change programs impacting 1000 users. Lars has 16 years of industry experience in the tools and mobile sector working at ARM, Symbian Ltd, Symbian Foundation and Nokia. Lars has strong analytical, communication, influencing and presentation skills, good knowledge of marketing and product management and extensive background in C/C , Java and software development practices which he learned working as community manager, product manager, chief architect, engineering manager and software developer. If you want to know more, check out Personally, Lars has a wide range of interests such as literature, theatre, cinema, cooking and gardening. He is particularly fascinated by orchids and carnivorous plants and has built a rather large collection of plants from all over the world. His love for plants extends into a passion for travel, in particular to see plants grow in their native habitats.