| Ramachandran, U. and M.Y.A. Khalidi, An Implementation of Distributed Shared Memory. Software Practise and Experience, 1991.21(5): p. 443464. |
....memory; the unit of sharing is the object. The ways in which objects can be accessed by the parallel application are restricted (section 4) There are a few similarities between the NIPDSM object space, the f,jO e pace of Linda [20] and the data structured DSM systems like Emerald and Clouds [19, 21] but there are significant differences as well, as will be described. 13 The NIPDSM is organised as a collection of objects which are shared amongst the participating NIP nodes. A parallel application cannot directly access memory locations but instead it calls methods upon objects. Depending on ....
Ramachandran, U. and M.Y.A. Khalidi, An Implementation of Distributed Shared Memory. Software Practise and Experience, 1991.21(5): p. 443464.
....of a simple Mether protocol; and a description of an application that uses Mether. We will later in this paper describe the factors that made Mether the way it is. 2 1 The Current Mether Applications Interface The Mether system described in [3] was quite similar to systems described in [2] [5], and [1] Processes map in a set of pages that are distinguished by being sharable over a network. A page could be moved from one processor to another at any time. If a process accessed a page and it was not present on the processor it was fetched over the network. The goals of the systems were ....
....that allowing the application to manage the inconsistent pages in the Mether address space is the correct decision. Mether can not anticipate a program s use of its pages any more than a window manager can decide when to refresh the screen. The application must be given control. The Cloud System[5] shares some attributes of the current version of Mether, notably the inconsistent page, which they call weak read only. In Cloud, a consistent or inconsistent view is chosen by a system call. In Mether there are a number of address spaces with different semantics, and they are chosen by address ....
U. Ramachandran and M. Y. A. Khalidi. An Implementation of Distributed Shared Memory. Technical Report, School of Information and Computer Science, Georgia Institute of Technology, Atlanta, Georgia, December 1988. 23
....DiSOM with a state of the art distributed shared memory system. The comparison shows that DiSOM has better performance, exchanging significantly fewer messages and less data, at the expense of a slight increase in programming complexity. 1 Introduction Distributed shared memory (DSM) systems [13, 6, 16, 21, 10, 4] offer the abstraction of a centralized memory that is shared by all the processors in a distributed system. This abstraction simplifies programming because it makes communication implicit. However, communication is frequently the main performance bottleneck in parallel applications and the ....
....the programming model and it is followed by Section 4 describing the implementation. Section 5 provides a performance comparison between DiSOM and TreadMarks. The conclusions are presented in the last section. 2 Background The first systems to implement distributed shared memory in software [13, 6, 16, 21] used pages or coarse grained segments as the unit of coherence, and implemented the sequential consistency[12] memory model. A second generation of DSM systems explored relaxed memory consistency models to improve performance. 2 Munin [4] provided a software implementation of release ....
U. Ramachandran and M. Khalidi. An Implementation of Distributed Shared Memory. In Distributed and Multiprocessor Systems Workshop, October 1989.
....of the fetch and store as remote operations to a shared memory server may not be attractive[36] Several models of the shared address space have been investigated by earlier research. A DSM can be an unstructured ( flat ) and paged virtual address space [25] a segmented single level store [33][8] an object oriented model visible to programming language syntax and semantics[2] or even a physical address space [12] A difficulty any shared memory system must face is maintaining consistent shared state. Succinctly, consistency is a rule for the semantics with which a reference to a ....
....memory was proposed, but the mechanism for update of inconsistent data was left undefined. Lipton, et al. s PRAM system[27] has non traditional consistency semantics. However, as in problem oriented shared memory, it is not possible to control the consistency semantics of the memory. Clouds[33] allows processes to use inconsistent and consistent memory; the mechanism for switching back and forth is via a system call. Work by Zwaenepoel, et al. 4] has focused on implementation of software support for inconsistency. Hutto[20] has proposed semantics and formalism with which ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of distributed shared memory. Technical report, School of Information and Computer Science, Georgia Institute of Technology, Atlanta, Georgia, December 1988.
....to. Blizzard [16] is another user level DSM implementation with some modifications to the OS kernel. Blizzard uses Tempest, a user level communication and memory interface that provides mechanisms necessary for both fine grained shared memory and message passing. Implementations like Clouds [15] and Mirage [7] are done at the operating system software level in order to achieve better performance. TreadMarks [2] is a DSM implementation which uses the relaxed lazy release consistency model. This user level implementation relies on Unix standard libraries for remote process creation, ....
U. Ramachandran, M.Y.A. Khalidi, "An Implementation of Distributed Shared Memory", Software Practice & Experience , 21(3):443-464, May 1991.
....approach provides maximum flexibility in expressing communication and avoids the problem of false sharing. In addition, because it has the type information necessary to do the proper data conversion, SAM can operate in a heterogeneous environment. In contrast, shared virtual memory (SVM) systems [3, 13, 15, 17] provide a flat, global address space. SVM uses the virtual memory hardware to implement a page based coherence protocol. The page fault hardware automatically detects accesses to remote or invalid pages, and the page fault handler is used to move or copy pages from remote processors. The ....
....are chaotic, since all modifications to shared data structures are allowed to complete before holders of cached copies have been notified. Mether [16] allows a process to access an inconsistent , read only copy of a virtual memory page which is not kept consistent as the page is modified. Clouds [17] supports an operation for getting a copy of a segment that will not be kept coherent even if the contents of the segment are changed. We believe that we are the first to use such chaotic operations to attain higher performance in complex scientific algorithms. Finally, as we showed in Section 3, ....
U. Ramachandran, M. Yousef, and A. Khalidi. An Implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443--464, May 1991.
....examples include various memory consistency models [11] data pre fetching [25] data forwarding updating [21] remote get put operations [27] integrated or decoupled protocol controllers [8, 10, 12, 31] estimating accuracy vs. performance in simulating DSM systems [2] software DSM systems [23, 1, 19], and explicit communication primitives [29] Research towards reducing network latency has been largely left to the (interconnection) network community. However, most recently, several papers [18, 9, 31] have reported that network latency is becoming a key architectural bottleneck in designing ....
Yousef Khalidi and Umakishore Ramachandran. An Implementation of Distributed Shared Memory. Software--Practice and Experience, 21(5):443--464, May 1991.
....processors. In the context of shared virtual memory this is called the cache coherence problem [1, 5, 13, 17, 23] and in the context of database sharing systems this is called the buffer invalidation problem [21] A number of proposals have been made for the solution of the cache coherence problem [1, 2, 17, 22] and the buffer invalidation problem [19, 21] Most of these assume that coherency must obey the rules of strong coherency [6] i.e. a read operation always returns the last value written. FIGURE 2. The layers of a node transaction layer cache layer storage layer transactions multiprocessor node ....
Ramachandran U., Khalidi M. Y. A. An Implementation of Distributed Shared Memory In Proc. on Distributed and Multiprocessor Systems, USENIX Association 1989, pp. 21 - 38
....parallel architectures are not valid according to modern switching technology (c.f. Section 3.2) this issue is returned to in Section 3.2.3. SADM Congruently simulating tightly coupled machines on loosely coupled machines uses the technique known as Distributed Shared Memory (DSM) MV84, SZ90, RK91, NL91, Cok91, Rai92a, Rai92b, Rai90, RWC90] The two basic global memory operations for a shared memory machine are: global read and global write. These two operations form the basis of all other operations used to access the shared memory. Hence, in order to show that tightly coupled machines ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443-- 464, 1991.
....This laziness can offer performance advantages in applications that have complex communication patterns that cannot be predicted in detail at compile time. These advantages have prompted the design and or construction of a large number of parallel computer systems with hardware 1 and software [4,5,11,14,27,29,34] implementations of the shared memory abstraction. Scaleable Shared Memory has become the rallying cry of numerous research projects [2,3,8,25,26] On the other hand, coherent shared memory can have performance problems compared with alternative abstractions such as raw message passing, ....
U. Ramachandran, M. Yousef, and A. Khalidi. An implementation of distributed shared memory. Software---Practice and Experience, 21:443--464, May 1991.
....algorithms. A number of systems have supported the notion of chaotic access. Agora [4] supports a memory model in which all accesses are chaotic, since all modifications to shared data structures are allowed to complete before holders of cached copies have been notified. Mether [19] and Clouds [22] support operations for accessing a read only copy of a page (or segment) that will not be kept coherent even if the contents of the page (or segment) are changed by another processor. Finally, besides minimizing communication, SAM also provides primitives for optimizing communication. SAM ....
U. Ramachandran, M. Yousef, and A. Khalidi. An Implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443--464, May 1991.
....parallel architectures are not valid according to modern switching technology (c.f. Section 2) this issue is returned to in Section 2.3. 2.2. 1 SADM Congruently simulating tightly coupled machines on loosely coupled machines uses the technique known as Distributed Shared Memory (DSM) [MV84, SZ90, RK91, NL91]. The two basic global memory operations for a shared memory machine are: global read and global write. These two operations form the basis of all other operations used to access the shared memory. Hence, in order to show that tightlycoupled machines can be congruently simulated on loosely coupled ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443-- 464, 1991.
....basis for migrating processes from one host to another. Moreover, we feel that shared memory provides a more suitable programming model for creating highly parallel applications. Several existing distributed operating systems support the shared memory abstraction, including Ivy [Li86] Clouds [RK91] Mirage [FP89] Amber [JAL 89] Munin [CBZ91] and Midway [BZ91] All these operating systems have focused on consistency management or the application level interfaces to shared memory. None has tackled the problem of scaling to a very large multicomputer spanning wide and local area ....
U. Ramachandran and M. Y. A. Khalidi. An Implementation of Distributed Shared Memory. Software Practice and Experience, 21(5):443--464, May 1991.
....memory, it was necessary to unify the tc xIMD and hypercuboid lc xIMD architecture classes because the hypercuboid architecture has logarithmic diameter. 2.2. 1 SADM Congruently simulating tightly coupled machines on loosely coupled machines uses the technique known as Distributed Shared Memory [MV84, SZ90, RK91, NL91, Cok91, Rai92a, Rai92b, Rai90, RWC90]. The two basic global memory operations for a shared memory machine are: global read and global write. These two operations form the basis of any other operations used to operate on the shared memory. Hence, in order to show that tightly coupled machines can be congruently simulated on ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443--464, 1991.
....used to establish data sharing between arbitrary processes. Shared memory has several important advantages over interaction via files or messages. 1) Many programmers find shared memory more conceptually appealing than message passing. The growing popularity of distributed shared memory systems [11, 20, 35, 36, 43, 47] suggests that programmers will adopt a sharing model even at the expense of performance. 2) Shared memory facilitates transparent, asynchronous interaction between processes, and shares with files the advantage of not requiring that the interacting processes be active concurrently. 3) When ....
U. Ramachandran and M. Y. A. Khalidi, "An Implementation of Distributed Shared Memory," Proceedings of the First USENIX Workshop on Experiences Building Distributed and Multiprocessor Systems, 5-6 October, 1989, pp. 21-38.
....in shared memory, if several database kernel processes access the same database. With parallel databases, i.e. cooperating processes on many processors, the natural way to go is using shared memory, and the above reasons remain valid: a general shared memory mechanism such as shared virtual memory [1, 5, 13, 17, 18, 20] cannot exploit the knowledge the database management system has. Our approach merges the concepts of shared virtual memory (SVM) 1, 5, 13, 17, 18, 20] and explicit synchronization [7] as found in parallel programming languages, and integrates them into a specialized software cache for parallel ....
....the natural way to go is using shared memory, and the above reasons remain valid: a general shared memory mechanism such as shared virtual memory [1, 5, 13, 17, 18, 20] cannot exploit the knowledge the database management system has. Our approach merges the concepts of shared virtual memory (SVM) [1, 5, 13, 17, 18, 20] and explicit synchronization [7] as found in parallel programming languages, and integrates them into a specialized software cache for parallel database systems. We thus get an efficient database cache implementation on distributed memory multiprocessors. The rest of the paper is organized as ....
[Article contains additional citation context not shown here]
Ramachandran U., Khalidi M.Y.A. An Implementation of Distributed Shared Memory In Proceedings on Distributed and Multiprocessor Systems, USENIX Association, pp. 21 - 38, 1989
....protection violations and appropriate measures are taken to either update or invalidate other copies of the pages at other nodes. An entire page must be considered updated even if a write was performed on only one word belonging to the page. Other OSDSM systems are object oriented systems (Clouds [71], Emerald [50] Amber [18] where the granularity of sharing is a user defined object. Since objects can be accessed only through the methods associated with the objects, these systems use calls to these methods as ways to detect accesses to the objects. Some other object based systems (Midway ....
....item is not available locally, computation must block. Moreover, computation in a generation is not allowed to use the values computed in that particular generation. It has been observed by other DSM researchers that some applications execute faster if either of these requirements is relaxed [14] [71] [75] In some cases if computation is allowed to continue with a value which is not too stale in the event of the most up to date data not being available, programs execute faster. In some other cases using the values generated in the current generation can lead to faster execution. The GCC ....
U Ramachandran and MYA Khalidi. An implementation of distributed shared memory. In First Workshop on Experiences with Building Distributed and Multiprocessor systems, pages 21--38, 1989.
....to the user to manage [Che84, MvRT 90, OCD 88, FSC89, Ras86, FH88, Sun90] This research was supported in part by the National Science Foundation Grant No. NCR 9111323, Grant No. CCR 9309176, and Grant no. STI 9108764. Several existing distributed systems such as Ivy [LH89] Clouds [RK91] Mirage [FP89] Amber [JAL 89] Munin [CBZ91] and Midway [BZS93] support shared memory abstractions. However, none of these systems directly address the problems associated with supporting distributed shared memory in a large geographically distributed multicomputer spanning both wide area ....
U. Ramachandran and M. Y. A. Khalidi. An Implementation of Distributed Shared Memory. Software Practice and Experience, 21(5):443--464, May 1991.
....is twice the message delay. In recent years, there has been wide spread interest in implementing shared memory programming paradigm on distributed systems. Such systems, called Distributed Shared Memory (DSM) make it possible to execute shared memory parallel programs on a distributed system [8, 9, 10, 11, 12, 13].This makes it all the more important to provide shared variable like synchronization mechanisms in distributed systems. Most DSM systems provide centralized implementations of mechanisms such as semaphores. A notable exception is Munin, which provides distributed locks for synchronization [14] ....
U. Ramachandran and M. Y. A. Khalidi. An Implementation of Distributed Shared Memory. Software - Practice and Experience, 21(5):443--464, May 1991.
....data partitioning and assignment strategies. In the SE approach the global accessibility of data allows uniform utilization of resources. However, the uniformity of a SE system makes communication a bottleneck which hinders the scalability of such a system. Distributed Shared Memory (DSM) LH89, RK91, CBZ91] can be used to overcome the drawbacks of both SN and SE. In a DSM system, memory is physically distributed among the processors. When data is partitioned among processors a DSM system essentially behaves as a SN system. On the other hand, the unified view of the memory allows idle ....
....data item. The architecture we propose is an extension to the architecture of a commercially available shared memory multiprocessor [Ken92] The architecture provides shared memory in hardware and not as a software abstraction built on top of a message passing environment such as those in [LH89, RK91, CBZ91] The reason for choosing a hardware implementation of DSM, despite the ease of implementation of the software based DSM, is the higher cost of sharing in a softwarebased DSM. Our design choice is justified by the results in Section 4. The nodes in this architecture are interconnected ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of distributed shared memory. Software Practice & Experience, 21(5):443--64, May 1991.
....of distributed laboratory applications is in exploiting some of the well known database technologies in this domain without any of the usual rigidity of database systems such as serializability. Previous Research. We have undertaken several research projects in areas related to state sharing [53, 54, 55, 38]. One project addressed the implementation of shared memory abstractions on workstation networks. It addressed the formal characterization of shared memory systems [34, 48] and also implemented consistency protocols derived from a number of approaches that have been proposed for building high ....
U. Ramachandran, M. Y. A. Khalidi, "An Implementation of Distributed Shared Memory," SOFTWARE --- Practice & Experience, 21(5):443--464, May 1991.
....system or non integrated. We next discuss these criteria in detail. Hardware versus Software A DSM system can be implemented either in hardware or software. Early DSMs were software based and were implemented on multicomputers whose architecture provided no support for a shared memory environment [19, 23, 27, 3]. Increasingly, support for DSM is being provided in hardware for efficiency [2, 11, 12, 1, 17] This has enabled the development of distributed memory computers with hardware support for shared memory. Software implemented systems are designed to provide the DSM on existing distributed memory ....
....for shared memory. Software implemented systems are designed to provide the DSM on existing distributed memory systems. These systems were implemented either as an entire operating system or as a library of user callable routines and a runtime system which ran on top of the operating system [27, 19]. The libraries provide the primitives supported by the DSM and the runtime system implements the mechanisms that access the shared data and perform synchronization. While such systems serve as valuable testbeds to validate a particular mechanism, the overhead incurred is high. This overhead can ....
[Article contains additional citation context not shown here]
U. Ramachandran and Y. Khalidi. "An Implementation of Distributed Shared Memory". Software - Practice and Experience, 21(5):443--464, May 1991.
....complex data partitioning and assignment strategies. In the SE approach the global accessibility of data allows uniform utilization of resources. However, the uniformity of a SE system makes communication a bottleneck which hinders the scalability of such a system. Distributed Shared Memory (DSM) [17, 22, 5] can be used to overcome the drawbacks of both SN and SE. In a DSM system, memory is physically distributed among the processors. When data is partitioned among processors a DSM system essentially behaves as a SN system. On the other hand, the unified view of the memory allows idle processors to ....
....architectures [15, 12] The architecture provides shared memory 1 That is to say that more data repositories (e.g. disks) can be added without having to add processors and vice versa. in hardware and not as a software abstraction built on top of a message passing environment such as those in [17, 22, 5]. The reason for choosing a hardware implementation of DSM, despite the ease of implementation of the software based DSM, is the higher cost of sharing in a software based DSM. Our design choice is justified by the results in Section 4. The nodes in this architecture are interconnected through a ....
U. Ramachandran and M. Y. A. Khalidi. An implementation of distributed shared memory. Software Practice & Experience, 21(5):443--64, May 1991.
....by the Spring File System, such as dealing with external pagers, the separation of naming from the file system, and dynamically locating a per machine cacher, were not addressed by these file systems. There have also been several instances of systems that provide DSM including [5] 6] and [7]. However, these systems also did not address the issues involved in a system like Spring. To our knowledge the only system that has addressed the caching problems in a distributed modular system besides Spring is CHORUS [8] The CHORUS system implements distributed shared memory by having one ....
Ramachandran, U. and Khalidi, Y.A., "An Implementation of Distributed Shared Memory," SoftwarePractice & Experience 21, 5 (May 1991), pp. 443-464.
No context found.
U. Ramachandran, M. Khalidi, An Implementation of Distributed Shared Memory, Software - Practice and Experience, Vol.21(5), John Wiley and Sons, Ltd., May 1991.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC