Skip to main content

Lamport clocks: verifying a directory cache-coherence protocol

Publication ,  Journal Article
Plakal, M; Sorin, DJ; Condon, AE; Hill, MD
Published in: Annual ACM Symposium on Parallel Algorithms and Architectures
January 1, 1998

Modern shared-memory multiprocessors use complex memory system implementations that include a variety of non-trivial and interacting optimizations. More time is spent in verifying the correctness of such implementations than in designing the system. In particular, large-scale Distributed Shared Memory (DSM) systems usually rely on a directory cache-coherence protocol to provide the illusion of a sequentially consistent shared address space. Verifying that such a distributed protocol satisfies sequential consistency is a difficult task. Current formal protocol verification techniques [18] complement simulation, but are somewhat non-intuitive to system designers and verifiers, and they do not scale well to practical systems. In this paper, we examine a new reasoning technique that is precise and (we find) intuitive. Our technique is based on Lamport's logical clocks, which were originally used in distributed systems. We make modest extensions to Lamport's logical clocking scheme to assign timestamps to relevant protocol events to construct a total ordering of such events. Such total orderings can be used to verify that the requirements of a particular memory consistency model have been satisfied. We apply Lamport clocks to prove that a non-trivial directory protocol implements sequential consistency. To do this, we describe an SGI Origin 2000-like protocol [12] in detail, provide a times-tamping scheme that totally orders all protocol events, and then prove sequential consistency (i.e., a load always returns the value of the 'last' store to the same address in timestamp order).

Duke Scholars

Published In

Annual ACM Symposium on Parallel Algorithms and Architectures

Publication Date

January 1, 1998

Start / End Page

67 / 76
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Plakal, M., Sorin, D. J., Condon, A. E., & Hill, M. D. (1998). Lamport clocks: verifying a directory cache-coherence protocol. Annual ACM Symposium on Parallel Algorithms and Architectures, 67–76.
Plakal, M., D. J. Sorin, A. E. Condon, and M. D. Hill. “Lamport clocks: verifying a directory cache-coherence protocol.” Annual ACM Symposium on Parallel Algorithms and Architectures, January 1, 1998, 67–76.
Plakal M, Sorin DJ, Condon AE, Hill MD. Lamport clocks: verifying a directory cache-coherence protocol. Annual ACM Symposium on Parallel Algorithms and Architectures. 1998 Jan 1;67–76.
Plakal, M., et al. “Lamport clocks: verifying a directory cache-coherence protocol.” Annual ACM Symposium on Parallel Algorithms and Architectures, Jan. 1998, pp. 67–76.
Plakal M, Sorin DJ, Condon AE, Hill MD. Lamport clocks: verifying a directory cache-coherence protocol. Annual ACM Symposium on Parallel Algorithms and Architectures. 1998 Jan 1;67–76.

Published In

Annual ACM Symposium on Parallel Algorithms and Architectures

Publication Date

January 1, 1998

Start / End Page

67 / 76