• Home
  • Search
  • Safe parallel programming using dynamic dependence hints
  • Cite Icon24
  • https://doi.org/10.1145/2048066.2048087Copy DOI Icon

Safe parallel programming using dynamic dependence hints

  • Oct 22, 2011
  • Chuanle Ke +5 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Speculative parallelization divides a sequential program into possibly parallel tasks and permits these tasks to run in parallel if and only if they show no dependences with each other. The parallelization is safe in that a speculative execution always produces the same output as the sequential execution.In this paper, we present the dependence hint, an interface for a user to specify possible dependences between possibly parallel tasks. Dependence hints may be incorrect or incomplete but they do not change the program output. The interface extends Cytron's do-across and recent OpenMP ordering primitives and makes them safe and safely composable. We use it to express conditional and partial parallelism and to parallelize large-size legacy code. The prototype system is implemented as a software library. It is used to improve performance by nearly 10 times on average on current multicore machines for 8 programs including 5 SPEC benchmarks.

Similar Papers
  • Conference Article
  • Citations29

Multithreaded Value Prediction

  • Feb 12, 2005
  • N Tuck +1
  • Conference Article
  • Citations33

A Hardware-Software Platform for Intrusion Prevention

  • Dec 04, 2004
  • M Drinic +1
  • Research Article
  • Citations1

Development of a High-Speed and High-Accuracy Machining System Based on Servo-Data Control – Evaluation of Prototype System –

  • Nov 05, 2011
  • International Journal of Automation Technology
  • Mikio Fujio
  • Conference Article
  • Citations32

Chronos: Efficient Speculative Parallelism for Accelerators

  • Mar 09, 2020
  • Maleen Abeydeera +1
  • Conference Article
  • Citations9

Speculative parallelization needs rigor

  • Sep 19, 2012
  • Zhijia Zhao +2
  • Research Article
  • Citations36

Extending value reuse to basic blocks with compiler support

  • Apr 01, 2000
  • IEEE Transactions on Computers
  • J Huang +1
  • Conference Article
  • Citations92

The R-LRPD test: speculative parallelization of partially parallel loops

  • Jan 01, 2002
  • F Dang +2
  • Research Article
  • Citations20

Coarse-grained thread pipelining: a speculative parallel execution model for shared-memory multiprocessors

  • Sep 01, 2001
  • IEEE Transactions on Parallel and Distributed Systems
  • I.H Kazi +1
  • Research Article

ReduxSTM: Optimizing STM designs for Irregular Applications

  • May 03, 2017
  • Journal of Parallel and Distributed Computing
  • Manuel Pedrero +3
  • Research Article
  • Citations11

Parallelizing security checks on commodity hardware

  • Mar 01, 2008
  • ACM SIGPLAN Notices
  • Edmund B Nightingale +3
  • Conference Article
  • Citations12

Automatic speculative parallelization of loops using polyhedral dependence analysis

  • Feb 24, 2013
  • Arnamoy Bhattacharyya +1
  • Conference Article
  • Citations20

Space-time transformation of while-loops using speculative execution

  • May 23, 1994
  • J.-F Collard
  • Conference Article
  • Citations7

Loop level speculation in a task based programming model

  • Dec 01, 2013
  • Rahulkumar Gayatri +2
  • PDF
  • Research Article

Using Heuristic Value Prediction and Dynamic Task Granularity Resizing to Improve Software Speculation

  • Jan 01, 2014
  • The Scientific World Journal
  • Fan Xu +5
  • Conference Article
  • Citations3

Speculative Thread Partitioning Using Fuzzy C-means Clustering

  • Aug 01, 2011
  • Yuancheng Li +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.