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) using restartable transactions and an optimistic synchronization scheme to guarantee memory consistency. We believe that coupling object orientation with the DSM property allows a type-consistent system bootstrapping, quick system startup and simplified development of distributed applications. The OS (including kernel and drivers) is written in Java using our own Plurix Java Compiler (PJC) translating Java source texts directly into Intel machine instructions. PJC is an integral part of the language-based OS and tailor-made for compiling in our persistent DSM environment. In this paper we briefly illustrate the architecture of our DSM kernel and integration aspects of PJC. We present memory management issues related to the bootstrapping and startup process in particular memory pools to circumvent the false-sharing problem. We also describe the compiler supported “station object” used to access node private device drivers. Finally, we discuss the startup process relying on our cluster-wide naming service used to store persistent instances.
[1]
Malcolm P. Atkinson,et al.
Algorithms for a persistent heap
,
1983,
Softw. Pract. Exp..
[2]
Ronald Morrison,et al.
Orthogonally persistent object systems
,
1995,
The VLDB Journal.
[3]
Kai Li,et al.
IVY: A Shared Virtual Memory System for Parallel Computing
,
1988,
ICPP.
[4]
Stefan Traub,et al.
Speicherverwaltung und Kollisionsbehandlung in transaktionsbasierten verteilten Betriebssystemen
,
1996
.
[5]
Niklaus Wirth,et al.
Project Oberon - the design of an operating system and compiler
,
1992
.
[6]
David Abramson,et al.
Implementing a large virtual memory in a Distributed Computing
,
1985
.
[7]
Peter Schulthess,et al.
Implementation Aspects of a Persistent DSM Operating System in Java
,
1999
.
[8]
Peter Schulthess,et al.
LINKING AND LOADING IN A PERSISTENT DSM OPERATING SYSTEM
,
2000
.
[9]
John Rosenberg,et al.
Persistence in the Grasshopper Kernel
,
2000
.
[10]
Michael Schöttner,et al.
Device driver programming in a transactional DSM operating system
,
2002
.