a distributed shared memory in distributed computations, and as the replica control problem in distributed databases. This article describes the home update protocol, a member of the class of coherence protocols called delta coherence protocols that uses isotach guarantees 1 to solve the coherence problem in a new and highly concurrent way. (Due to space constraints, and to avoid obscuring the basic concept of the protocols, we describe the protocol at a high level and do not address practical implementation issues.) Our goal is to show how isotach guarantees are useful in solving the coherence problem and in reasoning about coherence protocols.The coherence problem is difficult, because it requires coordinating events across nodes. The traditional approach to the problem is to reduce the coordination required by limiting concurrency or weakening the correctness criteria. Hardwarebased coherence protocols are traditionally divided into two classes: 2 snoopy protocols, which require a shared bus, and directory protocols, intended for point-topoint networks. A shared bus serializes memory requests. This serialization readily yields an agreed total order among requests, but it limits concurrency and scalability. Directory protocols are more scalable, but existing directory protocols that enforce sequential consistency (SC) require that nodes execute requests one at a time and invalidate or lock copies while executing write requests.Delta protocols use isotach guarantees to coordinate accesses, an approach that lets delta protocols enforce SC without limiting concurrency. However, delta protocols require isotach guarantees. Whether delta coherence protocols outperform existing protocols depends on the cost of implementing isotach guarantees and on the extent to which applications can take advantage of the high level of concurrency delta protocols offer.
Isotach systemsAn isotach (Greek translation: iso, same; tach, speed) system implements a logical time system 1 in which all messages appear to travel at the same speed-one unit of logical distance per unit of logical time. Given this property, called the isotach invariant, a processor can control the logical receive time of a message it sends by controlling the logical send time.Neighboring nodes in an isotach system