Abstract
It has been observed that data-parallel languages are only suited to problems with “regular” structures. This observation prompts a question: to what extent are other parallel programming languages specialized to specific problem structures, and are there any truly general-purpose parallel programming languages, suited to all problem structures? In this paper, we define our concept of “problem structure”. Given this definition, we describe what it means for a language construct to “directly reflect” a problem structure, and we argue the importance of using a language construct which reflects the problem structure. We describe the difficulties that arise when the language construct and the problem structure do not fit each other. We consider existing language constructs to identify the structures they fit, and we note that language constructs are often designed with little regard for such generality. Finally, we describe a parallel language construct which is designed specifically with the goal of being able to reflect arbitrary problem structures.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Gul Agha and Carl Hewitt. Concurrent Programming Using Actors: Exploiting Large-Scale Parallelism, volume 206 of Lecture Notes in Computer Science, pages 19–40. Springer-Verlag, Berlin-Heidelberg-New York, October 1985.
F. Bodin, P. Beckman, D. B. Gannon, S. Narayana, and S. X. Yang. Distributed pC++: Basic ideas for an object parallel language. In Proceedings of Supercomputing '91, pages 273–282, 1991.
K. M. Chandy and C. Kesselman. CC++: A declarative concurrent object-oriented programming notation. MIT Press, 1993.
A. A. Chien. Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs. MIT Press, Cambridge, MA, 1993.
A. A. Chien, M. Straka, J. Dolby, V. Karamcheti, J. Plevyak, and X. Zhang. A case study in irregular parallel programming. DIMACS Workshop on the Specification of Parallel Agorithms, May 1994.
I. Foster, B. Avalani, A. Choudhary, and M. Xu. A compilation system that integrates high performance fortran and fortran M. In Proceedings 1994 Scalable High Performance Computing Conference, 1994.
David Gelernter, Nicholas Carriero, S. Chandran, and Silva Chang. Parallel programming in Linda. In International Conference on Parallel Processing, pages 255–263, Aug 1985.
A. S. Grimshaw and J. W. Liu. Mentat: An object-oriented data-flow system. Proceedings of the 1987 Object-Oriented Programming Systems, Languages and Applications Conference, pages 35–47, October 1987.
A. Gursoy and L.V. Kale. High-level support for divide-and-conquer parallelism. In Proceedings of Supercomputing '91, pages 283–292.
L. V. Kale. The Chare Kernel parallel programming language and system. In Proceedings of the International Conference on Parallel Processing, volume II, pages 17–25, 1990.
W. O'Connell, G. Thiruvathukal, and T. Christopher. Distributed Memo: A heterogenously distributed parallel software development environment. In Proceedings of the 23rd International Conference on Parallel Processing, Aug 1994.
J. Plevyak, V. Karamcheti, and A. Chien. Analysis of dynamic structures for efficient parallel execution. Languages and Compilers for Parallel Machines, 1993.
Lawrence Snyder. Introduction to the Poker programming environment. Proceedings of the 1983 International Conference on Parallel Processing, pages 289–292, August 1983.
P. David Stotts. The PFG language: Visual programming for concurrent computation. Proceedings of the 1988 International Conference on Parallel Processing, II, Software:72–79, August 1988.
Paul A. Suhler, Jit Biswas, and Kim M. Korner. TDFL: A task-level data flow language. Journal of Parallel and Distributed Computing, 9(2), June 1990.
A. Yonezawa, J.-P. Briot, and E. Shibayama. Object-oriented concurrent programming in ABCL/1. ACM SIGPLAN Notices, Proceedings O OPSLA '86, 21(11):258–268, Nov 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yelon, J., Kalé, L.V. (1996). Agents: An undistorted representation of problem structure. In: Huang, CH., Sadayappan, P., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1995. Lecture Notes in Computer Science, vol 1033. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014223
Download citation
DOI: https://doi.org/10.1007/BFb0014223
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60765-6
Online ISBN: 978-3-540-49446-1
eBook Packages: Springer Book Archive