Abstract
In this paper we present an analysis on a shared memory system of five self-scheduling algorithms running on top of the threads programming model to schedule the loop with cross-iteration dependence. Four of them are well-known: self-scheduling (SS), chunked self-scheduling (CSS), guided self-scheduling (GSS) and factoring. Because these schemes are all for loops without cross-iteration dependence, we study the modification of these schemes to schedule the loop with cross-iteration dependence. The fifth is our proposal: carried-dependence self-scheduling (CDSS). The experiments conducted in varying parameters clearly show that CDSS outperforms other modified self-scheduling approaches in a number of simulations. CDSS, modified SS, factoring, GSS and CSS are executed efficiently in order of execution time.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
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
Wolfe, M.: High Performance Compilers for Parallel Computing. Addison-Wesley, Reading (1996)
Quinn, M.J.: Parallel Computing -Theory and Practice. McGraw-Hill, New York (1994)
Zima, H., Chapman, B.: Super Compiler for Parallel and Vector Computers. Addison-Wesley, London (1991)
Tang, P., Yew, P.C.: Processor Self-Scheduling for multiple nested parallel loops. In: Proc. 1986 Int. Conf. Parallel Processing, pp. 528–535 (1986)
Fang, Z., Tang, P., Yew, P.C., Zhu, C.Q.: Dynamic Processor Self-Scheduling for General Parallel Nested Loops. IEEE Trans. on Computers 39(7), 919–929 (1990)
Kruskaland, C.P., Weiss, A.: Allocating independent subtasks on parallel processors. IEEE Trans. Software Eng. 11(10), 1001–1016 (1985)
Polychronopoulos, C.D., Kuck, D.: Guided Self-Scheduling: A Practical Scheme for Parallel Supercomputers. IEEE Trans. on Computers 36(12), 1425–1439 (1987)
Hummel, S.E., Schonberg, E., Flynn, L.E.: Factoring: A Method for Scheduling Parallel Loops. Comm. ACM 35(8), 90–101 (1992)
Eager, D.L., Zahorjan, J.: Adaptive guided self-scheduling. Tech. Rep. 92-01-01. Dept. of Comput. Sci. and Eng, univ. of Wash (1992)
Tzen, T.H., Ni, L.M.: Trapezoid self-scheduling: A practical scheduling scheme for parallel computer. IEEE Trans. on Parallel and Distributed Syst. 4, 87–98 (1993)
Lucco, S.: A Dynamic Scheduling Method for irregular parallel Programs. In: Proc. ACM SIGPLAN 1992 Conf. Programming Language Design and Implementation, pp. 200–211 (1992)
Liu, J., Saletore, V.A., Lewis, T.G.: Safe Self-Scheduling: A Parallel Loop Scheduling Scheme for Shared-Memory Multiprocessors. Int. Parallel Programming 22(6), 589–616 (1994)
Markatos, E.P., LeBlanc, T.J.: Using Processor Affinity in Loop Scheduling on Shared- Memory Multiprocessors. IEEE Trans. on Parallel and Distributed Syst. 5(4), 379–400 (1994)
Subramaniam, S., Eager, D.L.: Affinity Scheduling of Unbalanced Workloads. Proc. Supercomputing 1994, 214–226 (1994)
Yan, Y., Jin, C., Zhang, X.: Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems. IEEE Trans. on Parallel and Distributed Syst. 8(1), 70–81 (1997)
Campione, M.: The Java Tutorial. Addison-Wesley, Reading (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, H.C. (2005). A New Carried-Dependence Self-scheduling Algorithm. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2005. ICCSA 2005. Lecture Notes in Computer Science, vol 3480. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11424758_30
Download citation
DOI: https://doi.org/10.1007/11424758_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25860-5
Online ISBN: 978-3-540-32043-2
eBook Packages: Computer ScienceComputer Science (R0)