[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] WebAssembly Runtime for Unikraft?

Thanks, I was able to complete the getting started tutorial. Where can I find the material for porting runtimes? I'm not optimistic I can contribute but worth taking a look!

On Tue, Jul 16, 2019, 5:01 AM Felipe Huici <Felipe.Huici@xxxxxxxxx> wrote:
Hi Jonathan,

I think targeting wasm-micro-runtime would make sense, and the porting process isn't as difficult as it sounds :). Do you know if wasm-micro-runtime's build system is able to generate a static library/archive? We could then link that into a Unikraft build. In terms of languages, right now we support c/c++, so that would work for wasm-micro-runtime (we're working on other languages such as Go, Rust, Python, Ruby, etc.). We also support pthreads...and as far as I can tell the only dependency that wasm-micro-runtime has is glibc (which we can replace with newlib, which we support; we're working on musl too).

If you're interested, perhaps you can take just a bit of time to do a short Unikraft tutorial? https://wiki.xenproject.org/wiki/Category:Unikraft_Tutorial

We also have a bit of material on how porting to Unikraft works, again, noting too time consuming.


-- Felipe

On 16.07.19, 09:42, "Jonathan Beri" <jmberi@xxxxxxxxx> wrote:

    Great to hear! Unfortunately porting is beyond my skills but I'd love to help where I can! Fortunately, there are several implementations of Wasm runtimes that have a comptabible license. Are there any technical requirements that would need to
     be satisfied, like language or threading model?

    On Fri, Jun 28, 2019 at 2:43 AM Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote:

    Hey Jonathan,

    thanks for reaching out to us. We agree, WASM is another very interesting target and we had already internal discussions about porting this. You are right with
     your arguments.

    So far, no one is working on this. Would you like to do a port of WASM to Unikraft? We could give some starting pointers.
    An important criteria for selecting the runtime is the open source license that is used and if it is compatible to our Unikraft BSD license. For instance, projects
     using GPL ones would not work for us.

    Let us know what you think.



    Minios-devel <minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of Jonathan Beri <jmberi@xxxxxxxxx>
    Date: Friday, 28. June 2019 at 08:18
    To: "minios-devel@xxxxxxxxxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxxxxxxxxx>
    Subject: [Minios-devel] WebAssembly Runtime for Unikraft?

    I'm new to Unikraft but as I understand it, new language support is added by adding new runtimes. Has the team evaluated using WebAssembly (https://webassembly.org/)
     as a runtime? WASM by design is meant to execute any language that can compile to it and by design isn't limited to the web (see https://webassembly.org/docs/non-web/.) There are many runtime
     implementations which could be used (https://github.com/appcypher/awesome-wasm-runtimes) and are running on everything from serverless compute platforms (https://www.cloudflare.com/products/cloudflare-workers/)
     to microcontrollers (https://github.com/intel/wasm-micro-runtime.) Adopting a WebAssembly runtime could open up Unikraft to many more languages, which means potential for code reuse.

Minios-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.