next up previous
Next: The Virtual Disk Cache Up: Design and Implementation Previous: The Virtual Disk Server

The Virtual Disk Proxy

The PLaVa Java Virtual Machine (JVM) was modified to use an interface called ``Store Proxy'', which performs the necessary mapping from objects to the physical storage. It uses a new module called the Virtual Disk Proxy to read and write from the Virtual Disk. The Virtual Disk Proxy handles all the network communication with the Virtual Disk Server. See Figure 1.

An important part of the Store Proxy is the layout of objects and their metadata on the store. We use a layout policy similar to that of Frangipani [7]. We reserve the region from 4TB to 5TB for object entries. Object entries are 512 bytes each. They contain the length of an object and the indices of the data blocks storing that object. The data blocks are stored in the 5TB to 7TB region. Each data block is 4K in size.

When accessing the persistent store it is necessary to find objects based on their Persistent Identifier (PID). The PLaVa JVM expects PIDs to be negative so that it can distinguish them from real addresses for objects. To generate a PID for an object we simply negate the offset of the object entry. Thus the object entry at offset 1 would be represented by the PID -1.


next up previous
Next: The Virtual Disk Cache Up: Design and Implementation Previous: The Virtual Disk Server
John Leuner
1999-10-13