skip to main content
research-article

Analysis of recursively parallel programs

Published:25 January 2012Publication History
Skip Abstract Section

Abstract

We propose a general formal model of isolated hierarchical parallel computations, and identify several fragments to match the concurrency constructs present in real-world programming languages such as Cilk and X10. By associating fundamental formal models (vector addition systems with recursive transitions) to each fragment, we provide a common platform for exposing the relative difficulties of algorithmic reasoning. For each case we measure the complexity of deciding state-reachability for finite-data recursive programs, and propose algorithms for the decidable cases. The complexities which include PTIME, NP, EXPSPACE, and 2EXPTIME contrast with undecidable state-reachability for recursive multi-threaded programs.

Skip Supplemental Material Section

Supplemental Material

popl_3b_2.mp4

References

  1. P. A. Abdulla, K. Cerans, B. Jonsson, and Y.-K. Tsay. General decidability theorems for infinite-state systems. In LICS '96: Proc. 11th IEEE Symposium on Logic in Computer Science, pages 313--321. IEEE Computer Society, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Allen, D. Chase, V. Luchangco, J.-W. Maessen, S. Ryu, G. L. S. Jr., and S. Tobin-Hochstadt. The Fortress language specification. Technical report, Sun Microsystems, Inc., 2006.Google ScholarGoogle Scholar
  3. A. Bouajjani and M. Emmi. Analysis of recursively parallel programs. 2011. http://hal.archives-ouvertes.fr/hal-00639351/en.Google ScholarGoogle Scholar
  4. A. Bouajjani and J. Esparza. Rewriting models of boolean programs. In RTA '06: Proc. 17th International Conference on Term Rewriting and Applications, volume 4098 of LNCS, pages 136--150. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Bouajjani, M. Müller-Olm, and T. Touili. Regular symbolic analysis of dynamic networks of pushdown systems. In CONCUR '05: Proc. 16th International Conference on Concurrency Theory, volume 3653 of LNCS, pages 473--487. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Burckhardt, A. Baldassin, and D. Leijen. Concurrent programming with revisions and isolation types. In OOPSLA '10: Proc. 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 691--707. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Charles, C. Grothoff, V. A. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA '05: Proc. 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 519--538. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Demri, M. Jurdzinski, O. Lachish, and R. Lazic. The covering and boundedness problems for branching vector addition systems. In FSTTCS '09: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, pages 181--192, 2009.Google ScholarGoogle Scholar
  9. J. Esparza and P. Ganty. Complexity of pattern-based verification for multithreaded programs. In POPL '11: Proc. 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 499--510. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Esparza and A. Podelski. Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In POPL '00: Proc. 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 1--11. ACM, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Finkel and P. Schnoebelen. Well-structured transition systems everywhere! Theor. Comput. Sci., 256 (1--2): 63--92, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Flanagan and M. Felleisen. The semantics of future and an application. J. Funct. Program., 9 (1): 1--31, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Flanagan and S. Qadeer. Thread-modular model checking. In SPIN '03: Proc. 10th International Workshop on Model Checking Software, volume 2648 of LNCS, pages 213--224. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Ganty and R. Majumdar. Algorithmic verification of asynchronous programs. CoRR, abs/1011.0551, 2010. http://arxiv.org/abs/1011.0551.Google ScholarGoogle Scholar
  15. G. Geeraerts, J.-F. Raskin, and L. V. Begin. Expand, enlarge and check: New algorithms for the coverability problem of wsts. J. Comput. Syst. Sci., 72 (1): 180--203, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Graf and H. Saıdi. Construction of abstract state graphs with PVS. In CAV '97: Proc. 9th International Conference on Computer Aided Verification, volume 1254 of LNCS, pages 72--83. Springer, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. H. Halstead Jr. Multilisp: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst., 7 (4): 501--538, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. A. Henzinger, R. Jhala, R. Majumdar, and S. Qadeer. Thread-modular abstraction refinement. In CAV '03: Proc. 15th International Conference on Computer Aided Verification, volume 2725 of LNCS, pages 262--274. Springer, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  19. R. Jhala and R. Majumdar. Interprocedural analysis of asynchronous programs. In POPL '07: Proc. 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 339--350. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. Kahlon. Boundedness vs. unboundedness of lock chains: Characterizing decidability of pairwise CFL-reachability for threads communicating via locks. In LICS '09: Proc. 24th Annual IEEE Symposium on Logic in Computer Science, pages 27--36. IEEE Computer Society, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Kozen. Lower bounds for natural proof systems. In FOCS '77: Proc. 18th Annual Symposium on Foundations of Computer Science, pages 254--266. IEEE Computer Society, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Lal and T. W. Reps. Reducing concurrent analysis under a context bound to sequential analysis. Formal Methods in System Design, 35 (1): 73--97, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006. http://www.morganclaypool.com/doi/abs/10.2200/S00070ED1V01Y200611CAC002.Google ScholarGoogle ScholarCross RefCross Ref
  24. E. A. Lee. The problem with threads. IEEE Computer, 39 (5): 33--42, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Leijen, W. Schulte, and S. Burckhardt. The design of a task parallel library. In OOPSLA '09: Proc. 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 227--242. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. J. Lipton. The reachability problem requires exponential space. Technical Report 62, Yale University, 1976.Google ScholarGoogle Scholar
  27. P. Pratikakis, H. Vandierendonck, S. Lyberis, and D. S. Nikolopoulos. A programming model for deterministic task parallelism. In MSPC '11: Proc. 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, pages 7--12. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Rackoff. The covering and boundedness problems for vector addition systems. Theor. Comput. Sci., 6: 223--231, 1978.Google ScholarGoogle ScholarCross RefCross Ref
  29. G. Ramalingam. Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans. Program. Lang. Syst., 22 (2): 416--430, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. H. Randall. Cilk: Efficient Multithreaded Computing. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. T. W. Reps, S. Horwitz, and S. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In POPL '95: Proc. 22th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 49--61. ACM, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. C. Segulja and T. S. Abdelrahman. Synchronization-free and deterministic coarse-grain parallelism: Architectural support and programming model. In FASPP '11: Proc. First International Workshop on Future Architectural Support for Parallel Programming, 2011.Google ScholarGoogle Scholar
  33. K. Sen and M. Viswanathan. Model checking multithreaded programs with asynchronous atomic methods. In CAV '06: Proc. 18th International Conference on Computer Aided Verification, volume 4144 of LNCS, pages 300--314. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analysis of recursively 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

                Full Access

                • Published in

                  cover image ACM SIGPLAN Notices
                  ACM SIGPLAN Notices  Volume 47, Issue 1
                  POPL '12
                  January 2012
                  569 pages
                  ISSN:0362-1340
                  EISSN:1558-1160
                  DOI:10.1145/2103621
                  Issue’s Table of Contents
                  • cover image ACM Conferences
                    POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                    January 2012
                    602 pages
                    ISBN:9781450310833
                    DOI:10.1145/2103656

                  Copyright © 2012 ACM

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 25 January 2012

                  Check for updates

                  Qualifiers

                  • research-article

                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!