Genode Clarification Please

Norman Feske norman.feske at ...1...
Wed Dec 18 16:13:13 CET 2013


Hello Lonnie,

thank you for your encouraging words! Your observations about the
challenges in front of us are spot-on. I think the best thing we can do
about them is to move forward with our development work to create more
and more inertia. At some point, Genode will hopefully reach a critical
mass of usefulness for a wider audience than the niches it currently
serves. That general usefulness is certainly a precondition to attract
more supporters and developers.

> I can see that Genode is coming along nicely and I really like what I
> have seen, not to mention the better security afforded by the
> microkernel approach. My understanding, though, is that microkernels do
> not scale well, at least from the small amount of research I have done
> on them.

The lack of performance and scalability is possibly the most unfortunate
stigmata attached to microkernel technology. However, there exists a
series of evidence (in particular coming from the L4 research community)
that repeatedly debunked this universal truth. A few references:

In "The Performance of µ-Kernel-based Systems" [1] published in 1997, it
became clear that the poor performance of first-generation microkernels
could be overcome by carefully picking different kernel abstractions, in
particular synchronous IPC.

The NOVA microhypervisor [2] shows how a microkernel-based hypervisor
actually outperforms virtualization solutions based on monolithic
architectures.

As a third (and very current) reference, the just published paper
"KV-Cache: A Scalable High-Performance Web-Object Cache for Manycore"
shows how well a carefully tuned microkernel-based memcached
implementation compares to a Linux-based appliance:

[1] http://os.inf.tu-dresden.de/papers_ps/sosp97.pdf
[2] http://os.inf.tu-dresden.de/papers_ps/steinberg_eurosys2010.pdf
[3] http://cs.iupui.edu/~fgsong/publication/ucc13.pdf

I am convinced that microkernel architectures do not inherently imply
bad performance and scalability. Achieving good performance depends on
the effort spent in understanding and optimizing the system. In our
experience, performance is often dominated not so much by
microkernel-induced context-switching costs, but by other factors. For
example how well device drivers operate. This experience is documented
by our case study about porting Genode to the Pandaboard [4]. Through a
series of optimization steps, the I/O throughput of Genode with regard
to networking and SD-card access could match (and even exceed) the
performance achieved by the Linux kernel.

[4] http://genode.org/documentation/articles/pandaboard

Another observation is that even the Linux userland is partly moving
towards "microkernelization". Just look how on Android, GPU drivers live
in the user space, not inside the kernel. If the address-space overhead
was really such a pressing problem, wouldn't that direction be
counter-intuitive?

> My current interest is in clusters since in my day-job, I work as a
> scientist at a national institute of standards and technology where we
> do a lot over computer modeling via various clusters software, namely
> Linux Rocks clustering software at the moment, but I do not particularly
> like the way that this has to be accomplished via MPI and the like which
> is why I am investigating NOVA and Genode as a possible starting point
> for a cluster idea that I have in mind which could be better than
> existing Linux systems although still a long term project as well.
> 
> I could see Genode developing well towards clustering solutions as it
> does have many attractive aspects thus far.
> 
> It would be nice to see a demo of the latest Genode and perhaps as
> simple install system so that it can be installed easily on to real
> harddisks or perhaps in virtualbox VM for further testing and developing.
> 
> As for now, I am just basically getting familiar with the code before
> seeing how I can move towards the clustering or general distribution goals.

That is great to read! I'd love to see how that line of thoughts
continues. :-)

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list