avsm changed the topic of #mirage to: mirage 2 released! party on!
jonludlam has quit [Ping timeout: 244 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcat has joined #mirage
nullcat has quit [Client Quit]
nullcat has joined #mirage
nullcat has quit [Client Quit]
nullcat has joined #mirage
nullcat has quit [Client Quit]
mcclurmc has quit [Remote host closed the connection]
tlockney_away is now known as tlockney
mcclurmc has joined #mirage
mcclurmc has quit [Remote host closed the connection]
tlockney is now known as tlockney_away
ronny has quit [Ping timeout: 255 seconds]
ronny has joined #mirage
jonludlam has joined #mirage
jonludlam has quit [Ping timeout: 255 seconds]
yomimono has joined #mirage
jonludlam has joined #mirage
yomimono has quit [Ping timeout: 252 seconds]
yomimono has joined #mirage
yomimono has quit [Ping timeout: 246 seconds]
yomimono has joined #mirage
yomimono has quit [Ping timeout: 255 seconds]
yomimono has joined #mirage
lobo has joined #mirage
yomimono has quit [Ping timeout: 256 seconds]
yomimono has joined #mirage
nullcat has joined #mirage
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcat has joined #mirage
nullcat has quit [Client Quit]
mort___ has joined #mirage
mort___ has quit [Quit: Leaving.]
blurider has joined #mirage
<blurider>
Is this the IRC for mirage OS?
<Drup>
yes
<blurider>
I just read a unikernel article and I'm not sure what the point of a unikernel is. It seems to be a very simplified VM, but why not just run the OCAML application on bare metal?
<jerith>
blurider: To do anything useful, you need device drivers, maybe a network stack, etc.
<jerith>
That's basically what the unikernel gives you.
<jerith>
Think of it as a set of libraries that do what the OS would normally do.
<blurider>
jerith: So it's just providing a unified driver set (from the Xen kernel in this case)? I'm just wondering how that's different from the PLT Racket VM?
<hannes>
blurider: PLT racket requires a unix underneath (at least the last time I checked), or can it run directly as a virtual machine on top of Xen?
<hannes>
blurider: there's also initial support to use rumpkernel in MirageOS instead of xen, this will allow to use netbsd drivers and running on bare metal without a hypervisor
nullcat has joined #mirage
yomimono has quit [Ping timeout: 265 seconds]
<blurider>
hannes: it requires either a Unix, Mac OS, or Windows
<blurider>
hannes: I was just wondering what the advantage of a unikernel compared to a bare metal application.
<blurider>
hannes: I mean, why can't one target the JAVA VM or the Racket VM instead of Mirage?
tlockney_away is now known as tlockney
<blurider>
I'm not trying to be a troll here, I'm just wondering what's the advantage of mirage compared to running a more securely chrooted application (say via systemd-nspawn)?
<jerith>
blurider: What do you mean by "bare metal"?
<blurider>
jerith: say running a simple application written in C and Glib that runs on the Linux kernel
<blurider>
jerith: Or, say writing it in haskell.
<jerith>
Also, you may be confusing VM-meaning-application-runtime and VM-meaning-virtual-hardware.
<blurider>
jerith: Possibly. In the case of PLT Racket, the network stack is provided by PLT Racket, the JIT is written in GNU Lightning so it emulates a RISC instruction set.
<jerith>
Let's say you have hosting infrastructure that lets you spin up xen VMs.
<jerith>
In order to run your C app on that, you need an operating system, a filesystem, maybe some network services of some kind, etc.
<jerith>
In order to run your Mirage app on that, you need the single unikernel binary and nothing else.
tlockney is now known as tlockney_away
<blurider>
jerith: So mirage is useful on particular infrastructure. As in, if the hosting only allows rumpkernel or xen? The cloud provider doesn't allow running programs on bare metal?
<jerith>
blurider: "bare metal" usually means "no operating system".
<jerith>
Hence the confusion above.
<jerith>
The point of Mirage is that your applications are entirely self-contained.
tlockney_away is now known as tlockney
mcclurmc has joined #mirage
<z0d>
blurider: with Mirage, you don't have to install an OS on top of Xen. that's the point
<blurider>
z0d: All right.
<z0d>
it's has some similarities to Docker/LXC if you know them
<z0d>
but Mirage takes a different approach
<blurider>
z0d: Yeah, that's what i was wondering.
<z0d>
so, I guess you can run not only Linux applications on Mirage
<z0d>
(?)
<z0d>
with Docker, you can only run apps which are Linux based
<blurider>
z0d: It just seems like GNU lightning to me, but based on Xen.
<blurider>
z0d: And, with device driver (xen) support.
<jerith>
blurider: It's nothing like GNU lightning.
<jerith>
Think of it as a lightweight kernel with your application built-in.
<blurider>
jerith: There are comparisons to lightning and VMs, but i won't go into that.
<blurider>
jerith: All right. is there a measurable performance difference when running a unikernel vs. straight on the linux host?
<blurider>
jerith: Yeah, I read it. I'll need to organize my thoughts a bit. It seems to be dependent on folks using XEN now to boot full kernels instead of the old time sharing method with multiple users. With cgroups in Linux (used in containers), and systemd-nspawn, it should be possible to run contained programs (even written in OCAML) with similar security.
<blurider>
jerith: Seems somewhat convenient though (at least it's glued together). I'll be watching the project with interest.