PATRICK W. Dowd, John Chu · 1994
This paper studies the interaction between the access protocol used to provide arbitration for a wavelengthdivision multiple access photonic network and the cache coherence protocol required to support a distributed shared memory environment. The architecture is based on wavelength division multiplexing which enables multiple multi-access channels to be realized on a single optical fiber. Larger blocks are supported to reduce the per bit overhead and increase the exploitation of spatial locality, while false sharing is reduced through a mechanism to provide a finer granularity of invalidation. Two main approaches have been considered to harness the enormous available bandwidth of WDMA optical networks: reservation (control-channel based) or pre-allocation media access protocols. This paper extends the function of a control channel to include broadcast support of cache-level control information, in addition to its primary role of data channel reservation, thereby enabling a snooping ba...
Cited by 0
J. Silcock · 1996
In Distributed Shared Memory design the memory consistency model used can have a major impact on the efficiency of the system. In this paper we describe previous work on consistency models with particular reference to weak consistency models. Weak consistency models use synchronization points as checkpoints at which the memory is made consistent. When designing a consistency model for RHODOS, we propose to go one step further and use the synchronization operations to demarcate the sections of code in which shared data is accessed. Only this shared data will be kept consistent. 1.
Cited by 0
Hani Jamjoom, Steve Raasch, Andrew Shih · 1999
Cited by 0
Basumallik, Ayon · Purdue e-Pubs (Purdue University System) · 2007
OpenMP has established itself as the de facto standard for parallel programming on shared-memory platforms. OpenMP provides a simpler approach to parallel programming, allowing programs to be parallelized incrementally by the insertion of directives. In contrast, parallel programming on distributed-memory systems using message-passing is effort intensive. It requires the programmer to parallelize programs as a whole and to explicitly manage data transfers. This dissertation aims to extend the ease of parallel programming in OpenMP to distributed-memory systems as well. To that end, we propose two approaches. In the first approach, we use an underlying layer of Software Distributed Shared Memory (SDSM). However, SDSM systems have some inherent performance limitations. Therefore, this dissertation explores a second approach - direct translation of OpenMP applications to MPI. We present the basic translation scheme and optimizations for both regular and irregular OpenMP applications. Experiments with seven OpenMP benchmarks indicate that OpenMP applications translated directly to MPI using our techniques achieve average scalability within 12% of their hand-coded MPI counterparts, a 30% higher average scalability than corresponding SDSM applications and between 12% to 89% higher scalability than corresponding applications written in High Performance Fortran (HPF). A combined compile-time/runtime scheme, evaluated using three representative irregular OpenMP applications, achieves performance to within 10% of its MPI counterpart in one case and outperforms its hand-coded MPI counterparts in the other two cases.
Cited by 0
Andrew Wilson, Richard P. LaRowe, M.J. Teller · 2002
The use of software implemented distributed shared memory (SDSM) to provide shared memory programming environments on networks of workstations and message-passing parallel computers has become quite popular. However, the memory reference patterns of many shared memory programs lead to poor performance on such systems. The authors propose hardware assist to improve the performance of SDSM systems faced with problematic reference patterns. An example of such a system is described. Operating system software in Mach is used to provide internode sharing in the example system, but is assisted through hardware support for maintaining update-based coherence of replicated pages. Simulations driven by hardware-collected parallel reference traces are used to provide an indication of the expected performance of the system.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 28
Michael Stumm, Songnian Zhou · 2002
Distributed shared memory (DSM) has received increased attention as a mechanism for interprocess communication in loosely-coupled distributed systems because of its perceived advantages over direct use of message passing or remote procedure calls. One problem with most DSM algorithms proposed to date, however, is that they do not tolerate faults. The paper extends four basic DSM algorithms to tolerate single host failures and argues that this degree of fault tolerance is sufficient for most applications. It analyzes the performance behavior of the fault tolerant DSM algorithms and shows that for some algorithms the additional overhead for fault tolerance is quite small, but that for other algorithms the extra overhead can be substantial and even unpredictable.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 47
Siddharth Ramesh, R. Jaya Lakshmi, R. Govindarajan · 2002
Distributed Shared Memory (DSM) approach provides the illusion of a global shared address space by implementing a layer of shared memory abstraction on a physically distributed memory system. In this paper, we present DSM-SP2, a software distributed shared memory system built on IBM SP2, a distributed memory machine. DSM-SP2 is implemented completely in software as a set of user-level library routines on top of the AIX operating system without requiring any modifications to the operating system or any additional compiler support. The salient features of DSM-SP2 are: (i) it implements lazy release consistency model with hybrid coherence protocol to reduce the communication overheads; (ii) it allows multiple concurrent writers to minimize the effects of false-sharing; (iii) to reduce the DSM overheads and the idling time of processes, the DSM-SP2 implementation allows multiple processes per node; and (iv) it implements a new synchronization primitive called conditional lock acquire/release for effective simple producer-consumer type of synchronization. Detailed performance measurements for three benchmark programs namely, Water, Jacobi and Tomcatv are reported.
Cited by 0
M. Rawdon, H. Delery, R. Driskill et al. · 2002
Examines evaluation tools for distributed shared-memory (DSM) parallel processing systems, and the concept of an ideal tool set for DSM systems by describing characteristics that such a set should possess. The authors then describe applications they have developed and examine their suitability as evaluation tools. Particular attention is given to the characteristics of tools for the Mirage trace-driven simulator. The limitations of the present applications and how the gap between existing tools and an ideal tool set can be bridged are discussed.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 1
Mahyou Amarki, Khalid · RECERCAT (Consorci de Serveis Universitaris de Catalunya)
[CATALÀ] En aquest projecte millorem GMAC amb noves capacitats i millorar les funcions ja existents. Hem desenvolupat una utilitat que divideix l'espai de dades en blocs similars en longitud. Hem desenvolupat un protocol de coherència de memòria per mantenir totes les dades coherents en tots els dispositius.
Cited by 0Open access
Brian N. Bershad, Matthew J. Zekauskas, Wayne Sawdon · 1993
Cited by 150
Enterprise In Building · 2015
Abstract: This paper proposes a new approach to building a Virtual Enterprise (VE) software infrastructure that offers persistence, concurrent access, coherence and security on a distrib-uted datastore based on the distributed shared-memory paradigm. The platform presented, Persistent Distributed Store (PerDiS), is demonstrated with test applications that show its suitability and adequate performance for the building and construction domain. In particular, the successful adaptation of SDAI to PerDiS and a comparison with CORBA are presented as examples of the potential of the distributed shared-memory paradigm for the VE environment. 1
Cited by 0
Franck Butelle, Camille Coti · HAL (Le Centre pour la Communication Scientifique Directe) · 2012
We present a new model for distributed shared memory systems, based on remote data accesses. Such features are offered by network interface cards that allow one-sided operations, remote direct memory access and OS bypass. This model leads to new interpretations of distributed algorithms allowing us to propose an innovative detection technique of race conditions only based on logical clocks. Indeed, the presence of (data) races in a parallel program makes it hard to reason about and is usually considered as a bug.
Cited by 0Open access
Robert Dewar, Susan Flynn, Edmond Schonberg et al. · Cambridge University Press eBooks · 1990
The Ada multi-tasking model is one in which tasks can run on separate processors and memory is either non-shared (local to one task), or shared (referenced by more than one task). It would therefore seem that mapping Ada onto a multi-processor architecture with both local and shared memory should be straightforward. This paper examines the difficulties in mapping Ada onto the IBM RP3 which is an example of such an architecture. In practice there are a number of difficult problems, the most significant of which is the inability to determine at compile time which variables are shared. The RP3 has a flexible shared memory architecture, and an important purpose of the Ada/RP3 project is to investigate possible models for implementation of Ada, with a view to determining whether modifications or enhancements of Ada are desirable to ensure optimal use of such architectures.
Cited by 5
G. Papakonstantinou, Panayotis Tsanakas · 1993
Cited by 0
Frank Mueller · 1997
This paper is, to our knowledge, the first description of a system to support distributed threads on top of POSIX Threads (Pthreads) via distributed virtual shared memory (DSM). The aim of DSMThreads is to provide an easy way for a programmer to migrate from a concurrent programming model with shared memory (Pthreads) to a distributed model with minimal changes of the application code. Thus, a programmer may continue to use the shared-memory algorithms and exploit to processing power of a distributed system without dealing with the more complex (and harder to understand) models of distributed algorithms. This paper discusses design goals, design decisions, and implementation choices of DSM-Threads. As the DSM runtime system is itself implemented as a multi-threaded system over Pthreads on each node and copes without compiler or operating system modifications, several problems arise and their solutions are discussed. Several data consistency models are supported to facilitate ports fro...
Cited by 21
James Zhou Masaaki, James Z. Zhou, Masaaki Mizuno et al. · 1993
Recently, distributed shared memory (DSM) systems have received much attention because such an abstraction simplifies programming. An important class of DSM implementations is one which uses cache memories to improve efficiency. In this paper, we present a cache-consistency protocol for DSM which requires significantly less communication than previously proposed protocols. This is achieved by maintaining one bit of state information for each cache object in the system. We prove that the protocol satisfies a formulation of sequential consistency. Index Terms : cache-consistency protocols, distributed shared memory, sequential consistency 1 Introduction In a distributed computing environment, distributed shared memory (DSM) systems have received much attention because such an abstraction simplifies programming. An important class of DSM implementations is one in which the This work was supported in part by the National Science Foundation under Grant CCR9201645. y This work wa...
Cited by 0
J. Silcock · 1997
Distributed Shared Memory is an important topic in distributed system research as it allows programmers to write and use code for shared memory multiprocessors on a system which does not in fact have physically shared memory. In this report I will discuss the literature I have read related to Distributed Shared Memory in an attempt to identify the important research issues in this area. The first section covers the high level design choices and research issues regarding DSM. The second section discusses the implementation issues and some current implementations of DSM. 1
Cited by 0
Thobias Trevisan Vtor, Thobias S. Trevisan, Vtor Santos et al. · 2002
In this paper, we introduce MOMEMTO (MOre MEMory Than Others) a new set of kernel mechanisms that allow users to have full control of the distributed shared memory on a cluster of personal computers. In contrast to many existing software DSM systems, MOMEMTO supports efficiently and flexibly global shared-memory allowing applications to address larger memory space than that available in a single node. MOMEMTO has been implemented in the Linux 2.4 kernel and preliminary performance results show that MOMEMTO has low memory management and communication overheads and that it can indeed perform very well for large memory configurations.
Cited by 0
David L. Black, Anoop Gupta, Wolf-Dietrich Weber · 1988
Cited by 7
Paulo Guedes, Miguel Castro, Nuno Neves · 1994
DiSOM is a software-based distributed shared memory system for a multicomputer composed of heterogeneous nodes connected by a high-speed, low latency network [Guedes 93]. The current prototype comprises a Sun SPARCCenter 2000 with 10 processors and several SPARCStation 10, i486 PC and Dec Alpha, connected by ATM and Ethernet.Programs in DiSOM are written using a shared-memory multiprocessor model where synchronization objects are explicitly associated with data items. Programs are composed of a set of parallel threads of execution. These threads share data objects and synchronize by explicit calls to system provided synchronization constructs. The system traps these calls and uses the information to drive both distributed synchronization and the memory coherence protocol. DiSOM uses the entry consistency memory model [Bershad 93] to ensure coherence. This model guarantees memory consistency, as long as an access to a data item is enclosed between an acquire and a release on the synchronization object associated with the data item.DiSOM addresses two issues we believe to be crucial in distributed shared memory systems: good performance, achieved by a close integration of the programming model with the synchronization mechanisms, and fault-tolerance, with an efficient checkpointing algorithm that requires no extra messages during the failure-free period.
Cited by 0Open access