LOTS: Software Distributed Shared Memory Supporting a Large Object Space
Software DSM provides good programmability for cluster computing, but its performance and limited shared memory space for large applications hinder its popularity. Due to the memory mapping strategy and the limited size of the process space, most current DSM systems cannot create more than 4GB of shared memory on 32-bit machines, regardless of the number of machines used.
We introduce LOTS (Large ObjecT Space), a DSM system whose main objective is to provide a large shared object space, with the use of the local disk of each machine as backing store. LOTS can provide more than 4GB of shared object space, with an upper bound being the space available in the local hard disk. To let the virtual address space store more objects, only a trace of control information for each object is needed to be resident in the virtual address space, while the actual object data are dynamically but lazily mapped into the virtual memory when being accessed. The whole process is done at runtime, without any compiler preprocessing.
To our knowledge, LOTS is the first pure runtime software DSM supporting a shared object space larger than the local process space. Our testing shows that LOTS can utilize all the free hard disk space available to support hundreds of gigabytes of shared objects with a small overhead (around 5-15% of the total execution time). The scope consistency memory model and a new mixed coherence protocol allow LOTS to achieve better scalability with respect to problem size and cluster size.
A detailed description of the LOTS project will be available soon.