Spice: Speculative Parallel Iteration Chunk Execution

被引:0
|
作者
Raman, Easwaran [1 ]
Vachharajani, Neil [1 ]
Rangan, Ram [1 ]
August, David I. [1 ]
机构
[1] Princeton Univ, Dept Comp Sci, Princeton, NJ 08540 USA
关键词
Multicore architectures; automatic paralleization; speculative parallelization; thread level parallelism; value speculation;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The recent trend in the processor industry of packing multiple processor cores in a chip has increased the importance of automatic techniques for extracting thread level parallelism. A promising approach for extracting thread level parallelism in general purpose applications is to apply memory alias or value speculation to break dependences amongst threads and executes them concurrently. In this work, we present a speculative parallelization technique called Speculative Parallel Iteration Chunk execution (Spice) which relies on a novel software-only value prediction mechanism. Our value prediction technique predicts the loop live-ins of only a few iterations of a given loop, enabling speculative threads to start from those iterations. It also increases the probability of successful speculation by only predicting that the values will be used as live-ins in some future iterations of the loop. These twin properties enable our value prediction scheme to have high prediction accuracies while exposing significant coarse-grained thread-level parallelism. Spice has been implemented as an automatic transformation in a research compiler. The technique results in up to 157% speedup (101% on average) with 4 threads.
引用
收藏
页码:175 / 184
页数:10
相关论文
共 50 条
  • [1] On the choice of the best chunk size for the speculative execution of loops
    Estebanez, Alvaro
    Llanos, Diego R.
    Orden, David
    Palop, Belen
    [J]. PLOS ONE, 2022, 17 (05):
  • [2] On the choice of the best chunk size for the speculative execution of loops
    Estebanez, Alvaro
    Llanos, Diego R.
    Orden, David
    Palop, Belen
    [J]. PLOS ONE, 2022, 17 (07):
  • [3] A Speculative Parallel Execution Model for Apache Spark
    Wang, Zhoukai
    Zhao, Yinliang
    [J]. PROCEEDINGS OF 2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2018, : 84 - 89
  • [4] Data-Centric Execution of Speculative Parallel Programs
    Jeffrey, Mark C.
    Subramanian, Suvinay
    Abeydeera, Maleen
    Emer, Joel
    Sanchez, Daniel
    [J]. 2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2016,
  • [5] A SPECULATIVE EXECUTION SCHEME OF MACROTASKS FOR PARALLEL-PROCESSING SYSTEMS
    YAMANA, H
    YASUE, T
    ISHII, Y
    MURAOKA, Y
    [J]. SYSTEMS AND COMPUTERS IN JAPAN, 1995, 26 (06) : 1 - 15
  • [6] Optimization Technology of The Speculative Thread Execution Base on Parallel particle
    Yang Hong-bin
    Xu Zhen-kun
    Wu Yue
    [J]. 2011 AASRI CONFERENCE ON ARTIFICIAL INTELLIGENCE AND INDUSTRY APPLICATION (AASRI-AIIA 2011), VOL 2, 2011, : 1 - 5
  • [7] Speculative Execution of Parallel Programs with Precise Exception Semantics on GPUs
    Hayashi, Akihiro
    Grossman, Max
    Zhao, Jisheng
    Shirako, Jun
    Sarkar, Vivek
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2013, 2014, 8664 : 342 - 356
  • [8] Expansion of video database capacity by introducing speculative execution technique in parallel environments
    Takayama, T
    Hironaka, T
    Fujino, S
    [J]. 1997 IEEE PACIFIC RIM CONFERENCE ON COMMUNICATIONS, COMPUTERS AND SIGNAL PROCESSING, VOLS 1 AND 2: PACRIM 10 YEARS - 1987-1997, 1997, : 256 - 259
  • [9] Scaling Out Speculative Execution of Finite-State Machines with Parallel Merge
    Xia, Yang
    Jiang, Peng
    Agrawal, Gagan
    [J]. PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 160 - 172
  • [10] A theory of nested speculative execution
    Tapus, Cristian
    Hickey, Jason
    [J]. COORDINATION MODELS AND LANGUAGES, PROCEEDINGS, 2007, 4467 : 151 - +