Prodigy: Improving the Memory Latency of Data-Indirect Irregular Workloads Using Hardware-Software Co-Design

被引:29
作者
Talati, Nishil [1 ]
May, Kyle [1 ,2 ]
Behroozi, Armand [1 ]
Yang, Yichen [1 ]
Kaszyk, Kuba [3 ]
Vasiladiotis, Christos [3 ]
Verma, Tarunesh [1 ]
Li, Lu [3 ]
Nguyen, Brandon [1 ]
Sun, Jiawen [3 ]
Morton, John Magnus [3 ]
Ahmadi, Agreen [1 ]
Austin, Todd [1 ]
O'Boyle, Michael [3 ]
Mahlke, Scott [1 ]
Mudge, Trevor [1 ]
Dreslinski, Ronald [1 ]
机构
[1] Univ Michigan, Ann Arbor, MI 48109 USA
[2] Univ Wisconsin, Madison, WI USA
[3] Univ Edinburgh, Edinburgh, Midlothian, Scotland
来源
2021 27TH IEEE INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE (HPCA 2021) | 2021年
基金
美国国家科学基金会; 英国工程与自然科学研究理事会;
关键词
DRAM stalls; irregular workloads; graph processing; hardware-software co-design; programming model; programmer annotations; compiler; and hardware prefetching; LINKED DATA-STRUCTURES;
D O I
10.1109/HPCA51647.2021.00061
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Irregular workloads are typically bottlenecked by the memory system. These workloads often use sparse data representations, e.g., compressed sparse row/column (CSR/CSC), to conserve space at the cost of complicated, irregular traversals. Such traversals access large volumes of data and offer little locality for caches and conventional prefetchers to exploit. This paper presents Prodigy, a low-cost hardware-software co-design solution for intelligent prefetching to improve the memory latency of several important irregular workloads. Prodigy targets irregular workloads including graph analytics, sparse linear algebra, and fluid mechanics that exhibit two specific types of data-dependent memory access patterns. Prodigy adopts a "best of both worlds" approach by using static program information from software, and dynamic run-time information from hardware. The core of the system is the Data Indirection Graph (DIG)-a proposed compact representation used to express program semantics such as the layout and memory access patterns of key data structures. The DIG representation is agnostic to a particular data structure format and is demonstrated to work with several sparse formats including CSR and CSC. Program semantics are automatically captured with a compiler pass, encoded as a DIG, and inserted into the application binary. The DIG is then used to program a low-cost hardware prefetcher to fetch data according to an irregular algorithm's data structure traversal pattern. We equip the prefetcher with a flexible prefetching algorithm that maintains timeliness by dynamically adapting its prefetch distance to an application's execution pace. We evaluate the performance, energy consumption, and transistor cost of Prodigy using a variety of algorithms from the GAP, HPCG, and NAS benchmark suites. We compare the performance of Prodigy against a non-prefetching baseline as well as state-of-the-art prefetchers. We show that by using just 0.8KB of storage, Prodigy outperforms a non-prefetching baseline by 2.6 x and saves energy by 1.6x, on average. Prodigy also outperforms modern data prefetchers by 1.5-2.3x.
引用
收藏
页码:654 / 667
页数:14
相关论文
共 103 条
  • [1] Addisie A, 2018, I S WORKL CHAR PROC, P134, DOI 10.1109/IISWC.2018.8573480
  • [2] A Scalable Processing-in-Memory Accelerator for Parallel Graph Processing
    Ahn, Junwhan
    Hong, Sungpack
    Yoo, Sungjoo
    Mutlu, Onur
    Choi, Kiyoung
    [J]. 2015 ACM/IEEE 42ND ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2015, : 105 - 117
  • [3] Ainsworth S., 2020, COMMUNICATION
  • [4] Ainsworth S., 2016, ICS 16, DOI [DOI 10.1145/2925426.2926254, 10.1145/2925426.2926254]
  • [5] Ainsworth S., 2019, COMMUNICATION
  • [6] Ainsworth S, 2018, ACM SIGPLAN NOTICES, V53, P578, DOI [10.1145/3296957.3173189, 10.1145/3173162.3173189]
  • [7] Ainsworth S, 2017, INT SYM CODE GENER, P305, DOI 10.1109/CGO.2017.7863749
  • [8] All-paths graph kernel for protein-protein interaction extraction with evaluation of cross-corpus learning
    Airola, Antti
    Pyysalo, Sampo
    Bjoerne, Jari
    Pahikkala, Tapio
    Ginter, Filip
    Salakoski, Tapio
    [J]. BMC BIOINFORMATICS, 2008, 9 (Suppl 11)
  • [9] Akram A, 2016, PR IEEE COMP DESIGN, P638
  • [10] Annavaram M, 2001, CONF PROC INT SYMP C, P52, DOI 10.1109/ISCA.2001.937432