Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Simulating synchronous processors
Information and Computation
Correct memory operation of cache-based multiprocessors
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
Preserving and using context information in interprocess communication
ACM Transactions on Computer Systems (TOCS)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experiences with the Amoeba distributed operating system
Communications of the ACM
Munin: distributed shared memory based on type-specific memory coherence
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Proving sequential consistency of high-performance shared memories (extended abstract)
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Reasoning about parallel architectures
Reasoning about parallel architectures
A correctness condition for high-performance multiprocessors (extended abstract)
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Parallel Programming Using Shared Objects and Broadcasting
Computer - Special issue on sharing: high performance at low cost
Specifying non-blocking shared memories (extended abstract)
SPAA '92 Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures
Simulating synchronized clocks and common knowledge in distributed systems
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object distribution in Orca using Compile-Time and Run-Time techniques
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Sequential consistency versus linearizability
ACM Transactions on Computer Systems (TOCS)
Distributed process groups in the V Kernel
ACM Transactions on Computer Systems (TOCS)
Weak ordering—a new definition
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Memory consistency and event ordering in scalable shared-memory multiprocessors
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Distributed Algorithms
Reliable Distributed Computing with the ISIS Toolkit
Reliable Distributed Computing with the ISIS Toolkit
Research Frontiers in Object Technology
Information Systems Frontiers
IEEE Concurrency
View consistencies and exact implementations
Parallel Computing
I/O Automaton Models and Proofs for Shared-Key Communication Systems
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
On using network attached disks as shared memory
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Reconfigurable Sequential Consistency Algorithm
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 3 - Volume 04
Formal Development of a Total Order Broadcast for Distributed Transactions Using Event-B
Methods, Models and Tools for Fault Tolerance
FTRepMI: Fault-Tolerant, Sequentially-Consistent Object Replication for Grid Applications
ICDCN '09 Proceedings of the 10th International Conference on Distributed Computing and Networking
Engineering Distributed Shared Memory Middleware for Java
OTM '09 Proceedings of the Confederated International Conferences, CoopIS, DOA, IS, and ODBASE 2009 on On the Move to Meaningful Internet Systems: Part I
Rigorous analysis of byzantine causal order using Event-B
Proceedings of the International Conference and Workshop on Emerging Trends in Technology
A parametrized algorithm that implements sequential, causal, and cache memory consistency
EUROMICRO-PDP'02 Proceedings of the 10th Euromicro conference on Parallel, distributed and network-based processing
Rigorous design of fault-tolerant transactions for replicated database systems using event b
Rigorous Development of Complex Fault-Tolerant Systems
Hi-index | 0.00 |
This paper presents and proves correct a distributed algorithm that implements a sequentially consistent collection of shared read/update objects. This algorithm is a generalization of one used in the Orca shared object system. The algorithm caches objects in the local memory of processors according to application needs; each read operation accesses a single copy of the object, while each update accesses all copies. The algorithm uses broadcast communication when it sends messages to replicated copies of an object, and it uses point-to-point communication when a message is sent to a single copy, and when a reply is returned. Copies of all objects are kept consistent using a strategy based on sequence numbers for broadcasts.The algorithm is presented in two layers. The lower layer uses the given broadcast and point-to-point communication services, plus sequence numbers, to provide a new communication service called a context multicast channel. The higher layer uses a context multicast channel to manage the object replication in a consistent fashion. Both layers and their combination are described and verified formally, using the I/O automation model for asynchronous concurrent systems.