Efficient representations and abstractions for quantifying and exploiting data reference locality

被引:29
|
作者
Chilimbi, TM [1 ]
机构
[1] Microsoft Corp, Res, Redmond, WA 98052 USA
关键词
D O I
10.1145/381694.378840
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the growing processor-memory performance gap, understanding and optimizing a program's reference locality, and consequently, its cache performance, is becoming increasingly important. Unfortunately, current reference locality optimizations rely on heuristics and are fairly ad-hoc. In addition, while optimization technology for improving instruction cache performance is fairly mature (though heuristic-based), data cache optimizations are still at an early stage. We believe the primary reason for this imbalance is the lack of a suitable representation of a program's dynamic data reference behavior and a quantitative basis for understanding this behavior. We address these issues by proposing a quantitative basis for understanding and optimizing reference locality, and by describing efficient data reference representations and an exploitable locality abstraction that support this framework. Our data reference representations (Whole Program Streams and Stream Flow Graphs) are compact - two to four orders of magnitude smaller than the program's data reference trace - and permit efficient analysis - on the order of seconds to a few minutes - even for complex applications. These representations can be used to efficiently compute our exploitable locality abstraction (hot data streams). We demonstrate that these representations and our hot data stream abstraction are useful for quantifying and exploiting data reference locality. We applied our framework to several SPECint 2000 benchmarks, a graphics program, and a commercial Microsoft database application. The results suggest significant opportunity for hot data stream-based locality optimizations.
引用
收藏
页码:191 / 202
页数:12
相关论文
共 50 条
  • [21] Exploiting Time and Subject Locality for Fast, Efficient, and Understandable Alert Triage
    Kavaler, David
    Hudson, Corey
    Bierma, Michael
    2018 INTERNATIONAL CONFERENCE ON COMPUTING, NETWORKING AND COMMUNICATIONS (ICNC), 2018, : 337 - 343
  • [22] Exploiting data locality on scalable shared memory machines with data parallel programs
    Benkner, S
    Brandes, T
    EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 647 - 657
  • [23] Efficient Processing of Streaming Data using Multiple Abstractions
    Qadeer, Abdul
    Heidemann, John
    2021 IEEE 14TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD 2021), 2021, : 157 - 167
  • [24] Repair Abstractions for More Efficient Data Structure Repair
    Zaeem, Razieh Nokhbeh
    Malik, Muhammad Zubair
    Khurshid, Sarfraz
    RUNTIME VERIFICATION, RV 2013, 2013, 8174 : 235 - 250
  • [25] EXPLOITING EFFICIENT REPRESENTATIONS IN LARGE-SCALE TENSOR DECOMPOSITIONS
    Vervliet, Nico
    Debals, Otto
    De Lathauwer, Lieven
    SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2019, 41 (02): : A789 - A815
  • [26] Exploiting data-width locality to increase superscalar execution bandwidth
    Loh, GH
    35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS, 2002, : 395 - 405
  • [27] Exploiting the performance gains of modern disk drives by enhancing data locality
    Deng, Yuhui
    INFORMATION SCIENCES, 2009, 179 (14) : 2494 - 2511
  • [28] Exploiting Data Locality in Memory for ORAM to Reduce Memory Access Overheads
    Kuang, Jinxi
    Shen, Minghua
    Lu, Yutong
    Xiao, Nong
    PROCEEDINGS OF THE 59TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, DAC 2022, 2022, : 703 - 708
  • [29] Exploiting global data locality in non-blocking multithreaded architectures
    Lin, WY
    Gaudiot, JL
    THIRD INTERNATIONAL SYMPOSIUM ON PARALLEL ARCHITECTURES, ALGORITHMS, AND NETWORKS, PROCEEDINGS (I-SPAN '97), 1997, : 78 - 84
  • [30] Quantifying verification uncertainty by reference data variation
    Gorgas, Theresa
    Dorninger, Manfred
    METEOROLOGISCHE ZEITSCHRIFT, 2012, 21 (03) : 259 - 277