MoteFS | TerraDir    Deno | Harmony | CVM   Peter J. Keleher 

The Coherent Virtual Machine
The Coherent Virtual Machine (CVM) software Distributed Shared Memory (DSM) system is being developed here at the University of Maryland. Project goals include:
  • Multiple protocol support - CVM's initial configuration provides four memory models, single- and multiple-writer versions of lazy release consistency, sequential consistency, and eager release consistency.

  • Extensibility - CVM's source is freely available, and modules are written in C++. New classes can easily be derived from a master Protocol class, allowing new protocols to be easily incorporated.

  • Multi-threading support - CVM is multi-threaded, allowing overlap of computation and communication through context switching.

  • On-line reconfiguration - CVM uses thread mobility to support automatic online reconfiguration. Thread migration will be used to adjust the degree of parallelism, to balance load, and to minimize communication requirements.

  • Heterogeneity - CVM (version 1.0) will allow execution on heterogeneous clusters of workstations.

  • Race detection - We built a practical online race detection system that is guaranteed to catch all races that actually occurred during an execution, with an order of magnitude less overhead than previous systems.

  • Tapes - Tape-based synchronization libraries are layered on top of existing consistency protocols and synchronization interfaces, and are used to direct data movement. Tapes allow shared accesses to be recorded, grouped, and manipulated at a very high level. These tapes can be used to predict future data accesses and to eliminate subsequent misses by moving data before it is needed.

 Project Members
 Papers and Links