Live data from Hacker News

ZeroVM: lightweight containers based on Google Native Client

zerovm.org

11–20 of 79 posts

Re: ZeroVM: lightweight containers based on Google Native Client

#11
post #4

I have never read so many words and understood so little about a technology before. The density of marketing-speak per word is approximately 1. Why can't some people just explain things simply?

From what I read it's something like this: It gives a bare-bones environment for you to run your programs that is presumably very low overhead. Think of it as an embedded system where programs run without an OS. This is the environment a program running inside zerovm will see. All you have is libc and the zerovm-provided APIs. If you want more, you'll have to statically link your programs. The thing is, you can run m…

[deleted]

Re: ZeroVM: lightweight containers based on Google Native Client

#12
post #2

I'm slightly confused as to if this has any use beyond "on-demand data access" use cases. I reviewed the site and I like the idea but I'm confused as to what else this could be used for. Would something like a "Heroku" style PaaS using PyPy or something that targets NaCL benefit from this is a process separation sense? Anybody care to clarify?

Imagine if you could scale up and down the amount of computing capacity you were paying for on a second by second (or even ms by ms) basis! That would be pretty cool :)

Re: ZeroVM: lightweight containers based on Google Native Client

#14
post #3

how is it different from freebsd jails or containers in linux?

Containers/jails draw the isolation boundary around your processes, whilst this technology confines your code within a singe process and completely isolates it from the system.

Re: ZeroVM: lightweight containers based on Google Native Client

#16
This is intended as a way to run computation close to data. Some databases embed Lua or pluggable languages for that; ZeroVM can run NaCL binaries (compiled with a special toolchain), verified in the same manner as the JVM checks bytecode, on a very limited sandbox (just some pre-configured data channels). Besides the NaCL verifications, they are enforcing functional programming: the program only has access to deterministic instructions and library calls.

Re: ZeroVM: lightweight containers based on Google Native Client

#17

I will try and explain it as I understand it: Google Chrome has a sandboxed VM called Native Client (NaCl) that runs at near full speed. Its very neat. So they have taken that same VM and, instead of Chrome's Pepper API, they have a file-handle-based API and some message-passing between instances. Now you can compile your C/C++/whatever program and run it on the cloud! It seems an excellent building-block for big dat…

If I'm not mistaken, NaCl's integration with Chrome is actually implemented using Pepper.

EDIT: I found something on this. "NaCl was integrated into Chrome 5 as an in-process Pepper plugin. The NaCl modules that it runs can utilize the Pepper API for browser interaction." (http://www.chromium.org/nativeclient/getting-started/getting...)

Re: ZeroVM: lightweight containers based on Google Native Client

#18
post #4

I have never read so many words and understood so little about a technology before. The density of marketing-speak per word is approximately 1. Why can't some people just explain things simply?

From what I read it's something like this: It gives a bare-bones environment for you to run your programs that is presumably very low overhead. Think of it as an embedded system where programs run without an OS. This is the environment a program running inside zerovm will see. All you have is libc and the zerovm-provided APIs. If you want more, you'll have to statically link your programs. The thing is, you can run m…

Such a technology would enable neat stuff, like renting a server for someone to run a single program for some period of time and have the results sent back. Nobody does this for unrestricted programs today, for many reasons, a very important one being the fact that it would be very hard to do this in a secure way.

Well, almost nobody. NearlyFreeSpeech[1] lets you compile and run unrestricted C and C++ programs on their servers, or any other binary, if you compile it somewhere else. I've done some tests with a Go based webservice.

They do have a very restricted time limit until they're killed, but that's because their servers are designed for web applications, not data crunching.

[1]: http://example.nfshost.com/versions.php

Re: ZeroVM: lightweight containers based on Google Native Client

#19
post #17

I will try and explain it as I understand it: Google Chrome has a sandboxed VM called Native Client (NaCl) that runs at near full speed. Its very neat. So they have taken that same VM and, instead of Chrome's Pepper API, they have a file-handle-based API and some message-passing between instances. Now you can compile your C/C++/whatever program and run it on the cloud! It seems an excellent building-block for big dat…

If I'm not mistaken, NaCl's integration with Chrome is actually implemented using Pepper. EDIT: I found something on this. "NaCl was integrated into Chrome 5 as an in-process Pepper plugin. The NaCl modules that it runs can utilize the Pepper API for browser interaction." ( http://www.chromium.org/nativeclient/getting-started/getting... )

Exactly; that's what they don't do; they use a file-handle-based IO instead of peppar (which has file opening libraries and event loops of its own)

Re: ZeroVM: lightweight containers based on Google Native Client

#20
post #2

I'm slightly confused as to if this has any use beyond "on-demand data access" use cases. I reviewed the site and I like the idea but I'm confused as to what else this could be used for. Would something like a "Heroku" style PaaS using PyPy or something that targets NaCL benefit from this is a process separation sense? Anybody care to clarify?

Ever used distcc? (or even mosix?)

Imagine that everyone in the office could be running your tests, compiles and such easily and transparently.

There are lots of grids to do this now; but this seems like a new lighter-weight and faster solution that, as it'll run well on Windows too (in that Chrome proves it does), is going to be great.

Here's hoping :)

Post reply on HN