CSC/ECE 506 Fall 2007/wiki3 8 a1

From Expertiza_Wiki
Jump to navigation Jump to search

Topic Background

The protocols discussed here were created to allow cache coherence to be maintained on a system that has no global bus system that allows snooping to take place, and, has distributed memory that is physically separated. These systems usually consist of PCM (Processor-Control-Memory) nodes connected by a network; the systems also have network assists to allow communication to take place.


For a system to be coherent it must:

  1. Provide a state machine for the protocol
  2. Manage the coherence protocol
    • Determine when the coherence protocol should be used
    • Find information on the current cache block in other caches
    • Find out where other copies of the current cache block are located
    • Communicate with the other copies


The protocols discussed here are managed by the scalable system by using a directory-based approach. Information on all cache blocks is kept in a directory that is associated with each block of memory. When a cache miss arises the directory information is checked and all other caches containing a copy of the desired block are contacted. The information contained in the directories consists of a dirty bit, and some state information that will allow action to be taken when there is a cache miss and the directory information needs to be referenced.

SSCI (Simple Scalable Coherence Interface) protocol

The IEEE SCI protocol is a very large and in-depth protocol that is used in real world scalable machines when coherence is a necessity. Due to its size and complexity it is much easier to gain a basic understanding of the SCI protocol by studying a similar, smaller protocol. The SSCI protocol, like its name implies, is a simpler version of the SCI protocol. Below is a list of characteristics that define the SSCI protocol. Note that it is readily apparent from the characteristics below that the SSCI protocol is very similar to the SCI protocol, more information on this can be viewed in section 4 of this page.


SSCI characteristics:

  • Full-bit vector protocol
  • MESI protocol states used in the cache
  • Memory directory states used:
    • U - Unowned
    • S - Shared
    • EM - Exclusive/Modified
  • Presence bits are replaced by pointers


More information on, and examples involving, the SSCI protocol can be viewed the CSC/ECE 506 lecture 12 notes here.

IEEE SCI (Scalable Coherence Interface) protocol

SSCI and IEE SCI Protocol Similarities

IEE SCI Protocol Additional States

Links

IEEE SCI Standard Abstract and Content Summary - http://standards.ieee.org/reading/ieee/std_public/description/busarch/1596-1992_desc.html
IEEE SCI on ieexplore - http://ieeexplore.ieee.org/iel5/285/3365/00113656.pdf?tp=&arnumber=113656&isnumber=3365
4BA2 Technology Survery on SCI (good overview) - http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group12/index.html


References

CSC/ECE 506 Lecture Notes, Fall 2007