On Sat, Dec 12, 2015 at 4:38 AM, Holger Freyther <hol...@freyther.de> wrote: > >> On 11 Dec 2015, at 20:09, Eliot Miranda <eliot.mira...@gmail.com> wrote: >> >> Ben, >> >> great to hear you're working on this! I'm watching with bated breath! >> BTW, you might find that Docker is easier and more general; I believe >> there's no Xen for ARM for example, and ARM is increasingly interesting with >> up coming extremely cheap 64-bit versions of Pi and PINE. Good luck!! > > @Eliot: There is Xen for ARMv8 (because ARM is interesting for multi-core > servers)
Indeed, ARM seems a very good fit for the Xen hypervisor. http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions_whitepaper Some technical info on ARM virtualization [1] 8:50 technical info starts (note, sound broken first 0:30) 11:55 nice overview of architecture virtualization support * RasPi 2 with Cortex-A7 would thus seem support Xen virtualization (but other revision not) * BeagleBoneBlack with Cortex-A8 would seem not to :( but maybe the next upgrade, the future comes around fast sometimes... * PINE with Cortex-A53 would support Xen virtualization 14:00 shows privilege model where perhaps something like the car drive-by-wire system runs in the "Secure world", and entertainment apps (e.g. Pharo/Squeak) run under the hypervisor. I'm not sure Docker provides provides this separation. 24:05 not that I understand a "2MB section" but it seems useful our VM fits within that 26:00 Handles 256 running VMs per CPU. 31:00 Timers [1] https://www.youtube.com/watch?v=uvh6Mu3j1oY > @Ben: Awesome. Will be interesting how small one can get it (with still > functioning TCP/IP) StackVM = 1.4MB StackVM.unikernel = 15MB Pharo.image += 30MB so without trying gives a system ~45MB + application code Alternatively pharo-minimal.image = 6.2MB giving a system ~21MB + application code. For comparison [2] discusses typically having 1GB docker images, but they can reasonably trim it to 85MB - but how much functionality do they lose (e.g. we can retain out GUI debugger). So even though raw Go apps get down to 3.5MB, I think the rump kernel puts us in the ball park. [2] https://labs.ctl.io/optimizing-docker-images/?hvid=1OW0br cheers -ben