Doppio: Breaking the Browser Language Barrier

Web browsers have become a de facto universal operating system, and JavaScript its instruction set. Unfortunately, running other languages in the browser is not generally possible. Translation to JavaScript is not enough because browsers are a hostile environment for other languages. Previous approaches are either non-portable or require extensive modifications for programs to work in a browser.

This talk presents Doppio, a JavaScript-based runtime system that makes it possible to run unaltered applications written in general-purpose languages directly inside the browser. Doppio provides a wide range of runtime services, including a file system that enables local and external (cloud-based) storage, an unmanaged heap, sockets, blocking I/O, and multiple threads. We demonstrate Doppio’s usefulness with two case studies: we extend Emscripten with Doppio, letting it run an unmodified C++ application in the browser with full functionality, and present DoppioJVM, an interpreter that runs unmodified JVM programs directly in the browser. While substantially slower than a native JVM (between 24X and 42X slower on CPU-intensive benchmarks in Google Chrome), DoppioJVM makes it feasible to directly reuse existing, non compute-intensive code.

Speaker Details

John Vilk is a fourth-year PhD student at the University of Massachusetts Amherst, advised by Emery Berger. His research aims to make the web platform a sane place for ordinary developers. His work on Doppio won the Distinguished Artifact Award at PLDI 2014, and was selected as a SIGPLAN Research Highlight. Doppio is already being used by the University of Illinois at CodeMoo.com to teach children how to program in Java, and at the Internet Archive to bring historical DOS applications to the browser. John’s other projects include SurroundWeb, which extends the web platform to grant applications the ability to intelligently project content into a room while preserving user privacy, and JSMESS, which brings historical software to life in the Historical Software Collection and the Internet Arcade at the Internet Archive.

Date:
Speakers:
John Vilk
Affiliation:
University of Massachusetts Amherst

Series: Microsoft Research Talks