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

被引:36
作者
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
相关论文
共 44 条
  • [1] PIM-Enabled Instructions: A Low-Overhead, Locality-Aware Processing-in-Memory Architecture
    Ahn, Junwhan
    Yoo, Sungjoo
    Mutlu, Onur
    Choi, Kiyoung
    [J]. 2015 ACM/IEEE 42ND ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2015, : 336 - 348
  • [2] [Anonymous], THESIS
  • [3] [Anonymous], 1999, P 1999 ACMIEEE C SUP
  • [4] [Anonymous], 2014, THESIS U MARYLAND
  • [5] Azarkhish Erfan, 2016, Architecture of Computing Systems - ARCS 2016. 29th International Conference. Proceedings: LNCS 9637, P19, DOI 10.1007/978-3-319-30695-7_2
  • [6] Black Bryan, 2013, P 2013 46 ANN IEEE A
  • [7] Boroumand Amirali, 2017, IEEE COMPUTER ARCHIT, P99
  • [8] Dong XY, 2009, ASIA S PACIF DES AUT, P234, DOI 10.1109/ASPDAC.2009.4796486
  • [9] Performance Characterization and Optimization of Atomic Operations on AMD GPUs
    Elteir, Marwa
    Lin, Heshan
    Feng, Wu-chun
    [J]. 2011 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2011, : 234 - 243
  • [10] The LDBC Social Network Benchmark: Interactive Workload
    Erling, Orri
    Averbuch, Alex
    Larriba-Pey, Josep
    Chafi, Hassan
    Gubichev, Andrey
    Prat, Arnau
    Minh-Duc Pham
    Boncz, Peter
    [J]. SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, : 619 - 630