Advertisement

Declarative programming for conventional MIMD multiprocessors

  • Lubomir Bic
  • John M. A. Roy
  • Mark Nagel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)

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.

Keywords

Allo iPSC 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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, MAGoogle Scholar
  3. 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, MAGoogle Scholar
  4. 4.
    Arvind, R. S. Nikhil, K. K. Pingali: I-Structures: Data Structures for Parallel Computing. ACM TOPLAS, V11, n4, (1989), 598–632Google Scholar
  5. 5.
    L. Bic, M. D. Nagel, J. M. A. Roy: Automatic Data/Program Partitioning Using the Single Assignment Principle. Supercomputing '89 (1989), 551–556Google Scholar
  6. 6.
    W. P. Crowley, C. P. Henderson, T. E. Rudy: The SIMPLE Code. UCID 17715 (February 1978), Lawrence Livermore Laboratory.Google Scholar
  7. 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, CAGoogle Scholar
  8. 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. 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. 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. 11.
    R. A. Iannucci: Toward a Dataflow/von Neumann Hybrid Architecture. Proc. 15th Int'l Symp. on Computer Architecture (1988)Google Scholar
  12. 12.
    P.J. Landin: A Correspondence Between ALGOL 60 and Church's Lambda-Notation: Part I. Comm. ACM, V8, n2 (1965), 89–101Google Scholar
  13. 13.
    R.S. Nikhil: ID Nouveau Reference Manual Part I: Syntax. MIT Technical Report (April 1987), Laboratory for Computer Science, MIT, Cambridge, MAGoogle Scholar
  14. 14.
    R.S. Nikhil: ID Reference Manual — Version 88.1. Computation Structures Group Memo 284 (August 1988), Laboratory for Computer Science, MIT, Cambridge, MAGoogle Scholar
  15. 15.
    R.S. Nikhil, Arvind: Can Dataflow Subsume von Neumann Computing? 16th Int'l Computer Architecture Conference, Jerusalem (1989)Google Scholar
  16. 16.
    K. Pingali, A. Rogers: Compiler Parallelization of SIMPLE for a Distributed Memory Machine. TR 90-1084 (January 1990), Department of Computer Science, Cornell UniversityGoogle Scholar
  17. 17.
    A. Rogers, K. Pingali: Compiling Programs for Distributed Memory Architectures. 4th Hypercube Concurrent Computers and Applications Conference (1989), 529–542Google Scholar
  18. 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

Copyright information

© Springer-Verlag 1992

Authors and Affiliations

  • Lubomir Bic
    • 1
  • John M. A. Roy
    • 1
  • Mark Nagel
    • 1
  1. 1.Department of Information and Computer ScienceUniversity of CaliforniaIrvine

Personalised recommendations