Data-Centric Execution of Speculative Parallel Programs

被引:0
|
作者
Jeffrey, Mark C. [1 ]
Subramanian, Suvinay [1 ]
Abeydeera, Maleen [1 ]
Emer, Joel [2 ]
Sanchez, Daniel [1 ]
机构
[1] MIT, Cambridge, MA 02139 USA
[2] MIT, NVIDIA, Cambridge, MA 02139 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Multicore systems must exploit locality to scale, scheduling tasks to minimize data movement. While locality-aware parallelism is well studied in non-speculative systems, it has received little attention in speculative systems (e.g., HTM or TLS), which hinders their scalability. We present spatial hints, a technique that leverages program knowledge to reveal and exploit locality in speculative parallel programs. A hint is an abstract integer, given when a speculative task is created, that denotes the data that the task is likely to access. We show it is easy to modify programs to convey locality through hints. We design simple hardware techniques that allow a state-of-the-art, tiled speculative architecture to exploit hints by: (i) running tasks likely to access the same data on the same tile, (ii) serializing tasks likely to conflict, and (iii) balancing tasks across tiles in a locality-aware fashion. We also show that programs can often be restructured to make hints more effective. Together, these techniques make speculative parallelism practical on large-scale systems: at 256 cores, hints achieve near-linear scalability on nine challenging applications, improving performance over hint-oblivious scheduling by 3.3x gmean and by up to 16x. Hints also make speculation far more efficient, reducing wasted work by 6.4x and traffic by 3.5x on average.
引用
收藏
页数:13
相关论文
共 50 条
  • [1] A Data-centric Profiler for Parallel Programs
    Liu, Xu
    Mellor-Crummey, John
    2013 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC), 2013,
  • [2] Data Enclave: A Data-Centric Trusted Execution Environment
    Xu, Yuanchao
    Pangia, James
    Ye, Chencheng
    Solihin, Yan
    Shen, Xipeng
    2024 IEEE INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, HPCA 2024, 2024, : 218 - 232
  • [3] Safe Distribution and Parallel Execution of Data-centric Workflows over the Publish/Subscribe Abstraction
    Jergler, Matin
    Jacobsen, Hans-Arno
    Sadoghi, Mohammad
    Hull, Richard
    Vaculin, Roman
    2016 32ND IEEE INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 2016, : 1498 - 1499
  • [4] Safe Distribution and Parallel Execution of Data-Centric Workflows over the Publish/Subscribe Abstraction
    Sadoghi, Mohammad
    Jergler, Martin
    Jacobsen, Hans-Arno
    Hull, Richard
    Vaculin, Roman
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2015, 27 (10) : 2824 - 2838
  • [5] A Data Structure Centric Method and Execution Model for Partitioning Sequential Programs into Multiple Speculative Threads
    Du, Yanning
    Zhao, Yinliang
    Han, Bo
    Li, Yuancheng
    2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS), 2012, : 556 - 563
  • [6] Detecting Deadlock in Programs with Data-Centric Synchronization
    Marino, Daniel
    Hammer, Christian
    Dolby, Julian
    Vaziri, Mandana
    Tip, Frank
    Vitek, Jan
    PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 322 - 331
  • [7] Data-centric Combinatorial Optimization of Parallel Code
    Luo, Hao
    Chen, Guoyang
    Li, Pengcheng
    Ding, Chen
    Shen, Xipeng
    ACM SIGPLAN NOTICES, 2016, 51 (08) : 379 - 380
  • [8] Dynamically Switching Execution Context in Data-Centric BPM Approaches
    Andrews, Kevin
    Steinau, Sebastian
    Reichert, Manfred
    ENTERPRISE, BUSINESS-PROCESS AND INFORMATION SYSTEMS MODELING, BPMDS 2020, EMMSAD 2020, 2020, 387 : 3 - 19
  • [9] Speculative Execution of Parallel Programs with Precise Exception Semantics on GPUs
    Hayashi, Akihiro
    Grossman, Max
    Zhao, Jisheng
    Shirako, Jun
    Sarkar, Vivek
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2013, 2014, 8664 : 342 - 356
  • [10] A data-centric framework for debugging highly parallel applications
    Minh Ngoc Dinh
    Abramson, David
    Jin, Chao
    Gontarek, Andrew
    Moench, Bob
    DeRose, Luiz
    SOFTWARE-PRACTICE & EXPERIENCE, 2015, 45 (04): : 501 - 526