Please create a .NET Core Unikernel, Nano Server is too Big #541
Comments
@AceHack Rump Kernels linked from one of your articles provides support running POSIX'y software. Chances are that if you play around a bit, you can get the Linux-targeting CoreRT running with it... |
I did some experiments with OSV using C++ codegen and was able to get a simple helloworld working Got the simple hello world working after I disabled QueryCacheSize and the finalizer thread. tijoytom@uberbot:~/osv$ sudo ./scripts/run.py -nv -c1
I will be updating https://github.com/tijoytom/capstan-example with instructions on how get the hello world working if anyone wants to playground with it. |
There is actually a really nice write up by one of the founders of Joyent about how unikernels may be missing the point a bit. (Sorry, I don't have the URL.) His point, in short, was basically that applications these days actually aren't bound by context switches, which are the main thing that unikernels save you from. I'm probably not doing it justice, but it did make the case that what's intuitively better sometimes really isn't that much better when you make measurements. |
I think this's what you are refereeing to https://www.joyent.com/blog/unikernels-are-unfit-for-production |
That's the one. Thanks! |
Understandable given how open .NET now is, we surely can pick other unikernel systems as the base, yet why trash the valuable work of DrawBridge to not "Change the World"? If Docker "forced" MS to embrace container and being a follower, why repeat this again and lose unikernel game? Everybody would benefit if considering the IoT thing, as Mary Jo said. Anyone interested to start a petition to Open the DrawBridge? |
@tijoytom definitely interested in seeing the work you did with OSv |
@ilackarms It's been a while back that i did the experiment , i still have the run-time changes on my machine. The path that i look was the easiest ie use cpp compile and then use clang / gcc to compile to native binary. |
@tijoytom you did not cross-compile dotnet CLR? all you did was compile some C# to a native binary? and that worked? |
@ilackarms Yes , I did cross compile the runtime (dotnet CLR) and link it to produce the final binary. |
@tijoytom were there any changes you had to make to CLR source to make it cross compile to run on OSv? |
@ilackarms I didn't actually make any change to compile CLR , but i had to make some changes to get 'helloworld' running on OSV . 1.Removed bool QueryCacheSize() from PalRedhawkUnix , opendir("/sys/devices/system/cpu") do not work on OSV. |
great! thanks. I am interested in trying this out on top of a rumprun unikernel instead of OSv. |
Hi, everybody! Did any of you continued working on running .NET on top of a unikernel? Thanks! |
Any updates on this stuff? |
any updates? |
@AceHack two things:
|
I'm looking at using WebAssembly based unikernels in the distant future. I assume .Net -> WebAssembly and Non-Web Embeddings for WebAssembly are both much more likely to happen independently than a lightweight .Net Unikernel. |
Just wanted to give this a punt.... Any news / progress as yet? |
I just recently saw a talk done by the creators of the vorteil.io unikernel and they claim that they can get .NET core running on top of their custom Linux unikernel. The only caveat is that their kernel is not open source. |
If it's based on the linux kernel, I'm not sure they can keep it closed source if they distribute the binary to people... |
IANAL, but what I can say is that if they can do it for the JVM, then they can most certainly do the same thing with the CLR: https://www.youtube.com/watch?v=C_YEfT7bZm8 |
Containers like Docker and Server OSs like Nano Server are too big and bring to much baggage. Please create an ultra tiny .NET Core Unikernel for the ultimate cloud OS. Make sure it runs perfect in Hyper-V and Xen.
Some background links:
http://research.microsoft.com/en-us/projects/drawbridge/
http://wiki.xenproject.org/wiki/Unikernels
https://www.youtube.com/watch?v=W9F4pn9Lngc
https://www.linux.com/news/enterprise/cloud-computing/819993-7-unikernel-projects-to-take-on-docker-in-2015
The text was updated successfully, but these errors were encountered: