Hello 2020 / WebAssembly Summit

Details

This month we're sponsored by the fine folks at Cloudflare. For those in town for the WebAssembly Summit or if you couldn't make it, we gotchu.

The Meetup will be recorded and videos will be linked here after the event.

Agenda:

6:00 p.m. - 6:15 p.m. Check in at Cloudflare and sign their NDA
6:30-7:15pm - CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli
7:30-8:15pm - Building a Specialized Wasm Operating System with Unikraft, Sharan Santhanam

About the talks:

*Building a Specialized Wasm Operating System with Unikraft*

IoT and embedded devices are ubiquitous, and Linux is arguably the dominant operating system used to drive them thanks to its a large range of supported applications, programming languages, and a friendly development and deployment environment, among others. However, it is well known that Linux is resource hungry, which is a problem for devices where such resources are at a premium. Worse, because it is monolithic, stripping unnecessary parts off is non-trivial, and the resulting Trusted Compute Base unnecessarily large, potentially leading to a great number of vulnerabilities in deployed systems.

In this talk we introduce a Wasm-specialized operating system built with Unikraft, a library OS build tools and common code base that significantly simplifies the process of generating OS and software stacks tailored to the needs of a particular application (or in this case the Intel WebAssembly Micro Runtime). We demonstrate the system on a standard Raspberry Pi 3 B+, where a simple hello world Wasm program takes just 13 milliseconds to boot and consumes only 53KB of memory, significantly better than a standard Raspbian Lite installation.

*CheerpX: a WebAssembly-based x86 virtual machine in the browser*

WebAssembly is a new web technology that promises to revolutionize the web ecosystem. In this talk, I will explore the very limits of what is possible to do with it, by describing CheerpX: A WebAssembly-based x86 virtual machine in the browser.

Similarly to modern native virtual machines, CheerpX features a Just-In-Time compiler capable of producing optimized WebAssembly code at runtime. This has the potential of speeding up the execution considerably and unlocking the possibility of running real-world native applications in the browser.

One such application that we are currently working on at Leaning Technologies to showcase the CheerpX potential is the Adobe Flash Player for Linux: This allows running unmodified Flash content on modern browsers without plugins.

About the speakers:

Yuri is a Senior Software Engineer at Leaning Technologies. He mainly works on the internals of their C/C++ to JavaScript/WebAssembly compiler Cheerp, and on their Java Bytecode to JavaScript/WebAssembly compiler CheerpJ.

Sharan works as a software specialist at the NEC Labs Europe. His primary work is on developing and maintaining Unikraft, an open source project that aims to ease the development of Unikernel. His research interests are in building lean kernels.