4 ms·
For zero overhead, I have this weird idea of shipping source code, recompiling it with all the optimizations needed, and executing it without virtualization bu
by 1996 7y ago
For zero overhead, I have this weird idea of shipping source code, recompiling it with all the optimizations needed, and executing it without virtualization but under a different user id.
So I stick to ./configure ; make ; make install
- jbverschoor 7y agoUserid means user management and context switching etc, means overhead
- 1996 7y agoThat's true. So on my own servers, software I write gets a pass and is run as root after a while. As for context swicthing etc I need some unixy bases. Instead of reinventing everything, I've found in practice that the linux kernel running my programs on baremetal (no virtualization) keeps the overhead to an acceptable minimum.
- erikpukinskis 7y agoIf you’re happy running on Linux (root or otherwise) you have I need of a unikernel.
- shawnz 7y agoSo basically your point is that the overhead of Linux is already low enough that you don't care about this project?
- temac 7y agoImaginary overhead doesn't count. Show me the benchmarks.
- chrismorgan 7y agoContext switching is expensive when you’re writing high-performance code. Conventional OSes require that you context switch to the kernel to perform I/O (disk or network), to say nothing of other processes vying for CPU time as well. All this is well-documented and -understood. The overhead is in no way imaginary. Unikernels don’t need to do context switches, by virtue of not having processes.
- namibj 7y agoSince io_uring, this isn't the case for most IO on Linux anymore.
- chrismorgan 7y agoI’m not terribly familiar with io_uring, and haven’t used it myself yet, but does it not still require a syscall to drive things, even though the buffers are shared? Brief investigation suggests the need for that might go away in the future? But all this io_uring stuff seems fairly immature yet and not widely used, though still definitely of interest.
- ncmncm 7y agoSyscalls to set up, otherwise just watch for atomically updated pointers to change..
- zamadatix 7y agoIf only context switching were an imaginary cost then we wouldn't have cared about spectre/meltdown impact.