A Coherence Protocol for Cached Copies of Volatile Objects in Peer-to-Peer Systems
Résumé
We consider the problem of executing distributed applications using the shared memory paradigm on dynamic and large scale distributed systems, such as structured peer-to-peer systems. The shared memory is private to an application, volatile, and components of the application transparently access shared memory objects via their usual address space. The peer-to-peer system tolerates up to f simultaneous reconfiguration events (node failure, disconnection, or join) and an infinite number of reconfigurations. We give a coherence protocol similar to K. Li's protocols for cached copies of memory objects. The protocol uses the peer-to-peer architecture to handle up to f simultaneous reconfiguration events and an infinite number of reconfigurations with a fail-stop/recovery model. Failures are tolerated using backward error recovery and replicated automata to avoid restarts of applications when possible. We prove that the protocol ensures coherence of cached copies of memory objects despite reconfiguration events, and ensures liveness if communications are reliable.