Counting Stream Registers: An Efficient and Effective Snoop Filter Architecture
Abstract
We introduce a counting stream register snoop filter, which improves the performance of existing snoop filters based on stream registers. Over time, this class of snoop filters loses the ability to filter memory addresses that have been loaded, and then evicted, from the caches that are filtered; they include cache wrap detection logic, which resets the filter whenever the contents of the cache have been completely replaced. The counting stream register snoop filter introduced here replaces the cache wrap detection logic with a direct-mapped update unit and augments each stream register with a counter, which acts as a validity checker; loading new data into the cache increments the counter, while replacements, snoopy invalidations, and evictions decrement it. A cache wrap is detected whenever the counter reaches zero. Our experimental evaluation shows that the counting stream register snoop filter architecture improves the accuracy compared to traditional stream register snoop filters for representative embedded workloads.
People
BibTex
@INPROCEEDINGS{ranganathan2012counting,
isbn = {978-1-4673-2297-3},
copyright = {In Copyright - Non-Commercial Use Permitted},
doi = {10.3929/ethz-a-007334917},
year = {2013-01-10},
booktitle = {Proceedings 2012 International Conference on Embedded Computer Systems (SAMOS)},
type = {Conference Paper},
author = {Ranganathan, Aanjhan and Bayrak, Ali and Kluter, Theo and Brisk, Philip and Charbon, Edoardo and Ienne, Paolo},
abstract = {We introduce a counting stream register snoop filter, which improves the performance of existing snoop filters based on stream registers. Over time, this class of snoop filters loses the ability to filter memory addresses that have been loaded, and then evicted, from the caches that are filtered; they include cache wrap detection logic, which resets the filter whenever the contents of the cache have been completely replaced. The counting stream register snoop filter introduced here replaces the cache wrap detection logic with a direct-mapped update unit and augments each stream register with a counter, which acts as a validity checker; loading new data into the cache increments the counter, while replacements, snoopy invalidations, and evictions decrement it. A cache wrap is detected whenever the counter reaches zero. Our experimental evaluation shows that the counting stream register snoop filter architecture improves the accuracy compared to traditional stream register snoop filters for representative embedded workloads.},
keywords = {Snoopy coherence protocol; Snoop filter; Stream register; Counting stream register},
language = {en},
address = {Piscataway, NJ},
publisher = {IEEE},
title = {Counting Stream Registers: An Efficient and Effective Snoop Filter Architecture},
PAGES = {120 - 127},
Note = {International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (IC-SAMOS 2012); Conference Location: Samos, Greece; Conference Date: July 16-19, 2012}
}
Research Collection: 20.500.11850/607690