Skip to main content

On the complexity of commutativity analysis

  • Session 9
  • Conference paper
  • First Online:
Computing and Combinatorics (COCOON 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1090))

Included in the following conference series:

Abstract

Two operations commute if they generate the same result regardless of the order in which they execute. Commutativity is an important property — commuting operations enable significant optimizations in the fields of parallel computing, optimizing compilers, parallelizing compilers and database concurrency control. Algorithms that statically decide if operations commute can be an important component of systems in these fields because they enable the automatic application of these optimizations. In this paper we define the commutativity decision problem and establish its complexity for a variety of basic instructions and control constructs. Although deciding commutativity is, in general, undecidable or computationally intractable, we believe that efficient algorithms exist that can solve many of the cases that arise in practice.

Supported in part by NSF/NASA/ARPA Grant IRI94-11330.

Sponsored by the PRAXIS XXI program administrated by Portugal's JNICT — Junta Nacional de Investigação Científica e Tecnológica, and holds a Fulbright travel grant.

Supported in part by an Alfred P. Sloan Research Fellowship.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aho, J. Hopcroft and J. Ullman. Data Structures and Algorithms. Addison-Wesley, 1982.

    Google Scholar 

  2. J. Barnes and P. Hut. A hierarchical O(NlogN) force-calculation algorithm. Nature, pages 446–449, December 1976.

    Google Scholar 

  3. M. Berry et al. The PERFECT Club Benchmarks: Effective Performance Evaluation of Supercomputers. Technical Report CSRD-827, Center for Supercomputing Research and Development, University of Illinois, Urbana, IL, May, 1989.

    Google Scholar 

  4. W. Blume and R. Eigenmann Symbolic Range Propagation. In Proceedings of the Ninth IEEE Int. Parallel Processing Symposium, pp. 357–363, April, 1995

    Google Scholar 

  5. E. Gurari and O. Ibarra. The Complexity of the Equivalence Problem for Simple Programs. In Journal of the ACM, 28(3):535–560, July 1981.

    Google Scholar 

  6. M. Garey and D. Johnson. Computer and Intractability. A Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.

    Google Scholar 

  7. O. Ibarra and S. Moran. Probabilistic Algorithms for Deciding Equivalence of Straight-Line Programs. In Journal of the ACM, 30(1):217–228, January 1983.

    Google Scholar 

  8. O. Ibarra and B. Leininger. On the Simplification and Equivalence Problems for Straight-Line Programs. In Journal of the ACM, 30(3):641–656, July 1983.

    Google Scholar 

  9. O. Ibarra and B. Leininger. On the Zero-Inequivalence Problem for Loop Programs. In Journal of Computer and System Sciences, 26(1):47–64, February 1983.

    Google Scholar 

  10. O. Ibarra, B. Leininger, and S. Moran. On the Complexity of Simple Arithmetic Expressions. In Theoretical Computer Science, 19:17–28, 1982.

    Google Scholar 

  11. O. Ibarra, B. Leininger, and L. Rosier. A Note on the Complexity of Program Evaluation. In Mathematical Systems Theory, 17:85–96, 1984.

    Google Scholar 

  12. O. Ibarra and B. Leininger. The Complexity of the Equivalence Problem for Simple Loop-Free Programs. In SIAM Journal on Computing, 11(1):15–27, February 1982.

    Google Scholar 

  13. M. Rinard and P. Diniz. Commutativity Analysis: A New Analysis Framework for Parallelizing Compilers, In Proceedings of the SIGPLAN '96 Conference on Program Language Design and Implementation, Philadelphia, PA, May 1996.

    Google Scholar 

  14. J. Solworth and B. Reagan. Arbitrary order operations on trees. In Languages and Compilers for Parallel Computing, Fourth International Workshop, Portland, OR, August 1993.

    Google Scholar 

  15. G. Steele. Making asynchronous parallelism safe for the world. In Proceedings of the Seventeenth Annual ACM Symposium on the Principles of Programming Languages, pages 218–231, San Francisco, CA, January 1990.

    Google Scholar 

  16. W. Weihl. Commutativity-based concurrency control for abstract data types. IEEE Transactions on Computers, 37(12):1488–1505, December 1988.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jin-Yi Cai Chak Kuen Wong

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ibarra, O., Diniz, P., Rinard, M. (1996). On the complexity of commutativity analysis. In: Cai, JY., Wong, C.K. (eds) Computing and Combinatorics. COCOON 1996. Lecture Notes in Computer Science, vol 1090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61332-3_166

Download citation

  • DOI: https://doi.org/10.1007/3-540-61332-3_166

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61332-9

  • Online ISBN: 978-3-540-68461-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics