Axioms for memory access in asynchronous hardware systems
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
Concurrent programming: principles and practice
Concurrent programming: principles and practice
A correctness condition for high-performance multiprocessors (extended abstract)
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
ACM SIGOPS Operating Systems Review
Techniques for reducing consistency-related communication in distributed shared-memory systems
ACM Transactions on Computer Systems (TOCS)
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Memory consistency and event ordering in scalable shared-memory multiprocessors
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
A Unified Formalization of Four Shared-Memory Models
IEEE Transactions on Parallel and Distributed Systems
The relative importance of concurrent writers and weak consistency models
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
Shared virtual memory on loosely coupled multiprocessors
Shared virtual memory on loosely coupled multiprocessors
Hi-index | 0.00 |
Distributed Shared Memory (DSM) provides a virtual address space that is shared among processors in a distributed system. It allows application programmers to elude message passing and use the more familiar shared-memory paradigm. To increase efficiency. DSM implementations replicate memory pages, introducing the problem of consistency. As fewer restrictions are imposed to the replicas, more efficient implementations are possible, but application programming becomes more difficult. Causal consistency is a model that offers a balance, by allowing efficient implementations without significantly increasing programming difficulty. This work presents a page-coherent, causally consistent DSM protocol. This protocol requires that each time a node sends the contents of a page p, it piggybacks a list of all pages the receiver must invalidate. This list includes all pages written by operations unknown to the receiver, and that potentially causally precede the most recent write operation over p known by the sender. The protocol's main feature is less communication overhead than other causally consistent protocols in the literature. This behavior was confirmed running test applications on top of a simple simulator.