4 ms·
To add to this, I think attention needs to shift from "booting" unikernels to sorta... "instantiating" them. Booting involves enumeration, initialization, and t
by microcolonel 9y ago
To add to this, I think attention needs to shift from "booting" unikernels to sorta... "instantiating" them. Booting involves enumeration, initialization, and teardown of devices. If unikernels could be resumed from a compact memory image without having to enumerate or initialize any (virtual) devices then I figure things would get a lot easier.
For what it's worth, though, there's a lot of value in long-running unikernels. There are good reasons not to pay even the cost of a memcpy of the unikernel image, especially when it comes to making good use of system resources. I'm mostly interested in unikernels on bare metal (or something close, like device-specific PCIe passthrough). There's a lot of potential in an application having full and exclusive access to a hardware platform; it means that your application can make creative use of isolation primitives, be aware of its true resource limits, and choose scheduling and work sharing primitives which make sense for the application.
In many ways, good unikernel environments are similar to DOS, I'm amused to see the resurgence.
- andrewstuart 9y agoCheck out Solo5. There's nothing much more in there than a virtual network driver and a virtual disk driver. Solo5 acts as the host for MirageOS and maybe other Unikernels, or even just for raw C++ code.
- noway421 9y agoDo they or would they support libc? And how to go around compiling other important libs which would be required to get python/node/go working?
- fiokoden 9y agoWhy do you need a unikernel for those? Just run your OS from RAM.
- lmm 9y agoThere are plenty of standalone libcs that can be compiled like any other code, they don't need special support from the host. Likewise you could effectively statically link any libraries you wanted into your unikernel image - though if you just build the normal interpreter then you're not getting a lot of advantage out of having a unikernel, part of the point is to build your program in a more direct form without so many extra layers of translation.
- justincormack 9y agoIt supports at least IncludeOS too. It has 1ms boot times.
- andrewstuart 9y agoBe nice to see the clouds support those juicy quick boot times.
- _pmf_ 9y agoResuming a suspended instance should work, no?
- RubenSandwich 9y agoIt would. But it would come with a cost because you need to store that instance in very fast storage, something like RAM, in order to have very fast reanimated times. The problem with this is that RAM is still at a premium in cloud services.