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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

should also adapt to real execution (e.g., the speculative range could change to a largervalue based on the actual input data set to enable more <strong>parallelism</strong>).Current profiling techniques are not sufficient for automatic region parallelization. First,it takes too long for most profilers to generate profiling results. These profilers simply examineall dependences that cannot be broken at compile time without considering whichdependences are actually of interest for parallelization techniques to be applied. For example,DOALL parallelization only cares about <strong>cross</strong>-iteration dependences while for SPEC-CROSS, it requires a minimum dependence distance between two iterations instead. Byprofiling “smartly”, we could dramatically reduce the time spent on profiling and make itfeasible for much larger programs. Another interesting research direction is asking the profilerto return useful information to the parallelizer, helping it achieve a better parallelizationplan. For example, COMMSET [55] implements a profiler which examines the dependencesand hints the programmers where to insert the annotations so that parallelizationprohibiting dependences could be broken. Similarly, the profiler could tell the SPECCROSSscheduler that if a certain iteration is scheduled to another worker thread, the speculativerange will be enlarged significantly to enable more potential parallelization. We envisiona system in which the profiler collaborates with the parallelizer to iteratively improve theparallelization.Other possible research directions include designing a parallelizer which can extract<strong>parallelism</strong> on whole-program scope, or evaluating approaches for effectively integratingvarious intra- and inter-<strong>invocation</strong> parallelization techniques to work on the same program.We believe any of these avenues for future work could meaningfully improve the state ofthe art in automatic software parallelization.95

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

Saved successfully!

Ooh no, something went wrong!