A new thread-level speculative automatic parallelization model and library based on duplicate code execution

被引:0
|
作者
Martinez, Millan A. [1 ]
Fraguela, Basilio B. [1 ]
Cabaleiro, Jose C. [2 ]
Rivera, Francisco F. [2 ]
机构
[1] Univ A Coruna, CITIC, Comp Architecture Grp, La Coruna 15071, Spain
[2] Univ Santiago de Compostela, Ctr Singular Invest Tecnoloxias Intelixentes CiTIU, Dept Elect & Computac, Santiago De Compostela 15782, Spain
来源
JOURNAL OF SUPERCOMPUTING | 2024年 / 80卷 / 10期
关键词
Speculative parallelism; Automatic parallelization; Thread-level speculation; Template metaprogramming;
D O I
10.1007/s11227-024-05987-0
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Loop-efficient automatic parallelization has become increasingly relevant due to the growing number of cores in current processors and the programming effort needed to parallelize codes in these systems efficiently. However, automatic tools fail to extract all the available parallelism in irregular loops with indirections, race conditions or potential data dependency violations, among many other possible causes. One of the successful ways to automatically parallelize these loops is the use of speculative parallelization techniques. This paper presents a new model and the corresponding C++ library that supports the speculative automatic parallelization of loops in shared memory systems, seeking competitive performance and scalability while keeping user effort to a minimum. The primary speculative strategy consists of redundantly executing chunks of loop iterations in a duplicate fashion. Namely, each chunk is executed speculatively in parallel to obtain results as soon as possible and sequentially in a different thread to validate the speculative results. The implementation uses C++11 threads and it makes intensive use of templates and advanced multithreading techniques. An evaluation based on various benchmarks confirms that our proposal provides a competitive level of performance and scalability.
引用
收藏
页码:13714 / 13737
页数:24
相关论文
共 12 条
  • [1] The potential for using thread-level data speculation to facilitate automatic parallelization
    Steffan, JG
    Mowry, TC
    1998 FOURTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, : 2 - 13
  • [2] Exploiting Thread-level Parallelism Based on Banlancing Load for Speculative Multithreading
    Li Yuancheng
    ADVANCES IN MECHATRONICS AND CONTROL ENGINEERING III, 2014, 678 : 8 - 11
  • [3] Target Environment Simulation and its Impact on Architecture Validation Case study of Thread-Level Speculative Execution
    Mason, Jack L.
    Simco, Gregory E.
    2013 14TH INTERNATIONAL WORKSHOP ON MICROPROCESSOR TEST AND VERIFICATION (MTV): COMMON CHALLENGES AND SOLUTIONS, 2013, : 74 - 76
  • [4] FAST MODE DECISION ALGORITHM BASED ON THREAD-LEVEL PARALLELIZATION AND THREAD SLIPSTREAMING IN H.264 VIDEO CODING
    Hyun, Ju-Ho
    2010 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO (ICME 2010), 2010, : 655 - 660
  • [5] Reducing memory in software-based thread-level speculation for javascript virtual machine execution of web applications
    Martinsen, Jan Kasper
    Grahn, Håkan
    Isberg, Anders
    Sundström, Henrik
    Proceedings - 16th IEEE International Conference on High Performance Computing and Communications, HPCC 2014, 11th IEEE International Conference on Embedded Software and Systems, ICESS 2014 and 6th International Symposium on Cyberspace Safety and Security, CSS 2014, 2014, : 181 - 184
  • [6] Validation of Context Preserving Thread-Level Speculative Execution Using N-Queens Comparison of Non-CPSE and CPSE-enabled Applications
    Mason, Jack L.
    2017 18TH INTERNATIONAL WORKSHOP ON MICROPROCESSOR AND SOC TEST, SECURITY AND VERIFICATION (MTV 2017), 2017, : 32 - 34
  • [7] Exploring Thread-level Parallelism Based on Cost-Driven Model for Irregular Programs
    Li, Yuancheng
    Liu, Bin
    2017 IEEE INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING, COMMUNICATIONS AND COMPUTING (ICSPCC), 2017,
  • [8] Reducing Memory in Software-Based Thread-Level Speculation for Java']JavaScript Virtual Machine Execution of Web Applications
    Martinsen, Jan Kasper
    Grahn, Hakan
    Isberg, Anders
    Sundstrom, Henrik
    2014 IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, 2014 IEEE 6TH INTL SYMP ON CYBERSPACE SAFETY AND SECURITY, 2014 IEEE 11TH INTL CONF ON EMBEDDED SOFTWARE AND SYST (HPCC,CSS,ICESS), 2014, : 181 - 184
  • [9] A New GCC Plugin-Based Compiler Pass to Add Support for Thread-Level Speculation into OpenMP
    Aldea, Sergio
    Estebanez, Alvaro
    Llanos, Diego R.
    Gonzalez-Escribano, Arturo
    EURO-PAR 2014 PARALLEL PROCESSING, 2014, 8632 : 234 - 245
  • [10] An Automatic Analysis Framework of Detailed-level Software Fault Modes and Effects Based on Code Model
    Zeng, Fuping
    Ma, Yiran
    Pan, Guoqing
    2021 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2021), 2021, : 127 - 132