Frequent value locality and value-centric data cache design

ASPLOS IX Pub Date : 1900-01-01 DOI:10.1145/378993.379235
Youtao Zhang, Jun Yang, Rajiv Gupta
{"title":"Frequent value locality and value-centric data cache design","authors":"Youtao Zhang, Jun Yang, Rajiv Gupta","doi":"10.1145/378993.379235","DOIUrl":null,"url":null,"abstract":"By studying the behavior of programs in the SPECint95 suite we observed that six out of eight programs exhibit a new kind of value locality, the frequent value locality, according to which a few values appear very frequently in memory locations and are therefore involved in a large fraction of memory accesses. In these six programs ten distinct values occupy over 50% of all memory locations and on an average account for nearly 50% of all memory accesses during program execution. This observation holds for smaller blocks of consecutive memory locations and the set of frequent values remains quite stable over the execution of the program.In the six benchmarks with frequent value locality, on an average 50% of all cache misses occur during the reading or writing of the ten most frequently accessed values. We propose a new data cache structure, the frequent value cache (FVC), which employs a value-centric approach to caching data locations for exploiting the frequent value locality phenomenon. FVC is a small direct-mapped cache which is dedicated to holding only frequently occurring values. The value-centric nature of FVC enables us to store data in a compressed form where the compression is achieved by encoding the frequent values using a few bits. Moreover this simple compression scheme preserves the random access to data values in a cache line.Our experiments demonstrate that by augmenting a direct mapped cache (DMC) with a direct mapped FVC of size no more than 3 Kbytes we can obtain reductions in miss rates ranging from 1% to 68%. In fact we observed that higher reductions in miss rates can he achieved by augmenting a DMC with a small FVC as opposed to doubling the size of DMC for the 124.m88ksim and 134.perl benchmarks.","PeriodicalId":225023,"journal":{"name":"ASPLOS IX","volume":"119 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"110","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ASPLOS IX","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/378993.379235","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 110

Abstract

By studying the behavior of programs in the SPECint95 suite we observed that six out of eight programs exhibit a new kind of value locality, the frequent value locality, according to which a few values appear very frequently in memory locations and are therefore involved in a large fraction of memory accesses. In these six programs ten distinct values occupy over 50% of all memory locations and on an average account for nearly 50% of all memory accesses during program execution. This observation holds for smaller blocks of consecutive memory locations and the set of frequent values remains quite stable over the execution of the program.In the six benchmarks with frequent value locality, on an average 50% of all cache misses occur during the reading or writing of the ten most frequently accessed values. We propose a new data cache structure, the frequent value cache (FVC), which employs a value-centric approach to caching data locations for exploiting the frequent value locality phenomenon. FVC is a small direct-mapped cache which is dedicated to holding only frequently occurring values. The value-centric nature of FVC enables us to store data in a compressed form where the compression is achieved by encoding the frequent values using a few bits. Moreover this simple compression scheme preserves the random access to data values in a cache line.Our experiments demonstrate that by augmenting a direct mapped cache (DMC) with a direct mapped FVC of size no more than 3 Kbytes we can obtain reductions in miss rates ranging from 1% to 68%. In fact we observed that higher reductions in miss rates can he achieved by augmenting a DMC with a small FVC as opposed to doubling the size of DMC for the 124.m88ksim and 134.perl benchmarks.
频繁的值位置和以值为中心的数据缓存设计
通过研究SPECint95套件中程序的行为,我们观察到8个程序中有6个程序表现出一种新的值局部性,即频繁值局部性,根据这种局部性,一些值在内存位置中非常频繁地出现,因此涉及到很大一部分内存访问。在这六个程序中,十个不同的值占据了所有内存位置的50%以上,并且在程序执行期间平均占所有内存访问的近50%。这个观察结果适用于连续内存位置的较小块,并且频繁值的集合在程序的执行过程中保持相当稳定。在六个具有频繁值局域性的基准测试中,平均50%的缓存丢失发生在读取或写入10个最频繁访问的值期间。我们提出了一种新的数据缓存结构,即频繁值缓存(FVC),它采用以值为中心的方法来缓存数据位置,以利用频繁值局域现象。FVC是一种小型的直接映射缓存,专门用于保存频繁出现的值。FVC以值为中心的特性使我们能够以压缩形式存储数据,压缩是通过使用几个比特对频繁值进行编码来实现的。此外,这种简单的压缩方案保留了对缓存行中数据值的随机访问。我们的实验表明,通过使用大小不超过3kb的直接映射FVC来增加直接映射缓存(DMC),我们可以获得丢失率从1%到68%的降低。事实上,我们观察到,通过增加一个小FVC的DMC,而不是为124增加一倍的DMC,可以实现更高的脱靶率的降低。M88ksim和134。perl的基准。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信