skip to main content
research-article

A shape analysis for optimizing parallel graph programs

Published:26 January 2011Publication History
Skip Abstract Section

Abstract

Computations on unstructured graphs are challenging to parallelize because dependences in the underlying algorithms are usually complex functions of runtime data values, thwarting static parallelization. One promising general-purpose parallelization strategy for these algorithms is optimistic parallelization.

This paper identifies the optimization of optimistically parallelized graph programs as a new application area, and develops the first shape analysis for addressing this problem. Our shape analysis identifies failsafe points in the program after which the execution is guaranteed not to abort and backup copies of modified data are not needed; additionally, the analysis can be used to eliminate redundant conflict checking. It uses two key ideas: a novel top-down heap abstraction that controls state space explosion, and a strategy for predicate discovery that exploits common patterns of data structure usage.

We implemented the shape analysis in TVLA, and used it to optimize benchmarks from the Lonestar suite. The optimized programs were executed on the Galois system. The analysis was successful in eliminating all costs related to rollback logging for our benchmarks. Additionally, it reduced the number of lock acquisitions by a factor ranging from 10x to 50x, depending on the application and the number of threads. These optimizations were effective in reducing the running times of the benchmarks by factors of 2x to 12x.

Skip Supplemental Material Section

Supplemental Material

15-mpeg-4.mp4

References

  1. A. Adl-Tabatabai, B. T. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman. Compiler and runtime support for efficient software transactional memory. In PLDI. ACM, 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. C. Calcagno, D. Distefano, P. W. O'Hearn, and H. Yang. Footprint analysis: A shape analysis that discovers preconditions. In SAS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Cherem, T. Chilimbi, and S. Gulwani. Inferring locks for atomic sections. In PLDI. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Cormen, C. Leiserson, R. Rivest, and C. Stein, editors. Introduction to Algorithms. MIT Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Dragojevic, Y. Ni, and A. Adl-Tabatabai. Optimizing transactions for captured memory. In SPAA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Eppstein. Spanning trees and spanners, pages 425--461. Elsevier, 1999.Google ScholarGoogle Scholar
  8. I. Filipovic, P. W. O'Hearn, N. Rinetzky, and H. Yang. Abstraction for concurrent objects. In ESOP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA '03, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. L. Harris, M. Plesko, A. Shinnar, and D. Tarditi. Optimizing memory transactions. In PLDI. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Herlihy and E. Koskinen. Transactional boosting: a methodology for highly-concurrent transactional objects. In PPOPP. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Herlihy and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. In ISCA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Hicks, J. S. Foster, and P. Pratikakis. Lock inference for atomic sections. In TRANSACT, June 2006.Google ScholarGoogle Scholar
  14. D. Jackson. Software Abstractions: Logic, Language, and Analysis. The MIT Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Kulkarni, M. Burtscher, C. Cascaval, and K. Pingali. Lonestar: A suite of parallel irregular programs. In ISPASS, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  16. M. Kulkarni, P. Carribault, K. Pingali, G. Ramanarayanan, B. Walter, K. Bala, and L. P. Chew. Scheduling strategies for optimistic parallel execution of irregular programs. In SPAA '08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In PLDI. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. V. Kuncak and M. C. Rinard. Decision procedures for set-valued fields. Electr. Notes Theor. Comput. Sci., 131, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. V. Kuncak and M. C. Rinard. An overview of the jahob analysis system: project goals and current status. In IPDPS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. K. Lahiri and R. E. Bryant. Predicate abstraction with indexed predicates. ACM Trans. Comput. Log., 9(1), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. Lam, V. Kuncak, and M. C. Rinard. Generalized typestate checking using set interfaces and pluggable analyses. SIGPLAN Notices, 39(3), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. Lev-Ami and M. Sagiv. TVLA: A framework for implementing static analyses. In SAS, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Manevich, S. Sagiv, G. Ramalingam, and J. Field. Partially disjunctive heap abstraction. In SAS, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  24. M. Marron, D. Stefanovic, D. Kapur, and M. V. Hermenegildo. Identification of heap-carried data dependence via explicit store heap models. In LCPC, pages 94--108, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. McCloskey, F. Zhou, D. Gay, and E. Brewer. Autolocker: synchronization inference for atomic sections. In POPL. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Meéndez-Lojo, D. Nguyen, D. Prountzos, X. Sui, M. A. Hassaan, M. Kulkarni, M. Burtscher, and K. Pingali. Structure-driven optimizations for amorphous data-parallel programs. In PPOPP. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K. Pingali, M. Kulkarni, D. Nguyen, M. Burtscher, M. Mendez-Lojo, D. Prountzos, X. Sui, and Z. Zhong. Amorphous data-parallelism in irregular algorithms. regular tech report TR-09-05, The University of Texas at Austin, 2009.Google ScholarGoogle Scholar
  28. A. Podelski and T. Wies. Boolean heaps. In SAS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. Prabhu, G. Ramalingam, and K. Vaswani. Safe programmable speculative parallelism. In PLDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D. Prountzos, R. Manevich, K. Pingali, and K. S. McKinley. A shape analysis for optimizing parallel graph programs. Technical Report TR-10--27, UT Austin, http://userweb.cs.utexas.edu/users/ dprountz/UTCS-TR-10-27.pdf,Jul 2010.Google ScholarGoogle Scholar
  31. L. Rauchwerger and D. A. Padua. The LRPD test: Speculative runtime parallelization of loops with privatization and reduction parallelization. IEEE Trans. Parallel Distrib. Syst., 10(2):160--180, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Trans. Program. Lang. Syst., 24(3), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Salcianu and M. C. Rinard. Purity and side effect analysis for java programs. In VMCAI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. K. Zee, V. Kuncak, and M. Rinard. Full functional verification of linked data structures. In PPOPP. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A shape analysis for optimizing parallel graph 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

      Full Access

      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!