Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
COMA-F: a non-hierarchical cache only memory architecture
COMA-F: a non-hierarchical cache only memory architecture
The MIT Alewife machine: architecture and performance
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
CRL: high-performance all-software distributed shared memory
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Shasta: a low overhead, software-only approach for supporting fine-grain shared memory
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
The SGI Origin: a ccNUMA highly scalable server
Proceedings of the 24th annual international symposium on Computer architecture
The directory-based cache coherence protocol for the DASH multiprocessor
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Making Distributed Shared Memory Simple, Yet Efficient
HIPS '98 Proceedings of the High-Level Parallel Programming Models and Supportive Environments
A Speedup Comparative Study: Three Third Generation DSM Systems
ICPADS '00 Proceedings of the Seventh International Conference on Parallel and Distributed Systems: Workshops
Shared virtual memory on loosely coupled multiprocessors
Shared virtual memory on loosely coupled multiprocessors
Virtual memory on data diffusion architectures
Parallel Computing
CAS-DSM: a compiler assisted software distributed shared memory
International Journal of Parallel Programming
Hi-index | 0.00 |
The data diffusion space (DDS) is an all-software shared address space for parallel computing on distributed memory platforms. It is an extra address space to that of each process running a parallel application under the SPMD (Single Program Multiple Data) model. The size of DDS can be up to 264 bytes, either on 32- or on 64-bit architectures. Data laid on DDS diffuses, or migrates and replicates, in the memory of each processor using the data. This data is used through an interface similar to that used to access data in files. We have implemented DDS for PC clusters with Linux. However, being all-software, DDS should require little change to make it immediately usable in other distributed memory platforms and operating systems. We present experimental results on the performance of two applications both under DDS and under MPI (Message Passing Interface). DDS tends to perform better in larger processor counts, and is simpler to use than MPI for both in-core and out-of-core computation.