Skip to main content
Log in

Determining the Order of Processor Transactions in Statically Scheduled Multiprocessors

  • Published:
Journal of VLSI signal processing systems for signal, image and video technology Aims and scope Submit manuscript

Abstract

This paper addresses embedded multiprocessor implementation of iterative, real-time applications, such as digital signal and image processing, that are specified as dataflow graphs. Scheduling dataflow graphs on multiple processors involves assigning tasks to processors (processor assignment), ordering the execution of tasks within each processor (task ordering), and determining when each task must commence execution. We consider three scheduling strategies: fully-static, self-timed and ordered transactions, all of which perform the assignment and ordering steps at compile time. Run time costs are small for the fully-static strategy; however it is not robust with respect to changes or uncertainty in task execution times. The self-timed approach is tolerant of variations in task execution times, but pays the penalty of high run time costs, because processors need to explicitly synchronize whenever they communicate. The ordered transactions approach lies between the fully-static and self-timed strategies; in this approach the order in which processors communicate is determined at compile time and enforced at run time. The ordered transactions strategy retains some of the flexibility of self-timed schedules and at the same time has lower run time costs than the self-timed approach.

In this paper we determine an order of processor transactions that is nearly optimal given information about task execution times at compile time, and for a given processor assignment and task ordering. The criterion for optimality is the average throughput achieved by the schedule. Our main result is that it is possible to choose a transaction order such that the resulting ordered transactions schedule incurs no performance penalty compared to the more flexible self-timed strategy, even when the higher run time costs implied by the self-timed strategy are ignored.

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. E.A. Lee and D.G. Messerschmitt, “Static scheduling of synchronous dataflow programs for digital signal processing,” IEEE Trans. on Computers, Vol. C-36, No. 2, Feb. 1982.

  2. G.C. Sih, “Multiprocessor Scheduling to Account for Inter-processor Communication,” Ph.D. Thesis, Memorandum No. UCB/ERL M91/29, Electronics Research Laboratory, University of California at Berkeley, April 1991.

    Google Scholar 

  3. M. Lam, “Software pipelining: An effective scheduling technique for VLIW machines,” Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation, pp. 318–328, June 1988.

  4. S.M.H. de Groot, S. Gerez, and O. Herrmann, “Range-chart-guided iterative data-flow graph scheduling,” IEEE Transactions on Circuits and Systems, pp. 351–364, May 1992.

  5. K. Parhi and D.G. Messerschmitt, “Static rate-optimal scheduling of iterative data-flow programs via optimum unfolding,” IEEE Transactions on Computers, Vol. 40, No. 2, pp. 178–194, Feb. 1991.

    Article  Google Scholar 

  6. D.A. Schwartz and T.P. Barnwell III, “Cyclo-static solutions: Optimal multiprocessor realizations of recursive algorithms,” VLSI Signal Processing II, IEEE Special Publications, pp. 117–128, June 1985.

  7. E.A. Lee and J.C. Bier, “Architectures for statically scheduled dataflow,” Journal of Parallel and Distributed Computing, Vol. 10, pp. 333–348, Dec. 1990.

  8. S. Sriram and E.A. Lee, “Design and implementation of an ordered memory access architecture,” Proceedings of the International Conference on Acoustics Speech and Signal Processing, Vol. 1, pp. 345–348, April 1993.

  9. J.T. Buck, S. Ha, E.A. Lee, and D.G. Messerschmitt, “Ptolemy: A framework for simulating and prototyping heterogeneous systems,” International Journal of Computer Simulation, Vol. 4, pp. 155–182, Jan. 1994.

    Google Scholar 

  10. R. Lauwereins, M. Engels, J.A. Peperstraete, E. Steegmans, and J. Van Ginderdeuren, “GRAPE: A CASE tool for digital signal parallel processing,” IEEE ASSP Magazine, Vol. 7, No. 2, April. 1990.

  11. D.B. Powell, E.A. Lee, and W.C. Newman, “Direct synthesis of optimized DSP assembly code from signal flow block diagrams,” Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, San Francisco, March 1992.

  12. S. Ritz, M. Pankert, and H. Meyr, “High level software synthesis for signal processing systems,” Proceedings of the International Conference on Application Specific Array Processors, Berkeley, Aug. 1992, pp. 679–693.

  13. E.A. Lee, “A Coupled Hardware and Software Architecture for Programmable DSPS,” Ph.D. Thesis, Department of Electrical Engineering and Computer Sciences, University of California Berkeley, May 1986.

    Google Scholar 

  14. J.M. Rabaey, C. Chu, P. Hoang, and M. Potkonjak, “Fast prototyping of datapath intensive architectures,” IEEE Design and Test of Computers, Vol. 8, No. 2, pp. 40–51, June 1991.

    Article  Google Scholar 

  15. E.A. Lee and S. Ha, “Scheduling strategies for multiprocessor real-time DSP,” Proceedings of the Globecom Conference, Dallas Texas, Nov. 1989, pp. 1279–1283.

  16. S. Borkar et al., “iWarp: An integrated solution to high-speed parallel computing,” Proceedings of Supercomputing 1988 Conference, Orlando, Florida, 1988.

  17. L. Thiele, “Resource constrained scheduling of uniform algorithms,” Journal of VLSI Signal Processing, Vol. 10, No. 3, pp. 295–310, Aug. 1995.

    Article  MathSciNet  Google Scholar 

  18. T.C. Hu, “Parallel sequencing and assembly line problems,” Operations Research, Vol. 9, No. 6, pp. 841–848, Nov. 1961.

    Article  MathSciNet  Google Scholar 

  19. V.H. Allan, R.B. Jones, R.M. Lee, and S.J. Allan, “Software pipelining,” ACM Computing Surveys, Vol. 27, No. 3 pp. 367–432, Sept. 1995.

    Article  Google Scholar 

  20. G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw Hill Inc., New Jersey, 1994.

    Google Scholar 

  21. S.Y. Kung, P. Lewis, and S.C. Lo, “Performance analysis and optimization of VLSI dataflow arrays,” Journal of Parallel and Distributed Computing, Vol. 4, pp. 592–618, 1987.

    Article  Google Scholar 

  22. F. Baccelli, G. Cohen, G.J. Olsder, and J.-P. Quadrat, Synchronization and Linearity, John Wiley & Sons Inc., New York, 1992.

    MATH  Google Scholar 

  23. R. Reiter, “Scheduling parallel computations,” Journal of the Association for Computing Machinery, Vol. 15, No. 4, pp. 590–599, Oct. 1968.

    Article  MathSciNet  MATH  Google Scholar 

  24. J.L. Peterson, Petri Net Theory and the Modelling of Systems, Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1981.

    MATH  Google Scholar 

  25. E.L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt, Rinehart and Winston, New York, pp. 65–80, 1976.

    MATH  Google Scholar 

  26. T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, The MIT Press and the McGraw Hill Book Company, Sixth printing, Chapter 25, pp. 542–543, 1992.

  27. S.K. Rao and T. Kailath, “Regular iterative algorithms and their implementation on processor arrays,” Proceedings of the IEEE, Vol. 76, No. 3, 1988.

  28. A. Darte and Y. Robert, “Constructive methods for scheduling uniform loop nests,” IEEE Transactions on Parallel and Distributed Systems, Vol. 5, No. 8, pp. 814–822, Aug. 1994.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sriram, S., Lee, E.A. Determining the Order of Processor Transactions in Statically Scheduled Multiprocessors. The Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology 15, 207–220 (1997). https://doi.org/10.1023/A:1007956226232

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007956226232

Keywords

Navigation