Model checking a cache coherence protocol for a Java DSM implementation

Jun Pang, Wan J. Fokkink, Rutger F. H. Hofman, Ronald Veldema · 2004

Jackal is a fine-grained distributed shared memory implementation of the Java programming language. It aims to implement Java's memory model and allows multithreaded Java programs to run unmodified on a distributed memory system. It employs a multiple-writer cache coherence protocol. In this paper, we report on our analysis of this protocol. We present its formal specification in /spl mu/CRL, and discuss the abstractions that were made to avoid state explosion. Requirements were formulated and model checked with respect to several configurations. Our analysis revealed two errors in the implementation.

Read the paper · More papers on PaperTik