Specification and properties of a cache coherence protocol model

This paper describes a cache coherence protocol for an architecture composed of several processors, each with their own local cache, connected via a switching structure to a shared memory itself split into several modules managed by independent controllers. The protocol prevents processors from simultaneously modifying their respective copies and always provides a processor requiring a copy of a memory location with the most up-to-date version. A top down description and modeling of the protocol is given using Predicate/Transition nets. This modeling allows to formally describe the complex synchronizations of this protocol. Then invariants are directly obtained without unfolding the Predicate/Transition net. They are the basis for studying behavioral properties.

[1]  Serge Haddad,et al.  Algebraic structure of flows of a regular coloured net , 1986, European Workshop on Applications and Theory of Petri Nets.

[2]  Kai Hwang,et al.  Computer architecture and parallel processing , 1984, McGraw-Hill Series in computer organization and architecture.

[3]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.

[4]  Larry Rudolph,et al.  Dynamic decentralized cache schemes for mimd parallel processors , 1984, ISCA 1984.

[5]  Alan Jay Smith,et al.  Cache evaluation and the impact of workload choice , 1985, ISCA '85.

[6]  Jacques Vautherin Non-linear invariants for coloured Petri nets with interdependent tokens; application to the proof of parallel programs , 1985, Applications and Theory in Petri Nets.

[7]  Kurt Jensen,et al.  Coloured Petri Nets and the Invariant-Method , 1981, Theor. Comput. Sci..

[8]  Randy H. Katz,et al.  Implementing a cache consistency protocol , 1985, ISCA 1985.

[9]  James Archibald,et al.  An economical solution to the cache coherence problem , 1984, ISCA 1984.

[10]  Paul Feautrier,et al.  A New Solution to Coherence Problems in Multicache Systems , 1978, IEEE Transactions on Computers.

[11]  Daniel Gajski,et al.  CEDAR: a large scale multiprocessor , 1983, CARN.

[12]  Wolfgang Reisig,et al.  Petri Nets : central models and their properties : proceedings of an advanced course, Bad Honnef, 8.-19. September 1986 , 1987 .

[13]  Howard Jay Siegel,et al.  Interconnection networks for large-scale parallel processing: theory and case studies (2nd ed.) , 1985 .

[14]  Kai Hwang,et al.  Connection Principles for Multipath Packet Switching Networks , 1984, ISCA.

[15]  Ralph Grishman,et al.  The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel Computer , 1983, IEEE Transactions on Computers.

[16]  King-Sun Fu,et al.  Data Coherence Problem in a Multicache System , 1985, IEEE Transactions on Computers.

[17]  Alan Jay Smith,et al.  Cache Memories , 1982, CSUR.

[18]  P. Chretienne Exécutions contrôlées des réseaux de Petri temporisés , 1984 .

[19]  Hartmann J. Genrich Predicate/transition nets , 1987 .

[20]  Kurt Lautenbach,et al.  The Analysis of Distributed Systems by Means of Predicate ? Transition-Nets , 1979, Semantics of Concurrent Computation.

[21]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[22]  Alain Finkel,et al.  Fifo nets: a new model of parallel computation , 1983 .

[23]  Kurt Lautenbach,et al.  Elements of General Net Theory , 1979, Advanced Course: Net Theory and Applications.

[24]  Michel Diaz,et al.  Petri net based models for the specification and validation of protocols , 1984, European Workshop on Applications and Theory in Petri Nets.