Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2048577.2048588acmotherconferencesArticle/Chapter ViewAbstractPublication Pageshp3cConference Proceedingsconference-collections
research-article

Adaptive runtime selection of parallel schedules in the polytope model

Published: 03 April 2011 Publication History

Abstract

There is often no unique version of a program that provides the best performance in all circumstances. Compilers should rely on an adaptive runtime decision to choose which optimizing and parallelizing transformations will lead to the best performance in any execution context. We present a new adaptive framework solving two drawbacks of existing methods: it is effective since the very first execution, and it handles slight variations of input data shape and size.
In our proposal, different code versions of parallel loop nests are statically generated by the compiler. At install time, each version is profiled in different execution contexts. At runtime, the execution time of each code version is predicted using the profiling results, the current input data shape and the number of available processor cores. The predicted best version is then run.
Our framework handles several versions of possibly tiled parallel loops, using the polytope model for both the profiling and the dynamic selection phases. We show on several benchmark programs that our runtime system selects one of the most efficient version with a very low runtime overhead. This quick and efficient selection leads to speedups compared to the usage of a unique version in every execution context.

References

[1]
J. Ansel, C. Chan, Y. L. Wong, M. Olszewski, Q. Zhao, A. Edelman, and S. Amarasinghe. Petabricks: a language and compiler for algorithmic choice. In PLDI '09, pages 38--49. ACM, 2009.
[2]
V. Aslot, M. J. Domeika, R. Eigenmann, G. Gaertner, W. B. Jones, and B. Parady. SPEComp: A new benchmark suite for measuring parallel computer performance. In WOMPAT '01. Springer-Verlag, 2001.
[3]
C. Bastoul. Code generation in the polyhedral model is easier than you think. In PACT'13, pages 7--16, 2004.
[4]
L. S. Blackford, J. Demmel, J. Dongarra, I. Duff, S. Hammarling, G. Henry, M. Heroux, L. Kaufman, A. Lumsdaine, A. Petitet, R. Pozo, K. Remington, and R. C. Whaley. An updated set of basic linear algebra subprograms (BLAS). ACM Transactions on Mathematical Software, 28:135--151, 2001.
[5]
R. D. Blumofe and C. E. Leiserson. Scheduling multi-threaded computations by work stealing. J. ACM, 46(5), 1999.
[6]
U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan. A practical automatic polyhedral parallelizer and locality optimizer. In PLDI '08, pages 101--113. ACM, 2008. pluto-compiler.sourceforge.net/.
[7]
P. Clauss and V. Loechner. Parametric analysis of polyhedral iteration spaces. Journal of VLSI Signal Processing, 19(2):179--194, 1998. Kluwer Academic Pub.
[8]
P. Feautrier. Dataflow analysis of scalar and array references. Int. J. of Parallel Programming, 20(1):23--53, 1991.
[9]
P. Feautrier. Some efficient solutions to the affine scheduling problem, part 1: one dimensional time. Int. J. of Parallel Programming, 21(5):313--348, 1992.
[10]
P. Feautrier. Some efficient solutions to the affine scheduling problem, part 2: multidimensional time. Int. J. of Parallel Programming, 21(6), 1992.
[11]
J. Mars and R. Hundt. Scenario based optimization: A framework for statically enabling online optimizations. In CGO '09, pages 169--179, 2009.
[12]
The OpenMP API specification for parallel programming. http://www.openmp.org.
[13]
L.-N. Pouchet, C. Bastoul, A. Cohen, and J. Cavazos. Iterative optimization in the polyhedral model: Part II, multidimensional time. In PLDI'08, pages 90--100. ACM Press, June 2008.
[14]
L.-N. Pouchet, C. Bastoul, A. Cohen, and N. Vasilache. Iterative optimization in the polyhedral model: Part I, one-dimensional time. In CGO'07, pages 144--156. IEEE Computer Society press, March 2007.
[15]
J. Ramanujam and P. Sadayappan. Tiling multidimensional iteration spaces for multicomputers. J. of Parallel and Distributed Computing, 16(2):108--120, 1992.
[16]
N. Thomas, G. Tanase, O. Tkachyshyn, J. Perdue, N. M. Amato, and L. Rauchwerger. A framework for adaptive algorithm selection in STAPL. In PPoPP '05, pages 277--288. ACM, 2005.
[17]
K. Tian, Y. Jiang, E. Z. Zhang, and X. Shen. An input-centric paradigm for program dynamic optimizations. In OOPSLA '10, pages 125--139. ACM, 2010.
[18]
S. Verdoolaege, R. Seghir, K. Beyls, V. Loechner, and M. Bruynooghe. Counting integer points in parametric polytopes using Barvinok's rational functions. Algorithmica, 48(1):37--66, June 2007.
[19]
M. J. Voss and R. Eigemann. High-level adaptive program optimization with ADAPT. In PPoPP '01, pages 93--102. ACM, 2001.
[20]
R. C. Whaley, A. Petitet, and J. Dongarra. Automated empirical optimizations of software and the ATLAS project. Parallel Computing, 27(1--2):3--35, 2001.

Cited By

View all
  • (2017)Optimistic loop optimizationProceedings of the 2017 International Symposium on Code Generation and Optimization10.5555/3049832.3049864(292-304)Online publication date: 4-Feb-2017
  • (2016)Input space splitting for OpenCLProceedings of the 25th International Conference on Compiler Construction10.1145/2892208.2892217(251-260)Online publication date: 17-Mar-2016
  • (2012)VMADProceedings of the 21st international conference on Compiler Construction10.1007/978-3-642-28652-0_12(220-239)Online publication date: 24-Mar-2012

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
HPC '11: Proceedings of the 19th High Performance Computing Symposia
April 2011
193 pages

Sponsors

  • SCS: Society for Modeling and Simulation International

In-Cooperation

Publisher

Society for Computer Simulation International

San Diego, CA, United States

Publication History

Published: 03 April 2011

Check for updates

Author Tags

  1. adaptive code selection
  2. parallel loop nest
  3. polytope model
  4. runtime performance evaluation

Qualifiers

  • Research-article

Conference

SpringSim '11
Sponsor:
  • SCS
SpringSim '11: 2011 Spring Simulation Multi-conference
April 3 - 7, 2011
Massachusetts, Boston

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Optimistic loop optimizationProceedings of the 2017 International Symposium on Code Generation and Optimization10.5555/3049832.3049864(292-304)Online publication date: 4-Feb-2017
  • (2016)Input space splitting for OpenCLProceedings of the 25th International Conference on Compiler Construction10.1145/2892208.2892217(251-260)Online publication date: 17-Mar-2016
  • (2012)VMADProceedings of the 21st international conference on Compiler Construction10.1007/978-3-642-28652-0_12(220-239)Online publication date: 24-Mar-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media