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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Aho, J. Hopcroft and J. Ullman. Data Structures and Algorithms. Addison-Wesley, 1982.
J. Barnes and P. Hut. A hierarchical O(NlogN) force-calculation algorithm. Nature, pages 446–449, December 1976.
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.
W. Blume and R. Eigenmann Symbolic Range Propagation. In Proceedings of the Ninth IEEE Int. Parallel Processing Symposium, pp. 357–363, April, 1995
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.
M. Garey and D. Johnson. Computer and Intractability. A Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.
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.
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.
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.
O. Ibarra, B. Leininger, and S. Moran. On the Complexity of Simple Arithmetic Expressions. In Theoretical Computer Science, 19:17–28, 1982.
O. Ibarra, B. Leininger, and L. Rosier. A Note on the Complexity of Program Evaluation. In Mathematical Systems Theory, 17:85–96, 1984.
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.
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.
J. Solworth and B. Reagan. Arbitrary order operations on trees. In Languages and Compilers for Parallel Computing, Fourth International Workshop, Portland, OR, August 1993.
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.
W. Weihl. Commutativity-based concurrency control for abstract data types. IEEE Transactions on Computers, 37(12):1488–1505, December 1988.
Author information
Authors and Affiliations
Editor information
Rights 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