JavaGuest - A Research Java Virtual Machine on Xen Mick Jordan, - - PowerPoint PPT Presentation

javaguest a research java virtual machine on xen
SMART_READER_LITE
LIVE PREVIEW

JavaGuest - A Research Java Virtual Machine on Xen Mick Jordan, - - PowerPoint PPT Presentation

JavaGuest - A Research Java Virtual Machine on Xen Mick Jordan, Sun Labs Grzegorz Milos, Cambridge University Computer Lab SUN LABS PROJECT: SUN LABS PROJECT: Context Java 6 provides a complete platform for server- side


slide-1
SLIDE 1

JavaGuest - A Research Java™ Virtual Machine on Xen

Mick Jordan, Sun Labs Grzegorz Milos, Cambridge University Computer Lab

slide-2
SLIDE 2

SUN LABS PROJECT:

Context

  • Java™ 6 provides a complete platform for server-

side applications

  • No application-level native code
  • JVM™ dynamic compiler can generate optimal

machine code from Java bytecodes

SUN LABS PROJECT:

slide-3
SLIDE 3

SUN LABS PROJECT:

Problem

  • Platform libraries are (partly) implemented by JVM

native code and operating system code layers

  • Crossing these layers can be expensive
  • Dynamic compiler has no visibility into these

layers

  • JVM on bare-metal is a lot of (ongoing) work

SUN LABS PROJECT:

slide-4
SLIDE 4

SUN LABS PROJECT:

Opportunity

  • Para-virtualization API dramatically reduces

barrier to entry for “bare-metal” JVM

  • Multiple guest allows incremental approach to

implementing I/O support

  • Project Maxwell VM

> Sun Labs research JVM written in Java 6 enables an

all-Java software stack

SUN LABS PROJECT:

slide-5
SLIDE 5

SUN LABS PROJECT:

Goals

  • Enable optimized, specialized, server-side

Java applications with an all-Java software stack

  • Exploit access to low-level mechanisms for

thread scheduling, memory management

  • Simplify development, administration of

applications

SUN LABS PROJECT:

slide-6
SLIDE 6

SUN LABS PROJECT:

Related Work

  • BEA LiquidVM

> JRockit JVM on “bare-metal” > VMWare/Xen

  • IBM Libra

> J9 JVM on Libra “library operating system”

> i.e., Libra is an extended “Mini-OS”

> Libra off-loads network/disk to sibling guest

SUN LABS PROJECT:

slide-7
SLIDE 7

SUN LABS PROJECT:

Initial Prototype

  • Build on enhanced Mini-OS

> SMP support > Pre-emptive threading > Debugging support

  • File I/O delegated to sibling guest

> Pseudo device driver

  • Network stack in domain

> Written in Java

SUN LABS PROJECT:

slide-8
SLIDE 8

SUN LABS PROJECT:

Debugging

  • Project Maxwell Inspector

> GUI-based debugger that understands Project

Maxwell VM data structures

> Uses ptrace (Linux), libproc (Solaris) to

communicate with target VM

> Ported to Xen using pseudo-device driver

> provides ptrace-like support

> Uses user-level grant table device driver

> Only available for Linux > Inspector has to run as root

SUN LABS PROJECT:

slide-9
SLIDE 9

SUN LABS PROJECT:

Status and Future Work

  • Status

> Simple programs running > Inspector mostly working

  • Future Work

> Network stack > Build up to production application

> Application server, Game server

> Rewrite Mini-OS in Java > Optimization and specialization > Open Source mid-2008

SUN LABS PROJECT:

slide-10
SLIDE 10

SUN LABS PROJECT:

More Info

  • Email: mick.jordan@sun.com
  • Project Maxwell VM:

> http://research.sun.com/projects/maxwell

  • JavaGuest Project:

> http://research.sun.com/projects/javaguest

SUN LABS PROJECT: