Live data from Hacker News

On rump kernels and the Rumprun unikernel

blog.xenproject.org

11–20 of 20 posts

Re: On rump kernels and the Rumprun unikernel

#11
post #2

> That minimal quality of most of the OS not being present also explains why the container the drivers run in is called a rump kernel I have seen a number of articles on 'rump' kernels and they always similarly gloss over the name like this. How does that explain? It's not capitalized, so I assume it is not an acronym that stands for something. Where does this name come from? Is it an acronym, portmanteau, metaphor,…

When you don't know what a word means, the best place to start looking is usually a dictionary. For example, Merriam-Webster's definition 3:

  a small or inferior remnant or offshoot; especially :  a group 
  (as a parliament) carrying on in the name of the original body 
  after the departure or expulsion of a large number of its
  members 
http://www.merriam-webster.com/dictionary/rump

Re: On rump kernels and the Rumprun unikernel

#12
post #5

Earlier quoted context omitted.

"An anykernel can be instantiated into units which virtualize the bare minimum support functionality for kernel drivers. We call these virtualized kernel instances rump kernels since they retain only a part of the original kernel." Page 33, http://lib.tkk.fi/Diss/2012/isbn9789526049175/isbn9789526049...

This is an example of canonical documentation doing exactly the same thing I just described. I am no more enlightened about what a "rump kernel" is than before I read the paragraph. Is the implication that we're tossing out the head, neck, loins, bones, organs, etc. and only the delicious bacon of the original kernel is kept? The rump is the part?

Yes, the rump (of the) kernel.

Re: On rump kernels and the Rumprun unikernel

#13
I'd love to see a Smalltalk VM running directly on Xen. The language has always been a bit awkward on PCs because in its heart it still wants to be the OS for a Xerox Alto. It ought to be right at home on virtual metal!

Re: On rump kernels and the Rumprun unikernel

#14
post #10

Regarding unikernels it is fun to combine it with Erlang, since Erlang already has process isolation by default, so it acts as a mini-OS for your application. Process supervision is a bit like the initd (or systemd), it has networking and file system access API,etc... So there is: http://erlangonxen.org/ code: https://github.com/cloudozer/ling Basicly instead of: hardware|kernel|os|erlangvm|yourcode it is now: hardwa…

[deleted]

Re: On rump kernels and the Rumprun unikernel

#15
post #10

Regarding unikernels it is fun to combine it with Erlang, since Erlang already has process isolation by default, so it acts as a mini-OS for your application. Process supervision is a bit like the initd (or systemd), it has networking and file system access API,etc... So there is: http://erlangonxen.org/ code: https://github.com/cloudozer/ling Basicly instead of: hardware|kernel|os|erlangvm|yourcode it is now: hardwa…

Another (still experimental) option is running Erlang/OTP ported to OSv unikernel:

http://www.slideshare.net/nivertech/erlang-on-osv-49278675

Re: On rump kernels and the Rumprun unikernel

#17

Before I read this, is anyone willing to explain how a rump kernel and Rumprun unikernel differ from what MirageOS is doing with unikernels? Is a rump kernel just a more general abstraction of a unikernel like MirageOS?

The principle of a rump kernel is to make OS drivers and subsystems able to run both in a monolithic kernel context and in a userspace context, with a microkernel-like fashion.

An earlier example of a similar approach is DDEKit (https://os.inf.tu-dresden.de/ddekit/), designed so that Linux 2.x drivers can be reused in foreign systems. It's what GNU Hurd uses for its TCP/IP stack, for instance.

Re: On rump kernels and the Rumprun unikernel

#18
post #9

Earlier quoted context omitted.

> Where does this name come from? Is it an acronym, portmanteau, metaphor, what? It appears to be a fairly standard use of the English word "rump" in its non-anatomical sense, that is "a small or unimportant remnant of something originally larger."

The classic use is to talk about the Rump Parliament of 1648 in England: https://en.wikipedia.org/wiki/Rump_Parliament

You win the gold star, that was the historical context of this usage of the word that I did not understand and what I was missing, mystery solved. Thank you!

Re: On rump kernels and the Rumprun unikernel

#19

Before I read this, is anyone willing to explain how a rump kernel and Rumprun unikernel differ from what MirageOS is doing with unikernels? Is a rump kernel just a more general abstraction of a unikernel like MirageOS?

Check out the "Comparison with other unikernels" section in the post.
Post reply on HN