I would like to begin by expressing my gratitude to my advisor, Mustaque Ahamad. It was his guidance and encouragement which has made this thesis possible. I would also like to thank the members of my dissertation committee, Gil Neiger, Umakishore Ramachandran, Karsten Schwan and Divyakant Agrawal, for their time and helpful suggestions which have vastly improved this thesis. Several people associated with the Clouds project have contributed with their assistance, ideas and coding: In particular, Sathis Menon who helped me find my bearings in the Clouds project and was always around when I needed help; R. Ananthanarayanan and Ajay Mohindra for the discussions on DSM related issues which to a great extent simplified my implementations. I would like to thank my cubicle-mates Vibby Gottemukkala, M. Chelliah and Srinivas Doddapaneni for their companionship during the last five years. Also, Rida Bazzi for the late night tea sessions, while we were both writing our theses, where we argued about everything from the format of the thesis to life after school. The work leading to this thesis was done in part with funding from the National Science Foundation and financial support from the College of Computing. Their assistance is gratefully acknowledged. Finally, I would like to thank my parents who deserve the credit for encouraging me to continue studying through all these years. This thesis is dedicated to them. iv
|
899
|
Implementing remote procedure calls
– Birrell, Nelson
- 1984
|
|
888
|
Memory coherence in shared virtual memory systems
– Li, Hudak
- 1989
|
|
844
|
How to make a Multiprocessor Computer that Correctly Executes Multiprocess Programs
– Lamport
- 1979
|
|
663
|
Memory consistency and event ordering in scalable shared-memory multiprocessors
– Gharachorloo, Lenoski, et al.
- 1990
|
|
622
|
Operating System Concepts
– Silberschatz, Galvin
- 1991
|
|
564
|
Linearizability: a correctness condition for concurrent objects
– Herlihy, Wing
- 1990
|
|
560
|
Lightweight causal and atomic group multicast
– Birman, Schiper, et al.
- 1991
|
|
535
|
Virtual time and global states of distributed systems
– Mattern
- 1989
|
|
498
|
The nas parallel benchmarks
– Bailey, Barton, et al.
- 1991
|
|
493
|
TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems
– Keleher, Cox, et al.
- 1994
|
|
444
|
Lazy Release Consistency for Software Distributed Shared Memory
– Keleher, Cox, et al.
- 1992
|
|
325
|
Fbufs: A High-bandwidth Cross-domain Transfer Facility
– Druschel, Peterson
- 1993
|
|
267
|
Munin: Distributed shared memory based on type-specific memory coherence
– Bennett, Carter, et al.
- 1990
|
|
223
|
The amber system: Parallel programming on a network of multiprocessors
– Chase, Amador, et al.
- 1989
|
|
212
|
Weak ordering - a new definition
– Adve, Hill
- 1990
|
|
208
|
Recovery in distributed systems using optimistic message logging and checkpointing
– Johnson, Zwaenepoel
- 1990
|
|
204
|
Memory access buffering in multiprocessors
– Dubois, Scheurich, et al.
- 1986
|
|
198
|
Overview of the Chorus Distributed Operating System
– Rozier, Abrossimov, et al.
- 1988
|
|
171
|
Midway: Shared Memory Parallel Programming with Entry Consistency for Distributed Memory Multiprocessors
– Bershad, Zekauskas
- 1991
|
|
158
|
Cache consistency and sequential consistency
– Goodman
- 1989
|
|
145
|
PRAM: a scalable shared memory
– Lipton, Sandberg
- 1988
|
|
142
|
The Spring Nucleus: A Microkernel for Objects
– Hamilton, Kougiouris
- 1993
|
|
136
|
Improving IPC by Kernel Design
– Liedtke
- 1993
|
|
127
|
Mirage: A coherent distributed shared memory design
– Fleisch, Popek
- 1989
|
|
124
|
Adaptive software cache management for distributed shared memory architectures
– Bennett, Carter, et al.
- 1990
|
|
108
|
Limits to Low-Latency Communication on High-Speed Networks
– Thekkath, Levy
- 1993
|
|
89
|
Efficient Solutions to the Replicated Log and Dictionary Problems
– WUU, BERNSTEIN
- 1984
|
|
87
|
Sequential consistency versus linearizability
– Attiya, Welch
- 1994
|
|
82
|
A New Algorithm to Implement Causal Ordering
– Schiper, Eggli, et al.
- 1989
|
|
76
|
Implementation of Argus
– Liskov, Curtis, et al.
- 1987
|
|
75
|
Implementing and programming causal distributed shared memory
– Ahamad, Hutto, et al.
- 1991
|
|
67
|
Causal memory: definitions, implementation and programming
– Ahamad, Neiger, et al.
- 1995
|
|
61
|
The power of processor consistency
– Ahamad, Bazzi, et al.
- 1993
|
|
60
|
Correct memory operation of cache-based multiprocessors
– Scheurich, Dubois
- 1987
|
|
56
|
Axioms for memory access in asynchronous hardware systems
– Misra
- 1986
|
|
47
|
Proving sequential consistency of high-performance shared memories
– Gibbons, Merritt, et al.
- 1991
|
|
43
|
Causal memory
– Ahamad, Burns, et al.
- 1991
|
|
42
|
The Design and Analysis of Algorithms for Asynchronous Multiprocessors
– Baudet
- 1978
|
|
39
|
Experience with distributed programming in Orca
– Bal, Kaashoek, et al.
- 1990
|
|
38
|
Coherence of Distributed Shared Memory: Unifying Synchronization and Data Transfer
– Ramachandran, Ahamad, et al.
- 1989
|
|
37
|
Timestamps in message passing systems that preserve the partial ordering
– Fidge
- 1988
|
|
29
|
Mixed Consistency: A Model for Parallel Programming
– Agrawal, Choy, et al.
- 1994
|
|
27
|
Time, clocks and the ordering of events
– Lamport
- 1978
|
|
24
|
Mustaque Ahamad, and Umakishore Ramachandran. The Clouds distributed operating system
– Dasgupta, LeBlanc
- 1991
|
|
18
|
An analysis of distributed shared memory algorithms
– Kessler, Livny
- 1989
|
|
14
|
and Mustaque Ahamad. Slow memory: Weakening consistency to enhance concurrency in distributed shared memories
– Hutto
- 1990
|
|
14
|
Highly available distributed services and fault-tolerant distributed garbage collection
– Liskov, Ladin
- 1986
|
|
13
|
Mustaque Ahamad. A characterization of scalable shared memories
– Kohli, Neiger
- 1993
|
|
8
|
Issues in the design of distributed shared memory systems
– Mohindra
- 1993
|
|
5
|
The SPARC Architecture Manual
– SUN
- 1991
|