Skip to main content
Log in

A parallel programming environment supporting multiple data-parallel modules

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

We describe a system that allows programmers to take advantage of both control and data parallelism through multiple intercommunicating data-parallel modules. This programming environment extends C-type stream I/O to include intermodule communication channels. The programmer writes each module as a separate data-parallel program, then develops a channel linker specification describing how to connect the modules together. A channel linker we have developed loads the separate modules on to the parallel machine and binds the communication channels together as specified. We present performance data that demonstrates a mixed control- and data-parallel solution can yield better performance than a strictly data-parallel solution. The system described currently runs on the Intel iWarp multicomputer.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. R. Rose and G. L. Steele Jr., C*: An Extended C Language for Data Parallel Programming, Technical Report PL 87-5, Thinking Machines Corporation (1987).

  2. P. J. Hatcher and M. J. Quinn,Data-Parallel Programming on MIMD Computers, MIT Press, Cambridge, Massachusetts (1991).

    Google Scholar 

  3. S. Borkaret al., iWarp Macro Architecture Specification, Version 3.2,CMU and Intel Corporation (1990).

  4. iWarp Programmer's Guide, Intel Corporation.

  5. B. Greer, A Tutorial on Using iWarpTM PathLib, iWarp Technical Note TN-1 (1991).

  6. B. Baxter, Using Programmable Networks, Application Note, Intel Corporation (1992).

  7. L. Snyder, Parallel Programming and the Poker Programming Environment,Computer,17(7): 27–36 (July 1984).

    Google Scholar 

  8. W. G. Rudd and T. G. Lewis, Architecture of the Parallel Program Support Environment,Proc. of CompCon 90, pp. 589–594 (1990).

  9. J. C. Browne, Software Engineering of Parallel Programs in a Computationally Oriented Display Environment,Languages and Compilers for Parallel Computing, MIT Press, Cambridge, Massachusetts, pp. 75–94 (1990).

    Google Scholar 

  10. INMOS International,The OCCAM 2 Reference Manual, Prentice Hall, Englewood Cliffs New Jersey (1988).

    Google Scholar 

  11. D. A. Bailey and J. E. Cuny, Visual Extensions to Parallel Programming Languages,Languages and Compilers for Parallel Computing, MIT Press, Cambridge, Massachusetts pp. 17–36 (1990).

    Google Scholar 

  12. I. Foster and K. Chandy, FORTRAN M: A Language for Modular Parallel Programming, Argonne Preprint MCS-P327-0992 (1992).

  13. N. Carriero and D. Gelenter,How to Write Parallel Programs: A First Course, MIT Press, Cambridge, Massachusetts (1990).

    Google Scholar 

  14. S. Lucco and O. Sharp, Parallel Programming with Coordination Structures,Proc. 18th ACM POPL, pp. 197–208 (1991).

  15. P. J. Hatcher and M. J. Quinn, C*-Linda: A Programming Environment with Multiple Data-Parallel Modules and Parallel I/O,Proc. of HICSS 24, Software Technology Track, Vol. II, pp. 382–389 (1991).

    Google Scholar 

  16. I. Foster and R. Overbeek, Bilingual Parallel Programming,Advances in Languages and Compilers for Parallel Processing, MIT Press, Cambridge, Massachusetts, pp. 24–43 (1991).

    Google Scholar 

  17. I. Foster, On the Refinement and Composition of Process Structures,Proc. of the Workshop on Compilation of Symbolic Languages, San Diego (1991).

  18. T. Gross, S. Hinrichs, G. Lueh, D. O'Hallaron,J. Stichnoth, and J. Subhlok Compiling Task and Data Parallel Programs for iWarp,ACM SIGPLAN Notices,28(1):32–35 (January 1991).

    Google Scholar 

  19. R. Babb and D. DiNucci, Design and Implementation of Parallel Programs with Large-Grain Dataflow,Characteristics of Parallel Algorithms, The MIT Press, Cambridge, Massachusetts, pp. 335–349 (1987).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Seevers, B.K., Quinn, M.J. & Hatcher, P.J. A parallel programming environment supporting multiple data-parallel modules. Int J Parallel Prog 21, 363–386 (1992). https://doi.org/10.1007/BF01407837

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01407837

Key Words

Navigation