13.07.2015 Views

automatically exploiting cross-invocation parallelism using runtime ...

automatically exploiting cross-invocation parallelism using runtime ...

automatically exploiting cross-invocation parallelism using runtime ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.4 SPECCROSS ProfilingSPECCROSS provides a profiling API to determine whether speculation is profitable or not.In order to detect dependences, the signature of each task is compared with signatures oftasks belonging to earlier epochs. After dependences are detected between two tasks, theprofiling function records the dependence distance between them. Dependence distance isdefined as the number of tasks between two conflicting tasks. After profiling, a minimumdependence distance is determined. If the minimum dependence distance is smaller than athreshold value, speculation will not be done. By default, the threshold value is set to beequal to the number of worker threads.If the dependence distance is large, it means the program has an access pattern suitablefor barrier speculation. To reduce the possibility of misspeculation, the minimumdependence distance is passed as an input parameter to the speculation <strong>runtime</strong> library. At<strong>runtime</strong>, the leading thread stalls if it executes beyond this distance.4.5 Related Work4.5.1 Barrier Removal TechniquesBarrier synchronization is often inserted in parallel applications conservatively. Some barrierscan be removed <strong>using</strong> static analysis if there is no <strong>cross</strong>-thread data flow. Severalbarrier removal techniques are based on disproving <strong>cross</strong>-thread dependences [50, 72, 78].Other techniques restructure code to avoid the need for barrier synchronization. Zhao etal. [79] transform an inner DOALL loop to an outer DOALL loop in order to remove barriersbetween two consecutive parallel loop <strong>invocation</strong>s. Ferrero et al. [22] aggregate smallparallel loops into large ones for the same purpose. All these barrier removal techniquesrely on static analysis to remove barriers. Compared to them, SPECCROSS is not limitedby the conservativeness of static analysis. These approaches are complementary to SPEC-73

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!