Adjustable block size coherent caches

Czarek Dubnicki, Thomas J. LeBlanc

Research output: Chapter in Book/Report/Conference proceedingConference contribution

40 Citations (Scopus)

Abstract

Large cache blocks exploit processor and spatial locality, but may cause unnecessary cache invalidations due to false sharing. Small cache blocks can reduce the number of cache invalidations, but increase the number of bus or network transactions required to load data into the cache. A cache organization that dynamically adjusts the cache block size according to recently observed reference behavior is described. Cache blocks are split across cache lines when false sharing occurs, and merged back into a single cache line to exploit spatial locality. To evaluate this cache organization, a scalable multiprocessor with coherent caches is simulated, using a suite of memory reference traces to model program behavior. It is shown that for every fixed block size, some program suffers a 33% increase in the average waiting time per reference, and a factor of 2 increase in the average number of words transferred per reference, when compared with the performance of an adjustable block size cache. In the few cases where adjusting the block size does not provide superior performance, it comes within 7% of the best fixed block size alternative.

Original languageEnglish (US)
Title of host publicationConference Proceedings - Annual Symposium on Computer Architecture
PublisherPubl by IEEE
Pages170-180
Number of pages11
ISBN (Print)0897915097
StatePublished - May 1992
Event19th International Symposium on Computer Architecture - Gold Coast, Aust
Duration: May 19 1992May 21 1992

Other

Other19th International Symposium on Computer Architecture
CityGold Coast, Aust
Period5/19/925/21/92

Fingerprint

Data storage equipment

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Dubnicki, C., & LeBlanc, T. J. (1992). Adjustable block size coherent caches. In Conference Proceedings - Annual Symposium on Computer Architecture (pp. 170-180). Publ by IEEE.

Adjustable block size coherent caches. / Dubnicki, Czarek; LeBlanc, Thomas J.

Conference Proceedings - Annual Symposium on Computer Architecture. Publ by IEEE, 1992. p. 170-180.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Dubnicki, C & LeBlanc, TJ 1992, Adjustable block size coherent caches. in Conference Proceedings - Annual Symposium on Computer Architecture. Publ by IEEE, pp. 170-180, 19th International Symposium on Computer Architecture, Gold Coast, Aust, 5/19/92.
Dubnicki C, LeBlanc TJ. Adjustable block size coherent caches. In Conference Proceedings - Annual Symposium on Computer Architecture. Publ by IEEE. 1992. p. 170-180
Dubnicki, Czarek ; LeBlanc, Thomas J. / Adjustable block size coherent caches. Conference Proceedings - Annual Symposium on Computer Architecture. Publ by IEEE, 1992. pp. 170-180
@inproceedings{617697b5de004be985606b06291c4940,
title = "Adjustable block size coherent caches",
abstract = "Large cache blocks exploit processor and spatial locality, but may cause unnecessary cache invalidations due to false sharing. Small cache blocks can reduce the number of cache invalidations, but increase the number of bus or network transactions required to load data into the cache. A cache organization that dynamically adjusts the cache block size according to recently observed reference behavior is described. Cache blocks are split across cache lines when false sharing occurs, and merged back into a single cache line to exploit spatial locality. To evaluate this cache organization, a scalable multiprocessor with coherent caches is simulated, using a suite of memory reference traces to model program behavior. It is shown that for every fixed block size, some program suffers a 33{\%} increase in the average waiting time per reference, and a factor of 2 increase in the average number of words transferred per reference, when compared with the performance of an adjustable block size cache. In the few cases where adjusting the block size does not provide superior performance, it comes within 7{\%} of the best fixed block size alternative.",
author = "Czarek Dubnicki and LeBlanc, {Thomas J.}",
year = "1992",
month = "5",
language = "English (US)",
isbn = "0897915097",
pages = "170--180",
booktitle = "Conference Proceedings - Annual Symposium on Computer Architecture",
publisher = "Publ by IEEE",

}

TY - GEN

T1 - Adjustable block size coherent caches

AU - Dubnicki, Czarek

AU - LeBlanc, Thomas J.

PY - 1992/5

Y1 - 1992/5

N2 - Large cache blocks exploit processor and spatial locality, but may cause unnecessary cache invalidations due to false sharing. Small cache blocks can reduce the number of cache invalidations, but increase the number of bus or network transactions required to load data into the cache. A cache organization that dynamically adjusts the cache block size according to recently observed reference behavior is described. Cache blocks are split across cache lines when false sharing occurs, and merged back into a single cache line to exploit spatial locality. To evaluate this cache organization, a scalable multiprocessor with coherent caches is simulated, using a suite of memory reference traces to model program behavior. It is shown that for every fixed block size, some program suffers a 33% increase in the average waiting time per reference, and a factor of 2 increase in the average number of words transferred per reference, when compared with the performance of an adjustable block size cache. In the few cases where adjusting the block size does not provide superior performance, it comes within 7% of the best fixed block size alternative.

AB - Large cache blocks exploit processor and spatial locality, but may cause unnecessary cache invalidations due to false sharing. Small cache blocks can reduce the number of cache invalidations, but increase the number of bus or network transactions required to load data into the cache. A cache organization that dynamically adjusts the cache block size according to recently observed reference behavior is described. Cache blocks are split across cache lines when false sharing occurs, and merged back into a single cache line to exploit spatial locality. To evaluate this cache organization, a scalable multiprocessor with coherent caches is simulated, using a suite of memory reference traces to model program behavior. It is shown that for every fixed block size, some program suffers a 33% increase in the average waiting time per reference, and a factor of 2 increase in the average number of words transferred per reference, when compared with the performance of an adjustable block size cache. In the few cases where adjusting the block size does not provide superior performance, it comes within 7% of the best fixed block size alternative.

UR - http://www.scopus.com/inward/record.url?scp=0026865524&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0026865524&partnerID=8YFLogxK

M3 - Conference contribution

SN - 0897915097

SP - 170

EP - 180

BT - Conference Proceedings - Annual Symposium on Computer Architecture

PB - Publ by IEEE

ER -