Abstract
We are developing a toolbox for writing symbolic programs that may be executed on sequential and parallel machines without modification. The toolbox is designed for use by programmers who are not experienced in parallel programming, and consists of parallelism abstractions and data-sharing abstractions. Parallelism abstractions represent common, time-consuming operations that offer good speedup potentials for parallel implementations. Data-sharing abstractions support common side-effecting operations on shared objects, simplifying the coding of a large class of algorithms that modify shared data structures in a parallel implementation. In this paper we describe the data-sharing abstractions of the toolbox, and show how the toolbox may be used to construct efficient parallel programs without exposing the programmer to low-level parallel programming details, which are hidden by the toolbox implementation.
Ho and Hilfinger are supported by NSF Grant CCR-8451213.
Preview
Unable to display preview. Download preview PDF.
References
Paul S. Barth. Atomic Data Structures for Parallel Computing. PhD thesis, MIT Laboratory for Computer Science, Cambridge, MA, March 1992.
Andrew Andai Chien. Concurrent Aggregates(CA): An Object-Oriented Language for Fine-Grained Message-Passing Machines. PhD thesis, MIT Artificial Intelligence Laboratory, Cambridge, MA, July 1990.
Hans Werner Guesgen. CONSAT: A System for Constraint Satisfaction. Research Notes in Artificial Intelligence. Morgan Kaufmann, San Mateo, CA, 1989.
Robert H. Halstead, Jr. Multilisp: A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7(4):501–538, October 1985.
Robert H. Halstead, Jr. An assessment of Multilisp: Lessons from experience. International Journal of Parallel Processing, 15(6):459–501, 1986.
Maurice Herlihy. A methodology for implementing highly concurrent data objects. Technical Report CRL 91/10, Digital Equipment Corporation Cambridge Research Laboratory, Cambridge, MA, October 1991.
Kinson Ho. High-level Abstractions for Symbolic Parallel Programming. PhD thesis, Computer Science Division (EECS), University of California, Berkeley, CA, 1993. To appear.
Kinson Ho, Paul N. Hilfinger, and Hans W. Guesgen. Optimistic discrete parallel relaxation. In Proceedings of the 13th International Joint Conference on Artificial Intelligence, page ??, Chambery, Savoie, France, August 1993. To appear.
L. V. Kale. The Chare Kernel parallel programming language and system. In The Proceedings of the International Conference on Parallel Processing, volume II, pages 17–25, St. Charles, IL, August 1990.
B. W. Lampson and D. D. Redell. Experience with processes and monitors in Mesa. Communications of the ACM, 23(2), February 1980.
James R. Larus. Restructuring Symbolic Programs for Concurrent Execution on Multiprocessors. PhD thesis, Computer Science Division (EECS), University of California, Berkeley, CA, May 1989.
Martic C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A high-level, machine-independent language for parallel programming. IEEE Computer, 26(6):28–38, June 1993.
Charles L. Seitz. The Cosmic Cube. Communications of the ACM, 28(1):22–33, January 1985.
Guy L. Steele Jr. Making asynchronous parallelism safe for the world. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 218–231, San Francisco, CA, January 1990.
Edward Wang and Paul N. Hilfinger. Analysis of recursive types in Lisp-like languages. In Proceedings of the 1992 ACM Conference on Lisp and Functional Programming, pages 216–225, San Francisco, CA, June 1992.
Jeannette M. Wing and Chun Gong. A library of concurrent objects and their proofs of correctness. Technical Report CMU-CS-90-151, School of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, July 1990.
Katherine Anne Yelick. Using Abstraction in Explicitly Parallel Programs. PhD thesis, MIT Laboratory for Computer Science, Cambridge, MA, July 1991.
Benjamin Zorn, Kinson Ho, James Larus, Luigi Semenzato, and Paul Hilfinger. Multiprocessing extensions in SPUR Lisp. IEEE Software, 6(4):41–49, July 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ho, K., Hilfinger, P.N. (1993). Managing side effects on shared data. In: Halstead, R.H., Ito, T. (eds) Parallel Symbolic Computing: Languages, Systems, and Applications. PSC 1992. Lecture Notes in Computer Science, vol 748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018654
Download citation
DOI: https://doi.org/10.1007/BFb0018654
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57396-8
Online ISBN: 978-3-540-48133-1
eBook Packages: Springer Book Archive