PRESTO: a system for object-oriented parallel programming
Software—Practice & Experience
Mirage: a coherent distributed shared memory design
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Munin: distributed shared memory based on type-specific memory coherence
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Synchronization without contention
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Implementation and performance of Munin
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Efficient distributed shared memory based on multi-protocol release consistency
Efficient distributed shared memory based on multi-protocol release consistency
Memory consistency and event ordering in scalable shared-memory multiprocessors
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Shared virtual memory on loosely coupled multiprocessors
Shared virtual memory on loosely coupled multiprocessors
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
A Group-Based Load Balance Scheme for Software Distributed Shared Memory Systems
The Journal of Supercomputing
A grid-enabled software distributed shared memory system on a wide area network
Future Generation Computer Systems
A Hopfield neural network based task mapping method
Computer Communications
Hi-index | 0.00 |
This paper describes a prototype of DSM called Cohesion which supports two memory consistency models, namely Sequential consistency and Release consistency, within a single program to improve the performance and supports wide-variety of parallel programs for the system. Memory that is sequentially consistent is further divided into object-based and conventional (page-based) memory; where they are constructed in user-level and kernel-level, respectively. In object-based memory, the shared data are kept consistent at the granularity of an object; it is provided to improve the performance of the fine-grained parallel applications that may incur a significant overhead in conventional or release memory, as well as to eliminate unnecessary movement of the pages which are protected in a critical section. On the other hand, the Release consistency model is supported in Cohesion to attack the problem of excessive network traffic and false sharing. Cohesion programs are written in C++, and the annotation of shared objects for release and object-based memory is accomplished by inheriting a system-provided base class. Finally, three application programs including Matrix Multiplication, SOR, and Nbody have been employed to evaluate the efficiency of Cohesion. In addition, a Producer-Consumer program is tested to show that the object-based memory will benefit us in a critical section.