Advertisement

Minimizing loop storage allocation for an argument-fetching dataflow architecture model

  • Qi Ning
  • Guang R. Gao
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)

Abstract

In this paper, we consider the optimal loop scheduling and minimum storage allocation problems based on argument-fetching dataflow architecture model. Under the argument-fetching model, the result generated by an actor is stored in a unique location which is addressable by its successors. The main contribution of this paper includes: for loops containing no loop carried dependencies, we prove that the problem of allocating minimum storage required to support rate-optimal loop scheduling can be solved in polynomial time. Since the instruction processing unit of an argument-fetching dataflow architecture is very much like a conventional processor architecture without a program counter, the solution of the optimal loop storage allocation problem for the former will also be useful for the latter.

Keywords

Constraint Matrix Loop Body Register Allocation Software Pipeline Integer Linear Programming Problem 
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]
    A. V. Aho, R. Sethi, and J. D. Ullman. Compilers—Principles, Techniques and Tools. Addison-Wesley Publishing Co., 1986.Google Scholar
  2. [2]
    A. Aiken. Compaction-based parallelization. (PhD thesis), Technical Report 88–922, Cornell University, 1988.Google Scholar
  3. [3]
    A. Aiken and A. Nicolau. Optimal loop parallelization. In Proceedings of the 1988 ACM SIGPLAN Conference on Programming Languages Design and Implementation, June 1988.Google Scholar
  4. [4]
    A. Aiken and A. Nicolau. A realistic resource-constrained software pipelining algorithm. In Proceedings of the Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.Google Scholar
  5. [5]
    Arvind and K. P. Gostelow. The U-Interpreter. IEEE Computer, 15(2):42–49, February 1982.Google Scholar
  6. [6]
    Micah Beck, Keshav K. Pingali, and Alex Nicolau. Static scheduling for dynamic dataflow machines. Technical Report TR 90-1076, Dept. of Computer Science, Cornell University, Ithaca, NY, January 1990.Google Scholar
  7. [7]
    D. Bernstein and I. Gertner. Scheduling expressions on a pipelined processor with a maximal delay of one cycle. ACM Transactions on Programming Languages and Systems, 11(1):57–66, January 1989.CrossRefGoogle Scholar
  8. [8]
    P. Camion. Characterizations of totally unimodular matrices. Proc. Amer. Math, Soc., 16:1068–1073, 1965.Google Scholar
  9. [9]
    G. J. Chaitin. Register allocation & spilling via graph coloring. ACM SIGPLAN Symp. on Compiler Construction, pages 98–105, 1982.Google Scholar
  10. [10]
    G. J. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein. Register allocation via coloring. Computer Languages 6, pages 47–57, January 1981.Google Scholar
  11. [11]
    D. E. Culler. Managing parallelism and resources in scientific dataflow programs, Ph.D thesis. Technical Report TR-446, Laboratory for Computer Science, MIT, 1989.Google Scholar
  12. [12]
    J. B. Dennis. First version of a data flow procedure language. Technical Report MIT/LCS/TM-61, Laboratory for Computer Science, MIT, 1975.Google Scholar
  13. [13]
    J. B. Dennis. Data flow supercomputers. IEEE Computer, 13(11):48–56, November 1980.Google Scholar
  14. [14]
    J. B. Dennis. Data flow for supercomputers. In Proceedings of the 1984 CompCon, March 1984.Google Scholar
  15. [15]
    J. B. Dennis. Evolution of the static dataflow architecture. In Advanced Topics in Dataflow Computing. Prentice-Hall, 1991.Google Scholar
  16. [16]
    J. B. Dennis and G. R. Gao. An efficient pipelined dataflow processor architecture. In Proceedings of the Supercomputing '88 Conference, pages 368-373, Florida, November 1988. IEEE Computer Society and ACM SIGARCH.Google Scholar
  17. [17]
    K. Ebcioglu. A compilation technique for software pipelining of loops with conditional jumps. In Proceedings of the 20th Annual Workshop on Microprogramming, December 1987.Google Scholar
  18. [18]
    K. Ebcioglu and A. Nicolau. A global resource-constrained parallelization technique. In Proceedings of the ACM SIGARCH International Conference on Supercomputing, June 1989.Google Scholar
  19. [19]
    G. R. Gao. A pipelined code mapping scheme for static dataflow computers. Technical Report TR-371, Laboratory for Computer Science, MIT, 1986.Google Scholar
  20. [20]
    G. R. Gao. Aspects of balancing techniques for pipelined data flow code generation. Journal of Parallel and Distributed Computing, 6:39–61, 1989.CrossRefGoogle Scholar
  21. [21]
    G. R. Gao. A flexible architecture model for hybrid dataflow and control-flow evaluation. In Proceedings of the International Workshop: Data-Flow, A Status Report, Eilat, Israel, 1989. In conjunction with The 16Th International Symposium on Computer Architecture, June 1989.Google Scholar
  22. [22]
    G. R. Gao. A Code Mapping Scheme for Dataflow Software Pipelining. Kluwer Academic Publishers, Boston, December 1990.Google Scholar
  23. [23]
    G. R. Gao, H. H. J. Hum, and J. M. Monti. Towards an efficient hybrid dataflow architecture model. In Proceedings of PARLE '91, Parallel Architectures and Languages Europe, Eindhoven, the Netherlands, June 1991. Sponsored by ESPRIT et al.Google Scholar
  24. [24]
    G. R. Gao, H. H. J. Hum, and Y. B. Wong. An efficient scheme for fine-grain software pipelining. In Proceedings of the CONPAR '90-VAPP IV Conference, pages 709–720, Zurich, Switzerland, September 1990.Google Scholar
  25. [25]
    G. R. Gao, H. H. J. Hum, and Y. B. Wong. Limited balancing—an efficient method for dataflow software pipelining. In Proceedings of the International Symposium on Parallel and Distributed Computing, and Systems, New York, NY, October 1990.Google Scholar
  26. [26]
    G. R. Gao, H. H. J. Hum, and Y. B. Wong. Towards efficient fine-grain software pipelining. In Proceedings of the ACM International Conference on Supercomputing, pages 369–379, Amsterdam, the Netherlands, June 1990.Google Scholar
  27. [27]
    G. R. Gao and Qi Ning. Loop storage optimization for dataflow machines. In Proceedings of the 4th Workshop on Languages and Compilers for Parallel Computers, Santa Clara, CA, August 7–9 1991.Google Scholar
  28. [28]
    G. R. Gao, Y. B. Wong, and Qi Ning. A Petri-Net model for fine-grain loop scheduling. In Proceedings of the '91 ACM-SIGPLAN Conference on Programming Language Design and Implementation, pages 204–218, Toronto, Canada, June 1991.Google Scholar
  29. [29]
    G.R. Gao, R. Govindarajan, and P. Panangaden. Well behaved dataflow programs for DSP computation. In the Proceedings of the Int. Conf. on Accoustics, Speech and Signal Processing, San Francisco, CA, to appear. March 23–26 1992.Google Scholar
  30. [30]
    T.R. Gross. Code Optimization of Pipeline Constraints. PhD thesis, Computing System Lab., Stanford University, 1983.Google Scholar
  31. [31]
    N. Karmarkar. A new polynomial-time algorithm for linear programming. Combinatorica, 4:373–395, 1984.Google Scholar
  32. [32]
    L. G. Khachian. A polynomial algorithm in linear programming. Soviet Math. Doklady, 20:191–194, 1979.Google Scholar
  33. [33]
    Monica Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings of the 1988 ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 318–328, Atlanta, GA, June 1988.Google Scholar
  34. [34]
    J. R. Larus and P. N. Hilfinger. Register allocation in the SPUR Lisp compiler. In Proceedings of the ACM Symposium on Compiler Construction, pages 255–263, Palo Alto, CA, June 1986.Google Scholar
  35. [35]
    Eugene L. Lawler. Combinatorial Optimization: Networks and Matroids. Saunders College Publishing, Ft Worth, TX, 1976.Google Scholar
  36. [36]
    Q. Ning and G.R. Gao. Minimal loop storage allocation for an argument-fetching dataflow architecture model. Technical Report SOCS-TR-92.1, School of Computer Science, McGill University, Montreal, Quebec, Canada, 1992. alos available as ACAPS Memo 32.Google Scholar
  37. [37]
    A. Schrijver. Theory of Linear and Integer Programming. John Wiley and Sons, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Qi Ning
    • 1
  • Guang R. Gao
    • 1
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada

Personalised recommendations