Skip to main content

Declarative programming for conventional MIMD multiprocessors

  • Conference paper
  • First Online:
PARLE '92 Parallel Architectures and Languages Europe (PARLE 1992)

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

  • 129 Accesses

Abstract

In this paper we demonstrate that declarative programming is a suitable vehicle for the programming of conventional distributed-memory multiprocessors. This is achieved by applying several transformations to the compiled declarative program to extract iteration-level parallelism. The transformations first group individual instructions into sequential light-weight processes, and then insert primitives to: (1) cause array allocation to be distributed over multiple processors, (2) cause computation to follow the data distribution by inserting an index filtering mechanism into a given loop and spawning a copy of it on all PEs; the filter causes each instance of that loop to operate on a different subrange of the index variable.

This work was supported by the NSF Grant CCR-8709817.

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. Arvind, K. P. Gostelow, W. Plouffe: The Id Report: An Asynchronous Programming Language and Computing Machine. Technical Report #114, Department of Information and Computer Science, UCI (May 1978)

    Google Scholar 

  2. Arvind, R.S. Nikhil: Executing a Program on the MIT Tagged-Token Dataflow Architecture. Computation Structures Group Memo 271 (March 1987), Lab. for Computer Science, MIT, Cambridge, MA

    Google Scholar 

  3. Arvind, R. S. Nikhil, K. K. Pingali: ID Nouveau Reference Manual Part II: Operational Semantics. Technical Report (April 1987), Laboratory for Computer Science, MIT, Cambridge, MA

    Google Scholar 

  4. Arvind, R. S. Nikhil, K. K. Pingali: I-Structures: Data Structures for Parallel Computing. ACM TOPLAS, V11, n4, (1989), 598–632

    Google Scholar 

  5. L. Bic, M. D. Nagel, J. M. A. Roy: Automatic Data/Program Partitioning Using the Single Assignment Principle. Supercomputing '89 (1989), 551–556

    Google Scholar 

  6. W. P. Crowley, C. P. Henderson, T. E. Rudy: The SIMPLE Code. UCID 17715 (February 1978), Lawrence Livermore Laboratory.

    Google Scholar 

  7. D.E. Culler, et al: Fine-Grain Parallelism with Minimal Hardware Support: A Compiler-Controlled Threaded Abstract Machine. Proc. ASPLOS-IV (April 1991), Santa Clara, CA

    Google Scholar 

  8. J. L. Gaudiot, P. Evripidou: The USC Decoupled Multilevel Data-Flow Execution Model. In Advanced Topics in Data-Flow Computing, J-L. Gaudiot, L. Bic, Eds., Prentice-Hall, Inc., 1990.

    Google Scholar 

  9. G. R. Gao: A Flexible Architecture Model for Hybrid Dataflow and Control-Flow Evaluation. In Advanced Topics in Data-Flow Computing, J-L. Gaudiot, L. Bic, Eds., Prentice-Hall, Inc., 1990.

    Google Scholar 

  10. V.G. Grafe, G.S. Davidson, J.E. Hoch, V.P. Holmes: The Epsilon Dataflow Processor. Proc. 16th Annual Int'l Symp. on Computer Arch. (1989)

    Google Scholar 

  11. R. A. Iannucci: Toward a Dataflow/von Neumann Hybrid Architecture. Proc. 15th Int'l Symp. on Computer Architecture (1988)

    Google Scholar 

  12. P.J. Landin: A Correspondence Between ALGOL 60 and Church's Lambda-Notation: Part I. Comm. ACM, V8, n2 (1965), 89–101

    Google Scholar 

  13. R.S. Nikhil: ID Nouveau Reference Manual Part I: Syntax. MIT Technical Report (April 1987), Laboratory for Computer Science, MIT, Cambridge, MA

    Google Scholar 

  14. R.S. Nikhil: ID Reference Manual — Version 88.1. Computation Structures Group Memo 284 (August 1988), Laboratory for Computer Science, MIT, Cambridge, MA

    Google Scholar 

  15. R.S. Nikhil, Arvind: Can Dataflow Subsume von Neumann Computing? 16th Int'l Computer Architecture Conference, Jerusalem (1989)

    Google Scholar 

  16. K. Pingali, A. Rogers: Compiler Parallelization of SIMPLE for a Distributed Memory Machine. TR 90-1084 (January 1990), Department of Computer Science, Cornell University

    Google Scholar 

  17. A. Rogers, K. Pingali: Compiling Programs for Distributed Memory Architectures. 4th Hypercube Concurrent Computers and Applications Conference (1989), 529–542

    Google Scholar 

  18. S. Sakai, Y. Yamaguchi, K. Hiraki, Y. Kodama, T. Tuba: An Architecture of a Dataflow Chip Processor. Proc. 16th Annual Int'l Symp. on Computer Arch., Jerusalem, (June 1989)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Daniel Etiemble Jean-Claude Syre

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bic, L., Roy, J.M.A., Nagel, M. (1992). Declarative programming for conventional MIMD multiprocessors. In: Etiemble, D., Syre, JC. (eds) PARLE '92 Parallel Architectures and Languages Europe. PARLE 1992. Lecture Notes in Computer Science, vol 605. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55599-4_111

Download citation

  • DOI: https://doi.org/10.1007/3-540-55599-4_111

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55599-5

  • Online ISBN: 978-3-540-47250-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics