Browse Prior Art Database

Invalidation Enhancement for Directory-Based Cache Coherence Protocols

IP.com Disclosure Number: IPCOM000116814D
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Related People

Baylor, SJ: AUTHOR [+2]

Abstract

Disclosed is an enhancement to the invalidation procedure for strong consistency directory-based protocols. A global directory is assumed for cache coherence and it can be distributed or centralized. The invention is designed to reduce the time a processor has to wait for invalidation processing to complete before modifying read-only data in shared-memory multiprocessors.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 53% of the total text.

Invalidation Enhancement for Directory-Based Cache Coherence Protocols

      Disclosed is an enhancement to the invalidation procedure for
strong consistency directory-based protocols.  A global directory is
assumed for cache coherence and it can be distributed or centralized.
The invention is designed to reduce the time a processor has to wait
for invalidation processing to complete before modifying read-only
data in shared-memory multiprocessors.

      Assume a processor, P1, requests to modify a cache block that
is present in several caches in a shared-memory multiprocessor.  The
following steps outline the traditional invalidation implementation:
  1.  P1 sends a request to the global directory to modify the block
  2.  The global directory either broadcasts invalidations to all
       caches or it sends invalidations to those caches with a copy
of
       the block.
  3.  All caches with a copy of the block send invalidation
       acknowledgements to the global directory.
  4.  The directory knows the actual number of invalidation
       acknowledgements it expects to receive.  When all invalidation
       acknowledgements are received by the global directory, a
modify
       granted signal is sent to the cache of P1.

This implementation has the disadvantage of forcing the directory to
process all invalidation acknowledgements for a line.  This reduces
the amount of useful work the directory can be doing (processing
other coherence-related requests).  Also, the time required to send
out invalidations and wait for acknowledgements before sending a
permission-to-modify signal to the request can be costly.  P...