[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Domain creation/boot times and Xen toolstack

On 4 Dec 2014, at 14:36, Martin Lucina <martin@xxxxxxxxxx> wrote:
> Hi Anil,
> in your talk at operatingsystems.io last week (great talk, thanks!), you
> mentioned that you have Unikernels "booting in the time between SYN and
> ACK" [1].
> I'm curious; is this the "raw" boot time (first instruction to serving
> requests) or a "full stack on Xen" boot time (domain creation to serving
> requests)?

Hi Martin,

This is the full boot time -- from receiving a DNS request to starting up
the virtual machine from scratch (including attaching devices such as

> If it is the latter I presume you are using a custom Xen toolstack to
> create the domain? My measurements with rump kernels show that the "xl"
> toolstack is quite slow, depending on the exact Xen setup taking between 1
> to 2.5 seconds to create a domain with a vif and a couple of disk devices.
> Following discussion with Ian Jackson, this (xl) should be be fairly easy
> to optimize, has/is anyone from Mirage OS looking at this?

There were a sequence of slow bits in xl that we progressively fixed.
Most of these should be winding their way upstream as they get cleaned up.
Improvements came from:

1) Replace hotplug script with minimal version (currently a shell script)
2) Replace hotplug script with inline ioctl() gave even better results 
   as no forking happened at all.
3) Parallelise hotplug with domain build.
4) Don't block on primary console
5) Use Dave's XenStore+Irmin with reduced transaction conflicts.

Number 3) is fairly invasive to libxl, and the XenstoreNG is still being
prepared for release, but the minimal ioctl is pretty easy and could be the

We're preparing a camera-ready paper on this for NSDI 2015, so I'll share
that with you privately and the camera-ready with the list (if anyone wants
to read it, please ask -- I just don't want the draft version to be 
archived by crawlers and so am not posting it here).


MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.