Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Data parallel program design

  • Conference paper
  • First Online:
Parallel Computation (ACPC 1991)

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

Abstract

We have shown how graphical languages such as CODE/ROPE and PPSE can be used to design SIMD or data parallel programs. The advantages of this approach are machine independence, design clarity, automated program analysis, and accelerated software development. The disadvantages are that many problems remain in this approach such as how to reduce design clutter, how to automate optimal processor mapping, and how to perform messagepassing optimization. More work is needed before this approach can be used in the design of large-scale applications, but we believe the approach is promising. The main contribution is to show how the simple ideas of stencils, stream generators, and replicators can be used effectively to extend the classical dataflow design paradigm into the data parallel design paradigm. While more work is needed, these three ideas lead to greater expressiveness of design. The PPSE toolset currently does much of the mapping, scheduling, and automatic code generation described in this paper. However, PPSE does not currently handle data parallel programming. Work is progressing toward a full implementation of these ideas. Even so, PPSE has been invaluable for performing a variety of what-if analyses on parallel programs. Insights have been gained with this approach that would not be possible with a purely textual representation of the parallel program.

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.

Similar content being viewed by others

References

  • Ahuja, S., Carriero, N., and D. Gelernter, “Linda and friends”, Computer, 19, 8, (Aug 1986), 26–34.

    Google Scholar 

  • Allan, R., Baumgartner, D., Kennedy, K., and Porterfield, A., PTOOL: A Semi-Automatic Parallel Programming Assistant, Proc. Int'l Conf. on Parallel Processing, August 1986, pp. 164–170.

    Google Scholar 

  • Amdahl, G. M., “Validity of the Single-Processor Approach to Achieving Large-Scale Computing Capabilities”, AFIPS Conference Proceedings 30, AFIPS Press, pp. 483–485 (1967).

    Google Scholar 

  • Babb, R. G., Parallel Processing with Large Grain Data Flow Techniques, IEEE Computer, 17(7):55–61, July 1984.

    Google Scholar 

  • Browne, J.C., Azam, M., and Sobek, S., CODE: A Unified Approach to Parallel Programming, IEEE Software, 6(4), July 1989, pp. 10–17.

    Article  Google Scholar 

  • Dongarra, J. J., and Sorensen D. C., SCHEDULE: Tools for Developing and Analyzing Parallel Fortran Programs, in The Characterstics of Parallel Algorithms, ed. L. H. Jamieson, D. B. Gannon, and R. J. Douglass, The MIT Press, Cambridge, Mass, 1987.

    Google Scholar 

  • Dongarra, J., Karp, A., and Kennedy, K., “First Gordon Bell Awards Winners Achieve Speedup of 400”, IEEE SOFTWARE, vol. 5, 3, (May 88), pp. 108–112.

    Google Scholar 

  • El-Rewini, H., and Lewis, T.G., Scheduling Parallel Program Tasks onto Arbitrary Target Machines, Journal of Parallel and Distributed Computing, vol 9, pp. 138–153, (June 1990).

    Article  Google Scholar 

  • El-Rewini, H., Lewis, T. G., Fortner, J. Chu, and W. Su, Task Grapher: A Tool for Scheduling Parallel Program Tasks, Proceedings of the 5th Distributed Memory Computing Conference, April 1990, Charleston So. Carolina, pp. 1171–1178.

    Google Scholar 

  • Evans, D. J., “Parallel S.O.R Iterative Methods”, Parallel Computing, 1, pp. 3–18, (1984)

    Article  Google Scholar 

  • Glinert, E. P., Kopache, M. E., and McIntyre D. W., Exploring the General-Purpose Visual Alternative, Journal of Visual Languages and Computing, 1:3–39, March 1990.

    Google Scholar 

  • Gustafson, J. L., “Reevaluating Amdahl's Law”, Communications of the ACM, 31, 5, pp. 532–533 (1988).

    Article  Google Scholar 

  • Heath, M. T., Geist, G. A., Peyton, B. W., and Worley, P.H., A User's Guide to PICL. ORNL/TM-11616. Oak Ridge Nat'l Lab. Oak Ridge, TN. 37831. October 1990.

    Google Scholar 

  • Ikudome, K., Fox, G.C., Kolawa, A., and Flower, J. W., An Automatic and Symbolic Parallelization System for Distributed Memory Parallel Computers, Proceedings of the 5th Distributed Memory Computing Conference, April 1990, Charleston So. Carolina, pp. 1105–1114.

    Google Scholar 

  • Muhlenbein, H., Kramer, O., Limburger, F., Mevenkamp, M., and Streitz, S., MUPPET: A Programming Environment for Message-Based Multiprocessors, Parallel Computing, vol 8, 1988, pp. 201–221.

    Article  Google Scholar 

  • Peir, J. K., Gajski, D. D., and Wu, M. Y., Programming Environments for Multiprocessors, Supercomputing, North-Holland, 1987, pp. 73–93.

    Google Scholar 

  • Rudd, W. and Lewis, T. G., Architecture of the Parallel Programming support Environment, Proc. CompCon'90, San Francisco,CA., (Feb 26–Mar 2, 1990), pp. 589–594.

    Google Scholar 

  • Snyder, L., Parallel Programming and the POKER Programming Environment, IEEE Computer, July 1984, pp. 27–36.

    Google Scholar 

  • Wu, M. Y., and Gajski, D. D., Hypertool: A Programming Aid for Message-Passing Systems, IEEE Trans. Parallel and Distributed Systems, vol 1, no 3, July 1990, pp. 101–119.

    Google Scholar 

  • Zima, H. P., Bast, H-J., and Gerndt, M., Superb: A Tool for Semi-Automatic MIMD/SIMD Parallelization, Parallel Computing, 6(1):1–18, Jan 1988.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hans P. Zima

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lewis, T.G., Currey, R., Liu, J. (1992). Data parallel program design. In: Zima, H.P. (eds) Parallel Computation. ACPC 1991. Lecture Notes in Computer Science, vol 591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55437-8_69

Download citation

  • DOI: https://doi.org/10.1007/3-540-55437-8_69

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55437-0

  • Online ISBN: 978-3-540-47073-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics