T.S. Trevisan, Vı́tor Santos Costa, Lauro Whately et al. · 2003
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 9
Franck Butelle, Camille Coti · International Journal of Networking and Computing · 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 2Open access
A. Udaya Shankar · 2012
Cited by 0
Bernd Dreier, Markus Zahn, Theo Ungerer · 1998
Rthreads (Remote threads) is a software distributed shared memory system that supports sharing of global variables on clusters of computers with physically distributed memory. Rthreads uses explicit function calls for access of distributed shared data. Unique aspects of Rthreads are: Synchronization primitives are syntactically and semantically closely related to the POSIX thread model (Pthreads). Distributed shared memory is built in a transparent way, because all global variables of an Rthreads program are shared among the participating nodes and are referenced by their variable name. Moreover, Pthreads and Rthreads can be mixed within a single program. We support heterogeneous workstation clusters by implementing the Rthreads system on top of PVM, MPI and DCE. Our performance results show that the Rthreads system introduces only few overhead compared to equivalent programs in the baseline system PVM. For the evaluated examples, superior performance compared to the DSM system Adsmith and teh page-based DSM system CVM is achieved.
Cited by 0
David L. Black, Aman Gupta, W.-D. Weber · 2003
The authors present and analyze algorithms for managing the distributed shared memory present in nonuniform-memory-access multiprocessors and related systems. The competitive properties of these algorithms guarantee that their performance is within a small constant factor of optimal even though they make no use of any information about memory reference patterns. Both hardware and software implementation concerns are covered. A case study of the Mach operating system indicates that integration of these algorithms into operating systems does not pose major problems. On the other hand, hardware support is required to obtain the full functionality of the algorithms. The authors also sketch possible extensions to the algorithms to support additional hardware architectures and software programming models.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 64
Peter Bodorik, Forrest Smith, D.J. Lewis · 2003
The authors propose a distributed shared memory model based on a paged segmented two-level address space and an extended set of memory operations. In addition to the traditional read and write operations, the memory model includes operations which support mapping between local and global address spaces and mapping of processes to transactions. An architecture and associated algorithm are outlined for a virtual memory management unit to provide concurrency control for transactions. Although the traditional concept of the transaction is assumed, only the aspects of concurrency control and coherence are addressed.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 9
Besharati, Farshid, Davari, Mahdad, Furedal, Christian Danheimer et al. · KTH Publication Database DiVA (KTH Royal Institute of Technology) · 2015
With the data handled by companies and research institutes getting larger and larger every day, there is a clear need for faster computing. At the same time, we have reached the limit of power consumption and more power efficient computing is also called for, both in the datacenter and in the supercomputer room. For that, there is a great push, both in industry and academia, towards increasing the amount of computing power per watt consumed. With this shift towards a different computing paradigm, many older ideas are looked upon in a new light. One of these is the distributed shared memory (DSM) systems. It is becoming harder and harder to achieve higher performance and better power efficiency at the same form factor as we have always had. Furthermore, while we have seen a stop in the constant increase of processor speeds, there is a constant increase in network communication speeds. Software implemented DSM is again a viable solution for high performance computing, without the need for sacrificing ease of programming for performance gains. The goal of this course was to develop such a system, and learn in the process. We chose to work with the Adapteva Parallella boards and design a DSM system there. Over one semester we designed and developed that system.
Cited by 0Open access
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 4
Song Li, Yu‐Feng Lin, Michael Walker · 2000
In this paper, we describe the implementation of a software-based DSM model that supports variable-sized shard &quot;regions&quot;, where a region is a logical page that can be adjusted according to the access patterns of the user program. Our project supports the multiple reader, single writer (MRWS) replication algorithm, and uses a least-recentlyused (LRU) region replacement model. We found that our DSM model can yield better performance that an equivalent RPC model of communication, and can also be easier to use. 1 Introduction Despite the advances in processor design, users still demand more performance. Eventually, single CPU technologies must give way to multiple processor parallel computers: it is less expensive to run 10 inexpensive processors cooperatively than it is to buy a new computer 10 times as fast. This change is inevitable, and has been realized to some extent in the specialization of subsystems like bus mastering drive controllers. However, the need for additional computati...
Cited by 2
Jelica Protić, Milo Tomašević, Veljko Milutinović · IEEE Parallel & Distributed Technology Systems & Applications · 1996
In surveying current approaches to distributed shared memory computing, the authors find that the reduced cost of parallel software development will help make the DSM paradigm a viable solution to large scale, high performance computing.
Cited by 286
Anshu Aggarwal, Dirk Grunwald, Trent R. Hein et al. · 1995
Abstract : Distributed shared memory systems can be divided into single-writer and multi-writer protocols. Multi-writer systems can further be divided into loosely-consistent and multi-writer protocols. Single writer systems can suffer from excessive false sharing. Both single-writer with loosely-consistent multi-writer protocols depend on synchronization communication susceptible to latency. By comparison, a write-through, weakly-consistent distributed shared memory system relies largely on asynchronous write operations. These writes can be consolidated or squashed using write buffers. The remaining latency-sensitive operations include copying readable pages. if we assume that communication bandwidth will become increasingly plentiful, but that communication latency will not increase as fast as bandwidth, write-through protocols have several advantages. In this paper, we describe those advantages and the design of Hemingway, a write-through, weakly consistent distributed shared memory system.
Cited by 1
Bart Van Assche, Eh D'hollander · Ghent University Academic Bibliography (Ghent University) · 1996
Cited by 3
Barry Wilkinson, T. Pai, M. Miraj · 2002
This paper describes a course on distributed shared memory (DSM) programming that uses a cluster of workstations and freely available software. DSM progamming offers a unique challenge to the instructor as it is not yet well established. The ways of obtaining a DSM environment are still actively researched and many different approaches are being explored. Progammers using a DSM system require an understanding of the complex underlying methods used to create the illusion of shared memory. Intriguingly, DSM can also offer a mixture of both message passing and shared memory programming techniques and especially so if the cluster being used is a cluster of symmetric multiprocessors (SMPs). Our courses teach this new environment to advanced undergraduates or graduates. A detailed list of topics and techniques that a student needs to know for DSM programming are described. A home page has been developed providing online instructional materials.
Cited by 1
Renata Spolon Lobato, Roberta Spolon, Bruno Simioni et al. · 2021
This document presents the work related to a simulation event driven platform, Darfia, engineered through the use of distributed and shared memory (DSM) using the framework Terracotta DSO, in order to facilitate the construction, maintenance and analysis of this kind of approach to the local and distributed address space. The simulation platform was developed using the concepts of virtual time and logical clocks proposed by Lamport, and was implemented in the programming Java, and is configurable via portable documents. This work also provides a web interface for the simulationplatform, built with technologies offered by HTML5, providing the use ofsimulation platform also for the web.
Cited by 1
R. Veldema, R.A.F. Bhoedjang, H.E. Bal · 1999
Jackal is a fine-grained distributed shared memory system that can run multithreaded Java programs on distributedmemory systems. The Jackal compiler generates an access check for every use of an object field or array element. The overhead of the access checks is reduced using compiler optimizations. The runtime system uses a homebased consistency protocol that manages (and caches) objects and array partitions. In addition, the runtime system manages the virtual address space and dynamically maps and unmaps pages, to support large data structures. Jackal uses local and global mark-and-sweep garbage collectors, which also deal with replicated objects and partitioned arrays. The paper discusses the various distributed memory management techniques used in the system and presents performance results on a cluster of workstations. Keywords: Java, fine-grained software DSM, parallel garbage collection. 1 Introduction In this paper, we describe a system called Jackal that allows multithreade...
Cited by 0
2008
Cited by 0
Jai-Hoon Kim, Nitin H. Vaidya · 1995
The focus of this report is on software implementations of Distributed Shared Memory (DSM). In the recent years, many protocols for implementing DSM have been proposed. The protocols can be broadly divided into two classes: invalidation-based schemes and update-based schemes. Performance of these protocols depends on the memory access behavior of the applications. Some researchers have proposed DSMs that provide a family of consistency protocols or application specific protocols, and the programmer is allowed to choose any one of them for each shared memory object (or page) or each stage of an application. While such implementations have a potential for achieving optimal performance, they impose undue burden on the programmer. An adaptive implementation that automatically chooses the appropriate protocol for each shared memory page (at run-time) will ease the task of programming for DSM. This report presents a simple approach for implementing adaptive DSMs. The approach is illustrated ...
Cited by 0
Lei Pan, Lubomir F. Bic, Michael B. Dillencourt · 2002
Shared-variable programming (SV) and message passing (MP) are two classical approaches to distributed and parallel programming. An SV program is relatively easy to write, but does not scale up well. The benefits and problems with MP are converse. It is widely believed that shared variable programming re- quires shared memory (e.g. DSM). As a result, current research work has been focusing on either to improve DSM&apos;s, or to use MP (e.g. MPI) completely. In this paper, we demonstrate with examples that shared variable programming is possible in distributed memory environment with the help of a mobile agent system. We claim that Mobile-Agent-based Shared Variable (MASV) programming is a better approach for general purpose distributed and parallel programming, because it combines the benefits from both SV and MP, and balances convenience and flexibility for its programmers. MASV distributed and parallel programs are efficient and scalable, and they preserve algorithmic integrity which makes them easy to develop and maintain.
Cited by 4
2008
Parallel computer architectures are an important technology to accommodate the performance demands of many emerging applications in areas such as information processing, multimedia, and scientific and technical computing. Research in parallel computer architectures has recently led to an interesting unification of different architectural styles. Distributed shared memory multiprocessors (DSM’s) are such a unifying style which aims at combining the best of two existing concepts—shared memory or symmetric multiprocessors (SMP’s) and message-passing multicomputers (MMC’s). SMP’s and MMC’s offer quite different tradeoffs when it comes to ease of programming and scalability, meaning incremental increase in performance when system resources are added. In both styles, multiple high-performance microprocessors
Cited by 0
Johanna Beyer, Markus Hadwiger, Jens Schneider et al. · 2011
Each cluster node is running its own pipeline for ray-casting, virtual vol- ume and memory management, and paging. Ray-casting is per- formed on a huge virtual 3D volume, which is conceptually given on a regular grid in 3D. However, this volume is virtual because the data that are sampled by the ray-caster are only created on demand (i.e., read from disk or reconstructed on-the-fly), as determined by the actual visibility of small cubical blocks or memory pages of 32 voxels each. In order to be able to adapt the data resolution used for ray-casting to the output screen resolution, we represent the whole virtual volume as a virtual octree multi-resolution hier- archy, which is mapped to a large shared virtual memory address space.
Cited by 6