Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris.

Similar presentations


Presentation on theme: "1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris."— Presentation transcript:

1 1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris

2 2 © 1999 Citrix Systems Inc Problems supporting Java Part of the ‘Nemesis philosophy’ is to expose real resources to applications What should be done if the application is written in Java? Why is Java different from C? How can the desire to expose real resources be reconciled with the high-level abstractions provided by the JVM? Even the CPU is virtualized in two ways: (i) processing time is shared between between tasks (ii) applications are written in Java bytecode rather than native code

3 3 © 1999 Citrix Systems Inc New thread scheduler New scheduler expresses CPU requirements as: Period & slice Extra time flag Can accommodate a variety of tasks, eg: 30% every 1ms  interactive program 5% every 100ms  background task extra time only  unimportant task Extra time is shared out according to priority hints

4 4 © 1999 Citrix Systems Inc Run-time compilation Provide mechanisms which allow the programmer to control the compiler and to implement their own policy. For example: Compile quickly on first invocation Compile with maximum optimization Compile in the background Never compile Provide a selection of default policies

5 5 © 1999 Citrix Systems Inc Background compilation

6 6 © 1999 Citrix Systems Inc Interoperability The aim is to be able to invoke operations on interfaces from the Nemesis environment without having to create native methods Two components: A new Java binding for the MIDDL interface definition language Run-time support for allowing invocations

7 7 © 1999 Citrix Systems Inc Extensible virtual machines Policy decisions can often be separated (safely) from implementation mechanisms Thread scheduling Object representation Primitive operations Run-time code generation One size does not fit all

8 8 © 1999 Citrix Systems Inc Motivating example Object placement in the heap Safety requires the objects are stored in correctly-sized blocks of memory that are not already in use May wish to control Where instances of different classes are stored Where instances allocated by different threads are stored Which free block is chosen, if there is a choice When the heap is expanded and when collection occurs

9 9 © 1999 Citrix Systems Inc Prototype XVM design >>> < Operations available to application Machine A Machine B Machine C >> Instance of code module Interface

10 10 © 1999 Citrix Systems Inc Ensuring safety At a coarse level, the selection of implementation machines and pre-defined modules available can be limited At a finer granularity, modules provide descriptions of their verification-time behavior in addition to their concrete implementation

11 11 © 1999 Citrix Systems Inc Demonstrations Thread scheduler control interface Unmodified X-windows clients Telnet client

12 12 © 1999 Citrix Systems Inc Contact details tim.harris@citrix.com http://www.cl.cam.ac.uk/~tlh20


Download ppt "1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris."

Similar presentations


Ads by Google