Compiler-assisted Data Distribution for Chip Multiprocessors

被引:28
|
作者
Li, Yong [1 ]
Abousamra, Ahmed
Melhem, Rami
Jones, Alex K. [1 ]
机构
[1] Univ Pittsburgh, Dept ECE, Pittsburgh, PA 15261 USA
关键词
partitioning; data distribution; compiler-assisted caching; DATA LAYOUT;
D O I
10.1145/1854273.1854335
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Data access latency, a limiting factor in the performance of chip multiprocessors; grows significantly with the number of cores in non-uniform cache architectures with distributed cache banks. To mitigate this effect, it is necessary to leverage the data access locality and choose an optimum data placement. Achieving this is especially challenging when other constraints such as cache capacity, coherence messages and runtime overhead need to be considered. This paper presents a compiler-based approach used for analyzing data access behavior in multi-threaded applications. The proposed experimental compiler framework employs novel compilation techniques to discover and represent multi-threaded memory access patterns (MMAPs). At run time, symbolic MMAPs are resolved and used by a partitioning algorithm to choose a partition of allocated memory blocks among the forked threads in the analyzed application. This partition is used to enforce data ownership by associating the data with the core that executes the thread owning the data. We demonstrate how this information can be used in an experimental architecture to accelerate applications. In particular, our compiler assisted approach shows a 20% speedup over shared caching and 5% speedup over the closest runtime approximation, "first touch".
引用
收藏
页码:501 / 512
页数:12
相关论文
共 50 条
  • [31] Compiler Directed Network-on-Chip Reliability Enhancement for Chip Multiprocessors
    Ozturk, Ozcan
    Kandemir, Mahmut
    Irwin, Mary J.
    Narayanan, H. K.
    ACM SIGPLAN NOTICES, 2010, 45 (04) : 85 - 94
  • [32] Compiler Directed Network-on-Chip Reliability Enhancement for Chip Multiprocessors
    Ozturk, Ozcan
    Kandemir, Mahmut
    Irwin, Mary J.
    Narayanan, H. K.
    LCTES 10-PROCEEDINGS OF THE ACM SIGPLAN/SIGBED 2010 CONFERENCE ON LANGUAGES, COMPILERS, & TOOLS FOR EMBEDDED SYSTEMS, 2010, : 85 - 94
  • [33] Automated Development of Cooperative MAC ProtocolsA Compiler-Assisted Approach
    Hermann Simon Lichte
    Stefan Valentin
    Holger Karl
    Mobile Networks and Applications, 2010, 15 : 769 - 785
  • [34] Compiler-Assisted Value Correlation for Indirect Branch Prediction
    Tan Mingxing
    Liu Xianhua
    Zhang Jiyu
    Tong Dong
    Cheng Xu
    CHINESE JOURNAL OF ELECTRONICS, 2012, 21 (03): : 414 - 418
  • [35] Compiler-assisted Operator Template Library for DNN Accelerators
    Jiansong Li
    Wei Cao
    Xiao Dong
    Guangli Li
    Xueying Wang
    Peng Zhao
    Lei Liu
    Xiaobing Feng
    International Journal of Parallel Programming, 2021, 49 : 628 - 645
  • [36] Compiler-Assisted, Selective Out-Of-Order Commit
    Duong, Nam
    Veidenbaum, Alexander V.
    IEEE COMPUTER ARCHITECTURE LETTERS, 2013, 12 (01) : 21 - 24
  • [37] Compiler-assisted Operator Template Library for DNN Accelerators
    Li, Jiansong
    Cao, Wei
    Dong, Xiao
    Li, Guangli
    Wang, Xueying
    Zhao, Peng
    Liu, Lei
    Feng, Xiaobing
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2021, 49 (05) : 628 - 645
  • [38] Practically Private: Enabling High Performance CMPs Through Compiler-assisted Data Classification
    Li, Yong
    Melhem, Rami
    Jones, Alex K.
    PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT'12), 2012, : 231 - 240
  • [39] Lightweight, Multi-Stage, Compiler-Assisted Application Specialization
    Alhanahnah, Mohannad
    Jain, Rithik
    Rastogi, Vaibhav
    Jha, Somesh
    Reps, Thomas
    2022 IEEE 7TH EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2022), 2022, : 251 - 269
  • [40] Prefetch mechanism in compiler-assisted S-DSM system
    Niwa, J
    2004 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS, PROCEEDINGS, 2004, : 520 - 529