Skip to main content

Agents: An undistorted representation of problem structure

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1995)

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

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 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. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. K. M. Chandy and C. Kesselman. CC++: A declarative concurrent object-oriented programming notation. MIT Press, 1993.

    Google Scholar 

  4. A. A. Chien. Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs. MIT Press, Cambridge, MA, 1993.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. David Gelernter, Nicholas Carriero, S. Chandran, and Silva Chang. Parallel programming in Linda. In International Conference on Parallel Processing, pages 255–263, Aug 1985.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. A. Gursoy and L.V. Kale. High-level support for divide-and-conquer parallelism. In Proceedings of Supercomputing '91, pages 283–292.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. J. Plevyak, V. Karamcheti, and A. Chien. Analysis of dynamic structures for efficient parallel execution. Languages and Compilers for Parallel Machines, 1993.

    Google Scholar 

  13. Lawrence Snyder. Introduction to the Poker programming environment. Proceedings of the 1983 International Conference on Parallel Processing, pages 289–292, August 1983.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chua-Huang Huang Ponnuswamy Sadayappan Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints 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

Publish with us

Policies and ethics