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.
Preview
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.
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.
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).
Babb, R. G., Parallel Processing with Large Grain Data Flow Techniques, IEEE Computer, 17(7):55–61, July 1984.
Browne, J.C., Azam, M., and Sobek, S., CODE: A Unified Approach to Parallel Programming, IEEE Software, 6(4), July 1989, pp. 10–17.
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.
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.
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).
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.
Evans, D. J., “Parallel S.O.R Iterative Methods”, Parallel Computing, 1, pp. 3–18, (1984)
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.
Gustafson, J. L., “Reevaluating Amdahl's Law”, Communications of the ACM, 31, 5, pp. 532–533 (1988).
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.
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.
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.
Peir, J. K., Gajski, D. D., and Wu, M. Y., Programming Environments for Multiprocessors, Supercomputing, North-Holland, 1987, pp. 73–93.
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.
Snyder, L., Parallel Programming and the POKER Programming Environment, IEEE Computer, July 1984, pp. 27–36.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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