Multicast snooping
Authors:
Open Access
- 1 May 1999
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 27 (2) , 294-304
Abstract
This paper proposes a new coherence method called "multicast snooping" that dynamically adapts between broadcast snooping and a directory protocol. Multicast snooping is unique because processors predict which caches should snoop each coherence transaction by specifying a multicast "mask." Transactions are delivered with an ordered multicast network, such as an Isotach network, which eliminates the need for acknowledgment messages. Processors handle transactions as they would with a snooping protocol, while a simplified directory operates in parallel to check masks and gracefully handle incorrect ones (e.g., previous owner missing). Preliminary performance numbers with mostly SPLASH-2 benchmarks running on 32 processors show that we can limit multicasts to an average of 2-6 destinations (<< 32) and we can deliver 2-5 multicasts per network cycle (>> broadcast snooping's 1 per cycle). While these results do not include timing, they do provide encouragement that multicast snooping can obtain data directly (like broadcast snooping) but apply to larger systems (like directories).Keywords
This publication has 30 references indexed in Scilit:
- Isotach networksIEEE Transactions on Parallel and Distributed Systems, 1997
- The process group approach to reliable distributed computingCommunications of the ACM, 1993
- Performance of pruning-cache directories for large-scale multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1993
- Notification and multicast networks for synchronization and coherenceJournal of Parallel and Distributed Computing, 1992
- Cache invalidation patterns in shared-memory multiprocessorsIEEE Transactions on Computers, 1992
- Orca: a language for parallel programming of distributed systemsIEEE Transactions on Software Engineering, 1992
- DDM-a cache-only memory architectureComputer, 1992
- How to emulate shared memoryJournal of Computer and System Sciences, 1991
- Parallel discrete event simulationCommunications of the ACM, 1990
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978