Dynamic Data Structures for Taskgraph Scheduling Policies with Applications in OpenCL Accelerators

OpenCL is an upcoming open framework for parallel programming in heterogenous systems. OpenCL accelerators need to schedule the execution of submitted jobs with no or only very imprecise estimates of execution times, but respecting dependencies among them, which are given in the form of directed acyclic graph. This problem is known as stochastic taskgraph scheduling, stochastic scheduling with precedencies, or stochastic scheduling with data dependencies. We study the complexity of implementing out-of-order static scheduling policies, which approach optimality in the long run, under certain simplifying assumptions. We present a simple data structure allowing for the “what next” query of a number of out-of-order taskgraph scheduling policies to be answered in time O(1), while vertices can be added in time O(1).

[1]  A. J. M. van Gasteren,et al.  On computing a longest path in a tree , 2002, Inf. Process. Lett..

[2]  Thomas W. Reps,et al.  On Competitive On-Line Algorithms for the Dynamic Priority-Ordering Problem , 1994, Inf. Process. Lett..

[3]  José Niño-Mora An index policy for multiarmed multimode restless bandits , 2008, VALUETOOLS.

[4]  James E. Kelley,et al.  Critical-Path Planning and Scheduling: Mathematical Basis , 1961 .

[5]  Mikkel Thorup,et al.  Melding priority queues , 2004, TALG.

[6]  Andrew V. Goldberg,et al.  Use of dynamic trees in a network simplex algorithm for the maximum flow problem , 1991, Math. Program..

[7]  Mikkel Thorup,et al.  Maintaining information in fully dynamic trees with top trees , 2003, TALG.

[8]  Rajeev Motwani,et al.  Profile-driven instruction level parallel scheduling with application to super blocks , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[9]  John N. Tsitsiklis,et al.  The performance of a precedence-based queuing discipline , 1986, JACM.

[10]  Thomas W. Reps,et al.  On the Computational Complexity of Dynamic Graph Problems , 1996, Theor. Comput. Sci..

[11]  John N. Tsitsiklis,et al.  On Stochastic Scheduling with In-Tree Precedence Constraints , 1987, SIAM J. Comput..

[12]  Zhen Liu,et al.  Stochastic Scheduling with Variable Profile and Precedence Constraints , 1997, SIAM J. Comput..

[13]  John L. Bruno On scheduling tasks with exponential service times and in-tree precedence constraints , 2004, Acta Informatica.

[14]  Richard Weber,et al.  Comments on: Dynamic priority allocation via restless bandit marginal productivity indices , 2007 .

[15]  Tobias Friedrich,et al.  Average-Case Analysis of Online Topological Ordering , 2007, ISAAC.

[16]  Zhen Liu,et al.  Preemptive Scheduling with Variable Profile, Precedence Constraints and Due Dates , 1995, Discret. Appl. Math..

[17]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[18]  Kun-Mao Chao,et al.  A tight analysis of the Katriel-Bodlaender algorithm for online topological ordering , 2007, Theor. Comput. Sci..

[19]  Michael Pinedo,et al.  Scheduling Jobs with Exponentially Distributed Processing Times and Intree Precedence Constraints on Two Parallel Machines , 1985, Oper. Res..

[20]  J. Tsitsiklis,et al.  Intractable problems in control theory , 1986 .

[21]  John N. Tsitsiklis,et al.  The Complexity of Optimal Queuing Network Control , 1999, Math. Oper. Res..

[22]  Pascal Van Hentenryck,et al.  Maintaining Longest Paths Incrementally , 2003, Constraints.