Hierarchical task scheduler for interleaving subtasks on heterogeneous multiprocessor platforms

Nowadays, the system-on-a-chip (SoC) has integrated more processors onto a single chip. Applications are also consisting of multiple (sub) tasks that are presented as different source code which can be partly executed concurrently. However, the subtask-level parallelism inside a single task is often too limited to fully utilize all the parallel processors and results in many slacks on processors. To better use the processors, subtasks of multiple tasks will have to be executed in an interleaving fashion. This paper proposes design-time algorithms to interleave subtasks based on the separated schedules of tasks. This interleaver can be considered as part of a hierarchical scheduler to steer the code generation of very complex applications with many tasks. The scheduling experiments show that the execution time can be shortened by 20%-30% when interleaving two tasks against the sequential execution without subtask interleaving. Moreover, the differences between the solutions given by our scheduling algorithm and the optimal solutions are less than 6% for up to 20 subtasks.

[1]  Michael Randolph Garey,et al.  Johnson: "computers and intractability , 1979 .

[2]  Han Hoogeveen,et al.  Complexity of Scheduling Multiprocessor Tasks with Prespecified Processor Allocations , 1994, Discret. Appl. Math..

[3]  Krithi Ramamritham,et al.  Scheduling algorithms and operating systems support for real-time systems , 1994, Proc. IEEE.

[4]  Xiaobo Sharon Hu,et al.  Task scheduling and voltage selection for energy minimization , 2002, DAC '02.

[5]  Marco Bekooij,et al.  Scheduling coarse-grain operations for VLIW processors , 2000, ISSS '00.

[6]  F. Catthoor,et al.  Task concurrency analysis and exploration of visual texture decoder on a heterogeneous platform , 2003, 2003 IEEE Workshop on Signal Processing Systems (IEEE Cat. No.03TH8682).

[7]  Francky Catthoor,et al.  Managing dynamic concurrent tasks in embedded real-time multimedia systems , 2002, 15th International Symposium on System Synthesis, 2002..

[8]  F. Catthoor,et al.  High-level data-access analysis for characterisation of (sub)task-level parallelism on Java , 2004, Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings..

[9]  Paul Marchal,et al.  Optimizing the memory bandwidth with loop fusion , 2004, International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..

[10]  Paul Marchal,et al.  Task concurrency management methodology to schedule the MPEG4 IM1 player on a highly parallel processor platform , 2001, CODES '01.

[11]  Wayne Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[12]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[13]  Niraj K. Jha,et al.  Power-conscious joint scheduling of periodic task graphs and aperiodic tasks in distributed real-time embedded systems , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[14]  Dean M. Tullsen,et al.  Simultaneous multithreading: Maximizing on-chip parallelism , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[15]  Rudy Lauwereins,et al.  Low Power Coarse-Grained Reconfigurable Instruction Set Processor , 2003, FPL.

[16]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[17]  Jan M. Rabaey,et al.  Scheduling of DSP programs onto multiprocessors for maximum throughput , 1993, IEEE Trans. Signal Process..