Code parallelization for the LGDG large-grain dataflow computation

  • Kechang Dai
Large-Grain Data Flow
Part of the Lecture Notes in Computer Science book series (LNCS, volume 457)


This paper addresses the software aspect of an integrated hardware-software scheme called LGDG for computation with ‘large-grain dataflow graph’. It will show that data flow analysis can be used to obtain parallel LGDG code at a cost comparable to that of an optimizing compiler. Unintentional data dependencies have been recognized to be a major obstacle for parallelizing imperative languages. In order to reduce unintentional data dependencies and ease the data flow analysis, a restricted imperative language is specified. An efficient representation of assertion sets is proposed, and rules for calculating synthesized attributes are presented. A theorem is provided to ensure function-preserving parallelization.

Key words

Programming language optimizing compiler global data flow analysis function-preserving code parallelization dataflow computation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [001]
    Gurd, J.R., et al., Fine-Grain Parallel Computing: The Dataflow Approach, in ‘Future Parallel Computers’ pp.82–153, (Eds. P. Treleaven, M. Vanneschi), An Advanced Course, Pisa, Italy, June 1986, Lecture Notes in Computer Science 272, Springer-Verlag, 1987.Google Scholar
  2. [002]
    Dai, K.C., and Giloi, W.K., A Two-level Model of Large-Grain Dataflow Computation, Proceedings of the 1989 International Symposium on Computer Architecture and Digital Signal Processing, pp. 200–205. Hong Kong, 11–14 October, 1989.Google Scholar
  3. [003]
    Arvind and Gostelow, K. P., The U-Interpreter, Computer, Vol. 15, No.2, 1982, pp. 42–50.Google Scholar
  4. [004]
    Dai, K.C., and Giloi, W.K., A Basic Architecture Supporting the LGDG Computation, Proceedings of the International Conference on Supercomputing ICS 90, Amsterdam, the Netherlands, June 11–15 1990.Google Scholar
  5. [005]
    Dai, K.C., and Giloi, W.K., Unfolding of Parallelism in the LGDG Computation, to be published.Google Scholar
  6. [006]
    Dai, K.C., and Giloi, W.K., Language Styles for Programming Multiprocessing — Imperative, Functional or Beyond?, submitted for publication.Google Scholar
  7. [007]
    Dai, K.C., Large-Grain Dataflow Computation and Its Architectural Support, Ph.D. thesis, Technical University Berlin, West Germany, 1988.Google Scholar
  8. [008]
    Kildall, G.A., A Unified Approach to Global Program Optimization, Conf. Rec. ACM Symp. on Principles of Programming Languages, Boston, MA (Oct. 1973), pp.194–206.Google Scholar
  9. [009]
    Muchnick, S.S., and Jones, N.D., Program Flow Analysis: Theory and Applications, Prentice-Hall, Inc., Englewood Cliffs, New Jersey 07632, 1981.Google Scholar
  10. [010]
    Ryder, B.G., and Paull, M.C., Elimination Algorithm for Data Flow Analysis, ACM Computing Surveys, Vol.18, No.3, September 1986, pp. 277–316.CrossRefGoogle Scholar
  11. [011]
    Ryder, B.G., and Paull, M.C., Incremental Data Flow Analysis Algorithms, ACM Transactions on Programming Language and Systems, Vol.10, No.1 Jan. 1988. pp. 1–50.CrossRefGoogle Scholar
  12. [012]
    Rosen, B.K., High Level Data Flow Analysis, CACM, Vol.20, No.10 (Oct.1977), pp.712–724.Google Scholar
  13. [013]
    Myers,E.W, A Precise Inter-Procedural Data Flow Algorithm, CACM, 1981, pp.219–230.Google Scholar
  14. [014]
    Aho, A.V., Sethi, R., and Ullman, J.D., Compilers, Principles, Techniques, and Tools, Addison-Wesley Publishing Company, 1986.Google Scholar
  15. [015]
    Padua, D.A., and Wolfe, M.J., Advanced Compiler Optimizations for Supercomputers, Communication of the ACM, vol.29, No.12, pp.1184–1201, December 1986.CrossRefGoogle Scholar
  16. [016]
    Harrison W.L., III, The Interprocedural Analysis and Automatic Parallelization of Scheme Programs, in Lisp and Symbolic Computation, Vol.2, No. 3/4, pp.179–396. Oct. 1989.Google Scholar
  17. [017]
    Fett, A., Flowmotion-Datenflußanalyse für ein MODULA-2 Subset, Studienarbeit, Technical University Berlin, September 1986.Google Scholar
  18. [018]
    Kock, G., Entwurf und Implementierung eines Optimierers: Der Optimierer des MOCKA-Systems, Arbeitspapiere der GMD 327, Juli 1988.Google Scholar
  19. [019]
    Harrison, W.H., Compiler Analysis of the Value Ranges for Variables, IEEE Transactions on Software Engineering, Vol.SE-3, No.3, May 1977, pp.243–250.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Kechang Dai
    • 1
  1. 1.GMD Research Center for Innovative Computer Systems and TechnologyBerlin 12West Germany

Personalised recommendations