An optimal scheduling algorithm for minimizing the computing period of cyclic synchronous tasks on multiprocessors

Abstract We present an efficient optimal algorithm that schedules cyclic synchronous tasks into multiprocessors to minimize the computing period of iterative execution. Due to the rapid development of higher speed microprocessors and digital signal processors (DSPs), small-scale parallel embedded systems and on-chip parallel processors with a simple network structure became feasible for applications such as large-scale simulations and computation-intensive plant control systems that were previously executed by massively parallel computers. We consider cyclic synchronous tasks with communication overhead, which run on multiprocessors with a fully connected network. We suggest the computing period as the performance measure to maximize overall computation speed and the individual start policy that allows overlapping different iterations. The concepts and characteristics of the local period and the global period are also introduced. To solve the complex optimal scheduling problem in an efficient way, our algorithm uses a new spatial scheduling technique using the scheduling space which represents all possible start-time schedules in a multi-dimensional space. By using spatial searching and an enhanced branch-and-bound technique, the optimal schedule which minimizes the computing period can be found. The scheduling results for power plant simulation verify the practicality of our algorithm.

[1]  Sudarshan K. Dhall,et al.  An On Line Algorithm for Real-Time Tasks Allocation , 1986, IEEE Real-Time Systems Symposium.

[2]  C. Siva Ram Murthy,et al.  A note on "task allocation and scheduling models for multiprocessor digital signal processing" , 1995, IEEE Trans. Signal Process..

[3]  Ian Watson,et al.  A Practical Data Flow Computer , 1982, Computer.

[4]  G. Nemhauser,et al.  Integer Programming , 2020 .

[5]  Stamatis Vassiliadis,et al.  Parallel Computer Architecture , 2000, Euro-Par.

[6]  Jack B. Dennis,et al.  Data Flow Supercomputers , 1980, Computer.

[7]  C. V. Ramamoorthy,et al.  Optimal Scheduling Strategies in a Multiprocessor System , 1972, IEEE Transactions on Computers.

[8]  Nayeem Islam,et al.  Distributed objects - methodologies for customizing systems software , 1996 .

[9]  B. J. Lageweg,et al.  Multiprocessor scheduling with communication delays , 1990, Parallel Comput..

[10]  William B. Ackerman,et al.  Data Flow Languages , 1899, Computer.

[11]  Ravishankar K. Iyer,et al.  Prediction-Based Dynamic Load-Sharing Heuristics , 1993, IEEE Trans. Parallel Distributed Syst..

[12]  Anil K. Sarje,et al.  Task allocation model for distributed systems , 1991 .

[13]  David G. Luenberger,et al.  Linear and nonlinear programming , 1984 .

[14]  Min-You Wu,et al.  On Runtime Parallel Scheduling for Processor Load Balancing , 1997, IEEE Trans. Parallel Distributed Syst..

[15]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[16]  Kang G. Shin,et al.  Optimal Task Assignment in Homogeneous Networks , 1997, IEEE Trans. Parallel Distributed Syst..

[17]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[18]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

[19]  Konstantinos Konstantinides,et al.  Task allocation and scheduling models for multiprocessor digital signal processing , 1990, IEEE Trans. Acoust. Speech Signal Process..

[20]  John Paul Shen,et al.  Interprocessor Traffic Scheduling Algorithm for Multiple-Processor Networks , 1987, IEEE Transactions on Computers.