[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] WebAssembly Runtime for Unikraft?
Hi Jonathan, We don't have any official material, but one good reference point is the Python port that is currently on the mailing list/patchwork: * https://patchwork.unikraft.org , "Initial port of CPython on Unikraft" patch series. * More specifically: https://patchwork.unikraft.org/patch/735224/ While it may look a bit lenghty, most of the lines of code are from Python config files that are auto-generated. Most of the porting work consists of identifying the source files needed for the runtime, and adding those to Makefile.uk; after that it's a matter of seeing if there are any missing dependencies. I can give you further information, but if you're interested perhaps the best might be that we add you to our Mattermost chat service and we take this offline, what do you think? Thanks, -- Felipe ============================================================ Dr. Felipe Huici Chief Researcher, Systems and Machine Learning Group NEC Laboratories Europe GmbH Kurfuerstenanlage 36, D-69115 Heidelberg Tel. +49 (0)6221 4342-241 Fax: +49 (0)6221 4342-155 e-mail: felipe.huici@xxxxxxxxx ============================================================ Registered at Amtsgericht Mannheim, Germany, HRB728558 On 17.07.19, 00:00, "Jonathan Beri" <jmberi@xxxxxxxxx> wrote: 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 <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. Thanks, -- 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. Thanks, Simon From: 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/ <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 Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |