CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory

被引:34
|
作者
Hadidi, Ramyad [1 ]
Nai, Lifeng [1 ]
Kim, Hyojong [1 ]
Kim, Hyesoon [1 ]
机构
[1] Georgia Inst Technol, Atlanta, GA 30332 USA
基金
美国国家科学基金会;
关键词
Processing-in-memory; instruction-level offloading; compiler technique; profiling; Hybrid Memory Cube (HMC); 3D stacking; emerging technologies; DESIGN;
D O I
10.1145/3155287
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Three-dimensional (3D)-stacking technology and the memory-wall problem have popularized processing-in-memory (PIM) concepts again, which offers the benefits of bandwidth and energy savings by offloading computations to functional units inside the memory. Several memory vendors have also started to integrate computation logics into the memory, such as Hybrid Memory Cube (HMC), the latest version of which supports up to 18 in-memory atomic instructions. Although industry prototypes have motivated studies for investigating efficient methods and architectures for PIM, researchers have not proposed a systematic way for identifying the benefits of instruction-level PIM offloading. As a result, compiler support for recognizing offloading candidates and utilizing instruction-level PIM offloading is unavailable. In this article, we analyze the advantages of instruction-level PIM offloading in the context of HMC-atomic instructions for graph-computing applications and propose CAIRO, a compiler-assisted technique and decision model for enabling instruction-level offloading of PIM without any burden on programmers. To develop CAIRO, we analyzed how instruction offloading enables performance gain in both CPU and GPU workloads. Our studies show that performance gain from bandwidth savings, the ratio of number of cache misses to total cache accesses, and the overhead of host atomic instructions are the key factors in selecting an offloading candidate. Based on our analytical models, we characterize the properties of beneficial and nonbeneficial candidates for offloading. We evaluate CAIRO with 27 multithreaded CPU and 36 GPU benchmarks. In our evaluation, CAIRO not only doubles the speedup for a set of PIM-beneficial workloads by exploiting HMC-atomic instructions but also prevents slowdown caused by incorrect offloading decisions for other workloads.
引用
收藏
页数:25
相关论文
共 4 条
  • [1] Compiler-Assisted Leakage- and Temperature-Aware Instruction-Level VLIW Scheduling
    Cao, Shan
    Li, Zhaolin
    Wang, Fang
    Wei, Shaojun
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2014, 22 (06) : 1416 - 1428
  • [2] Thermal-aware processing-in-memory instruction offloading
    Nai, Lifeng
    Hadidi, Ramyad
    Xiao, He
    Kim, Hyojong
    Sim, Jaewoong
    Kim, Hyesoon
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2019, 130 : 193 - 207
  • [3] GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks
    Nai, Lifeng
    Hadidi, Ramyad
    Sim, Jaewoong
    Kim, Hyojong
    Kumar, Pranith
    Kim, Hyesoon
    2017 23RD IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2017, : 457 - 468
  • [4] Compiler-Assisted Maximum Stack Usage Measurement Technique for Efficient Multi-threading in Memory-Limited Embedded Systems
    Park, Sung Ho
    Lee, Dong Kyu
    Kang, Soon Ju
    COMPUTERS, NETWORKS, SYSTEMS, AND INDUSTRIAL ENGINEERING 2011, 2011, 365 : 113 - 129