[comp.parallel] inclusion in second-level caches

byrd@portia.Stanford.EDU (Greg Byrd) (12/06/89)

Inclusion in multi-level caches is the property that the data
in each level is a superset of the data in the previous level.
For example, if something is in the first-level cache it is
guaranteed to also be in the second-level cache.

Inclusion is important with regard to cache coherence schemes,
since shared data not in the second-level cache cannot possibly
be in the first-level, so the first-level cache does not have
to see every coherence-related operation.

My question:  Is strict inclusion really necessary?  It seems
as though private and read-only data, which do not participate
in coherence operations, need not be included at every level.
Has anyone experimented with allowing inclusion of shared data
only?  (This is, of course, assuming that one can distinguish
shared and private data by looking at the address or some other
field in the memory request.)

-----------------------------------------------------------------------------
Greg Byrd                 byrd@sumex-aim.stanford.edu
Knowledge Systems Lab     701 Welch Rd., Bldg. C, Palo Alto, CA  94304
Stanford University       (415) 725-3849