Skip to main content

Finding Synchronization-Free Parallelism Represented with Trees of Dependent Operations

  • Conference paper
Algorithms and Architectures for Parallel Processing (ICA3PP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5022))

Abstract

Algorithms are presented for extracting synchronization-free parallelism available in arbitrarily nested parameterized loops. The parallelism is represented with synchronization-free trees of dependent operations. Sets representing trees can be described with non-linear expressions. The main idea is to firstly extract sources of synchronization-free trees and next to generate parallel code based on a while loop. Experimental results are presented exposing speed-up and efficiency of parallel programs written in the OpenMP standard on the basis of code generated by the algorithms proposed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures, p. 790. Morgan Kaufmann, San Francisco (2001)

    Google Scholar 

  2. Banerjee, U.: Unimodular transformations of double loops. In: Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, pp. 192–219 (1990)

    Google Scholar 

  3. Feautrier, P.: Toward automatic distribution. Journal of Parallel Processing Letters 4, 233–244 (1994)

    Article  Google Scholar 

  4. Lim, W., Cheong, G.I., Lam, M.S.: An affine partitioning algorithm to maximize parallelism and minimize communication. In: Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing (1999)

    Google Scholar 

  5. Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization, Birkhäuser Boston (2000)

    Google Scholar 

  6. Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems (1998)

    Google Scholar 

  7. Weiser, M.: Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, PhD thesis, University of Michigan, Ann Arbor, MI (1979)

    Google Scholar 

  8. Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering SE-10(7), 352–357 (1984)

    Article  Google Scholar 

  9. Pugh, W., Rosser, E.: Iteration Space Slicing and Its Application to Communication Optimization. In: Proceedings of the International Conference on Supercomputing, pp. 221–228 (1997)

    Google Scholar 

  10. Kelly, W., Pugh, W., Rosser, E., Shpeisman, T.: Transitive Closure of Infinite Graphs and its Applications. International Journal of Parallel Programming 24(6), 579–598 (1996)

    Google Scholar 

  11. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide, Technical Report CS-TR-3445, University of Maryland (1995)

    Google Scholar 

  12. Ancourt, C., Irigoin, F.: Scanning polyhedra with do loops. In: Proceedings of the Third ACM/SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 39–50. ACM Press, New York (1991)

    Chapter  Google Scholar 

  13. Bastoul, C.: Code Generation in the Polyhedral Model Is Easier Than You Think. In: Proceedings of the PACT 13 IEEE International Conference on Parallel Architecture and Compilation Techniques, Juan-les-Pins, pp. 7–16 (2004)

    Google Scholar 

  14. Boulet, P., Darte, A., Silber, G.A., Vivien, F.: Loop parallelization algorithms: from parallelism extraction to code generation. Parallel Computing 24, 421–444 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  15. Quillere, F., Rajopadhye, S., Wilde, D.: Generation of efficient nested loops from polyhedra. International Journal of Parallel Programming 28 (2000)

    Google Scholar 

  16. Vasilache, N., Bastoul, C., Cohen, A.: Polyhedral code generation in the real world. In: Proceedings of the International Conference on Compiler Construction (ETAPS CC 2006). LNCS, pp. 185–201. Springer, Vienna, Austria (2006)

    Google Scholar 

  17. Gupta, G., DaeGon, Kim, Sanjay, Rajopadhye, V.: Scheduling in the Z-Polyhedral Model. In: Proceedings of IPDPS 2007 (2007)

    Google Scholar 

  18. www.openmp.org

  19. Lim, W., Lam, M.S.: Communication-free parallelization via affine transformations. In: Proceedings of the Seventh workshop on languages and compilers for parallel computing, pp. 92–106 (1994)

    Google Scholar 

  20. Feautrier, P.: Some efficient solutions to the affine scheduling problem, part i, one dimensional time. International Journal of Parallel Programming 21, 313–348 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  21. Feautrier, P.: Some efficient solutions to the affine scheduling problem, part ii, multidimensional time. International Journal of Parallel Programming 21, 389–420 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  22. Beletskyy, V., Siedlecki, K.: Finding Free Schedules for Non-uniform Loops. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 297–302. Springer, Heidelberg (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Anu G. Bourgeois S. Q. Zheng

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bielecki, W., Beletska, A., Palkowski, M., San Pietro, P. (2008). Finding Synchronization-Free Parallelism Represented with Trees of Dependent Operations. In: Bourgeois, A.G., Zheng, S.Q. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2008. Lecture Notes in Computer Science, vol 5022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69501-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69501-1_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69500-4

  • Online ISBN: 978-3-540-69501-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics