skip to main content
10.1145/1693453.1693457acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Structure-driven optimizations for amorphous data-parallel programs

Published:09 January 2010Publication History

ABSTRACT

Irregular algorithms are organized around pointer-based data structures such as graphs and trees, and they are ubiquitous in applications. Recent work by the Galois project has provided a systematic approach for parallelizing irregular applications based on the idea of optimistic or speculative execution of programs. However, the overhead of optimistic parallel execution can be substantial. In this paper, we show that many irregular algorithms have structure that can be exploited and present three key optimizations that take advantage of algorithmic structure to reduce speculative overheads. We describe the implementation of these optimizations in the Galois system and present experimental results to demonstrate their benefits. To the best of our knowledge, this is the first system to exploit algorithmic structure to optimize the execution of irregular programs.

References

  1. Daniel K. Blandford, Guy E. Blelloch, and Clemens Kadow. Engineering a compact parallel Delaunay algorithm in 3D. In SCG '06: 22nd Symposium on Computational Geometry, pages 292--300, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Braunstein, M. Mèzard, and R. Zecchina. Survey propagation: An algorithm for satisfiability. Random Structures and Algorithms, 27(2):201--226, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sigmund Cherem, Trishul Chilimbi, and Sumit Gulwani. Inferring locks for atomic sections. In PLDI '08, pages 304--315, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Andrey N. Chernikov and Nikos P. Chrisochoides. Three-dimensional Delaunay refinement for multi-core processors. In ICS '08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein, editors. Introduction to Algorithms. MIT Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. David Eppstein. Spanning trees and spanners. In J. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages 425--461. Elsevier, 1999.Google ScholarGoogle Scholar
  7. Paul Feautrier. Some efficient solutions to the affine scheduling problem: One dimensional time. International Journal of Parallel Programming, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Andrew V. Goldberg and Robert E. Tarjan. A new approach to the maximum-flow problem. J. ACM, 35(4):921--940, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Leonidas J. Guibas, Donald E. Knuth, and Micha Sharir. Randomized incremental construction of delaunay and voronoi diagrams. Algorithmica, 7(1):381--413, December 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. David R. Jefferson. Virtual time. ACM Trans. Program. Lang. Syst., 7(3):404--425, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Karypis and V. Kumar. Multilevel k-way partitioning scheme for irregular graphs. Journal of Parallel and Distributed Computing, 48(1):96--129, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. SIGPLAN Not. (Proceedings of PLDI 2007), 42(6):211--222, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Milind Kulkarni, Martin Burtscher, Calin Casc¸aval, and Keshav Pingali. Lonestar: A suite of parallel irregular programs. In ISPASS '09: IEEE International Symposium on Performance Analysis of Systems and Software, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  14. Milind Kulkarni, Martin Burtscher, Rajasekhar Inkulu, Keshav Pingali, and Calin Casc¸aval. How much parallelism is there in irregular applications? In PPoPP '09, pages 3--14, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Milind Kulkarni, Keshav Pingali, Ganesh Ramanarayanan, BruceWalter, Kavita Bala, and L. Paul Chew. Optimistic parallelism benefits from data partitioning. SIGARCH Comput. Archit. News, 36(1):233--243, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Roberto Lubllinerman, Swarat Chaudhuri, and Pavol Cerny. Parallel programming with object assemblies. In OOPSLA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Timothy Mattson, Beverly Sanders, and Berna Massingill. Patterns for Parallel Programming. Addison-Wesley Publishers, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bill McCloskey, Feng Zhou, David Gay, and Eric Brewer. Autolocker: synchronization inference for atomic sections. In POPL '06, pages 346--358, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Eliot B. Moss and Antony L. Hosking. Nested transactional memory: model and architecture sketches. Sci. Comput. Program., 63(2):186--201, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: An extensible compiler framework for java. In CC'03, pages 138--152. Springer-Verlag, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. http://www.openmp.org/.Google ScholarGoogle Scholar
  22. D. Patterson, K. Keutzer, K. Asanovica, K. Yelick, and R. Bodik. Berkeley dwarfs. http://view.eecs.berkeley.edu/.Google ScholarGoogle Scholar
  23. C. D. Polychronopoulos and D. J. Kuck. Guided self-scheduling: A practical scheduling scheme for parallel supercomputers. IEEE Trans. Comput., 36(12):1425--1439, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Bratin Saha, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Chi Cao Minh, and Benjamin Hertzberg. McRT-STM: a high performance software transactional memory system for a multi-core runtime. In PPoPP '06, pages 187--197, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Marc Snir. http://wing.cs.uiuc.edu/group/patterns/.Google ScholarGoogle Scholar
  26. Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie Hendren, Patrick Lam, and Vijay Sundaresan. Soot - a java bytecode optimization framework. In CASCON '99, page 13, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Structure-driven optimizations for amorphous data-parallel programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!