Abstract
Dynamic loop scheduling algorithms can suffer from overheads due to synchronisation, loss of locality and small iteration counts. We observe that timing information from previous executions of the loop can be utilised to reduce these overheads. We introduce two new algorithms for dynamic loop scheduling which implement this type of feedback guidance, and report experimental results on a distributed shared memory architecture. Under appropriate circumstances, these algorithms are observed to give significant performance gains over existing loop scheduling techniques.
Chapter PDF
Keywords
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.
References
Eager, D.L. and Zahorjan, J. (1992) Adaptive Guided Self-Scheduling, Technical Report 92-01-01, Department of Computer Science and Engineering, University of Washington.
Hummel, S.F., Schonberg, E. and Flynn, L.E. (1992) Factoring: A Practical and Robust Method for Scheduling Parallel Loops, Communications of the ACM, vol. 35, no. 8, pp. 90–101.
Kruskal, C.P. and Weiss, A. (1985) Allocating Independent Subtasks on Parallel Processors, IEEE Trans. on Software Engineering, vol. 11, no. 10, pp. 1001–1016.
Lucco, S. (1992) A Dynamic Scheduling Method for Irregular Parallel Programs, in Proceedings of ACM SIGPLAN ’92 Conference on Programming Language Design and Implementation, San Francisco, CA, June 1992, pp. 200–211.
Markatos, E.P. and LeBlanc, T.J. (1994) Using Processor Affinity in in Loop Scheduling on Shared Memory Multiprocessors, IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 4, pp. 379–400.
Polychronopoulos, C. D. and Kuck, D. J. (1987) Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers, IEEE Transactions on Computers, C-36(12), pp. 1425–1439.
Subramaniam, S. and D.L. Eager (1994) Affinity Scheduling of Unbalanced Workloads, in Proceedings of Supercomputing ’94, IEEE Comp. Soc. Press, pp. 214–226.
Tang, P. and Tew, P-C. (1986) Processor Self-Scheduling for Multiple Nested Parallel Loops, in Proceedings of 1986 Int. Conf. on Parallel Processing, pp. 528–535, St. Charles, IL.
Tzen, T.H. and Ni, L.M., (1993) Trapezoid Self-Scheduling Scheme for Parallel Computers, IEEE Trans. on Parallel and Distributed Systems, vol. 4, no. 1, pp. 87–98.
Yan, Y., C. Jin and X. Zhang (1997) Adoptively Scheduling Parallel Loops in Distributed Shared-Memory Systems IEEE Trans. on Par. and Dist. Systems, vol. 8, no. 1, pp. 70–81.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bull, J.M. (1998). Feedback guided dynamic loop scheduling: Algorithms and experiments. In: Pritchard, D., Reeve, J. (eds) Euro-Par’98 Parallel Processing. Euro-Par 1998. Lecture Notes in Computer Science, vol 1470. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057877
Download citation
DOI: https://doi.org/10.1007/BFb0057877
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64952-6
Online ISBN: 978-3-540-49920-6
eBook Packages: Springer Book Archive