Sunday, 7 February 2021

Snooping Protocol

What is Snooping Protocol?

A snooping protocol is a scheme by which a coherency controller (snooper) in a cache monitors or snoops the bus transactions. This scheme was introduced by Ravishankar and Goodman in 1983. Therefore its goal is to maintain cache coherency in distributed shared memory systems. However, a cache containing a coherency controller (snooper) is called a snoopy cache. One of the possible implementations is as follows: The cache would have three extra bits such that

  1. V – valid
  2. D – dirty bit, signifies that data in the cache is not the same as in memory
  3. S – shared

Types of Snooping Protocols

There are two types of snooping protocols depending on the way to manage a local copy of a write operation.

  1. Write-invalidate
  2. Write-update

Write-invalidate

When a processor writes on a shared cache block, all the shared copies in the other caches are invalidated through bus snooping. This method ensures that only one copy of a datum can be exclusively read and written by a processor. Therefore all the other copies in other caches are invalidated. This is the most commonly used snooping protocol. MSI, MESI, MOSI, MOESI, and MESIF protocols belong to this category.

Write-update

When a processor writes on a shared cache block, all the shared copies of the other caches are updated through bus snooping. This method broadcasts a write data to all caches throughout a bus. It incurs larger bus traffic than write-invalidate protocol. That is why this method is uncommon. Dragon and firefly protocols belong to this category.

Benefits of Snooping Protocol

  • Faster than directory based coherence mechanism
  • Shared data is placed in a common directory that maintains the coherence between caches in a directory based system.

Drawbacks of Snooping Protocol

  • Limited scalability
  • Frequent snooping on a cache causes a race with an access from a processor, thus it can increase cache access time and power consumption.

Also learn about Network Virtualization

 

0 comments:

Post a Comment