The Plurix project implements an object-oriented operating system (OS) for PC clusters. Communication is achieved via shared objects in a distributed shared memory (DSM). The consistency of this distributed memory is guaranteed by an optimistic synchronization scheme and restartable transactions. We contend that coupling object orientation with the DSM property allows quick system startup, simplified development of distributed applications and a type-consistent system bootstrapping procedure. The OS (including kernel and drivers) is written in Java using proprietary Plurix Java compiler (PJC) to translate Java source code directly into Intel machine instructions. We briefly illustrate the architecture of our DSM-based OS kernel and the resulting synergies for communication between applications and OS. We present advanced issues of memory management with respect to the DSM-kernel classes and strategies to avoid false-sharing.
[1]
Alan L. Cox,et al.
TreadMarks: shared memory computing on networks of workstations
,
1996
.
[2]
Michael Schöttner,et al.
Device driver programming in a transactional DSM operating system
,
2002
.
[3]
Stefan Traub,et al.
Speicherverwaltung und Kollisionsbehandlung in transaktionsbasierten verteilten Betriebssystemen
,
1996
.
[4]
Michael Schöttner,et al.
Optimistic Synchronization and Transactional Consistency
,
2002,
2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02).
[5]
David Abramson,et al.
Implementing a large virtual memory in a Distributed Computing
,
1985
.
[6]
Kai Li,et al.
IVY: A Shared Virtual Memory System for Parallel Computing
,
1988,
ICPP.