Abstract
This paper presents a new methodology for statically scheduling a cyclic data-flow graph whose node computation times can be represented by random variables. A communication cost issue is also considered as another uncertain factor in which each node from the graph can produce different amount of data depending on the probability of its computation time. Since such communication costs rely on the amount of transfered data, this overhead becomes uncertain as well. We propose an algorithm to take advantage of the parallelism across a loop iteration while hiding the communication overhead. The resulting schedule will be evaluated in terms of confidence probability—the probability of having a schedule completed before a certain time. Experimental results show that the proposed framework performs better than a traditional algorithm running on an input which assumes fixed average timing information.
This research was supported in part by the Royal Thai Government Scholarship and the NSF grant MIP 95-01006
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192–219. IEEE, August 1990.
L. Chao, A. LaPaugh, and E. Sha. Rotation scheduling: A loop pipelining algorithm. In Proceedings of the 30th Design Automation Conference, pages 566–572, Dallas, TX, June 1993.
L.-F. Chao and E. H.-M. Sha. Static scheduling for synthesis of DSP algorithms on various models. Journal of VLSI Signal Processing, 10:207–223, 1995.
W. Feller. An introduction to probability theory and its applications. John Wiley & Sons, New York, 1968.
E. M. Girczyc. Loop winding—a data flow approach to functional pipeline. In Proceedings of the International Symposium on Circuits and Systems, pages 382–385, May 1987.
K. Hwang. Advanced Computer Architecture: Parallelism, Scalability, Programmability. McGraw-Hill Series in Computer Science, New York, NY, 1993.
R. A. Kamin, G. B. Adams, and P. K. Dubey. Dynamic list-scheduling with finite resources. In Proceedings of the 1994 International Conference on Computer Design, pages 140–144, Cambridge, MA, October 1994.
I. Karkowski and R. H. J. M. Otten. Retiming synchronous circuitry with imprecise delays. In Proceedings of the 32nd Design Automation Conference, pages 322–326, San Francisco, CA, 1995.
A. A. Khan, C. L. McCreary, and M. S. Jones. A comparison of multiprocessor scheduling heuristics. In Proceedings of the 1994 International Conference on Parallel Processing, volume II, pages 243–250, 1994.
T. Kim, N. Yonezawa, J. W. S. Liu, and C. L. Liu. A scheduling algorithm for conditional resource sharing — a hierachical reduction approach. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 13(4):425–438, April 1994.
D. Ku and G. De Micheli. High-Level synthesis of ASICS under Timing and Synchronization constraints. Kluwer Academic, 1992.
D. Ku and G. De Micheli. Relative scheduling under timing constraints: Algorithm for high-level synthesis. IEEE transactions on CAD/ICAS, pages 697–718, June 1992.
M. Lam. Software pipelining. In Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation, pages 318–328, Atlanta, GA, June 1988.
C. E. Leiserson and J. B. Saxe. Optimizing synchronous systems. Journal of VLSI and Computer Systems, 1(1):41–67, 1983.
C. E. Leiserson and J. B. Saxe. Retiming synchronous circuitry. Algorithmica, 6:5–35, 1991.
W. Li and K. Pingali. A singular loop transformation framework based on non-singular matrices. Technical Report TR 92-1294, Cornell University, Ithaca, NY, July 1992.
B. Lockyear and C. Ebeling. Optimal retiming of multi-phase, level-clocked circuits. In T. Knight and J. Savage, editors, Advanced Research in VLSI and Parallel Systems: Proceedings of the 1992 Brown/MIT Conference., pages 265–280, Cambridge, MA, 1992.
P. L. Meyer. Introductory Probability and Statistical Applications. Addison-Wesley, Reading, MA, 2nd edition, 1979.
N. L. Passos, E. Sha, and S. C. Bass. Loop pipelining for scheduling multi-dimensional systems via rotation. In Proceedings of the 31st Design Automation Conference, pages 485–490, June 1994.
D. A. Patterson and J. L. Hennessy. Computer architecture: A Quantitative approach. Morgan-Kaufman, 1996.
T. J. Ross. Fuzzy Logic with Engineering Applications. MC-Graw Hill, 1995.
S. Tongsima, E.-H. Sha, and N. L. Passos. Communcation-sensitive loop scheduling for DSP applications. IEEE Transactions on Signal Processing, 45(5):1309–1322, May 1997.
M. E. Wolfe. High Performance Compilers for Parallel Computing, chapter 9.Addison-Wesley, Redwood City, CA, 1996.
M. E. Wolfe and M. S. Lam. A loop transformation theory and an algorithm to maximize parallelism. IEEE Transactions on Parallel and Distributed Systems, 2(4):452–471, October 1991.
L. A. Zadeh. Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems, 1:3–28, 1978.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tongsima, S., Chantrapornchai, C., Sha, E.H.M. (1998). Probabilistic loop scheduling considering communication overhead. In: Feitelson, D.G., Rudolph, L. (eds) Job Scheduling Strategies for Parallel Processing. JSSPP 1998. Lecture Notes in Computer Science, vol 1459. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053986
Download citation
DOI: https://doi.org/10.1007/BFb0053986
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64825-3
Online ISBN: 978-3-540-68536-4
eBook Packages: Springer Book Archive