Personal tools

JVM on Barrelfish

Summary:

What should the interface between a language/VM runtime and an operating system be?

Motivation:

Barrelfish is a new operating system being developed within the Systems Group targeting future multicore architectures. It eschews the traditional POSIX system call API in favour of a model that exposes the underlying concurrency and hardware heterogeneity; for example, user-level processes explicitly manage their own address space (with the help of a library) and schedule their own threads. High-level languages, including Java, can benefit from such an interface: thread creation can be cheap, and a number of optimisations that require hardware awareness become possible.

Goals:

Bring up an open-source JVM (such as the Jikes RVM, although this may be negotiated) on Barrelfish; this may involve both porting the JVM to Barrelfish but also adapting the Barrelfish interfaces and libraries to the JVM. Then explore one or more of the following research ideas:

  • Integration of garbage collection policies with virtual memory system behaviour
  • Explicit management of concurrency with scheduler activations and user-level threads
  • JVM design for multi-core systems
  • ...

Technologies:

C, Java, OS API design, language runtime implementation.

Contact:

Adrian Schüpbach

Document Actions