Integrated Task Clustering, Mapping and Scheduling for Heterogeneous Computing Systems

This paper presents a new approach for mapping and scheduling task graphs for heterogeneous hardware/software computing systems using heuristic search. Task mapping and scheduling are vital in hardware/software codesign and previous approaches that treat them separately lead to suboptimal solutions. In this paper, we propose two techniques to enhance the speedup of mapping/scheduling solutions: (1) an integrated technique combining task clustering, mapping, and scheduling, and (2) a multiple neighborhood function strategy. Our approach is demonstrated by case studies involving 40 randomly generated task graphs, as well as six applications. Experimental results show that our proposed approach outperforms a separate approach in terms of speedup by up to 18.3% for a system with a microprocessor, a floating-point digital signal processor, and an FPGA.

[1]  T. Wiangtong,et al.  Hardware/software codesign: a systematic approach targeting data-intensive applications , 2005, IEEE Signal Processing Magazine.

[2]  Liang Yang,et al.  Resource mapping and scheduling for heterogeneous network processor systems , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).

[3]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[4]  Ümit V. Çatalyürek,et al.  Compaction of Schedules and a Two-Stage Approach for Duplication-Based DAG Scheduling , 2009, IEEE Transactions on Parallel and Distributed Systems.

[5]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[6]  Jun Gu,et al.  Efficient Local Search for DAG Scheduling , 2001, IEEE Trans. Parallel Distributed Syst..

[7]  Roberto Cordone,et al.  Partitioning and Scheduling of Task Graphs on Partially Dynamically Reconfigurable FPGAs , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Martin D. F. Wong,et al.  Integrated partitioning and scheduling for hardware/software co-design , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[9]  Wayne Luk,et al.  Interleaving behavioral and cycle-accurate descriptions for reconfigurable hardware compilation , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[10]  Vikas Kumar,et al.  Task Scheduling in Multiprocessor System Using Genetic Algorithm , 2010, 2010 Second International Conference on Machine Learning and Computing.

[11]  Imtiaz Ahmad,et al.  DPS: dynamic priority scheduling heuristic for heterogeneous computing systems , 1998 .

[12]  Petru Eles,et al.  Holistic scheduling and analysis of mixed time/event-triggered distributed embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[13]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

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

[15]  Krishna R. Pattipati,et al.  On mapping a tracking algorithm onto parallel processors , 1990 .

[16]  Nikil D. Dutt,et al.  Efficient search space exploration for HW-SW partitioning , 2004, International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..

[17]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[18]  José Ignacio Hidalgo,et al.  Functional partitioning for hardware-software codesign using genetic algorithms , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[19]  Li Shang,et al.  SLOPES: Hardware–Software Cosynthesis of Low-Power Real-Time Distributed Embedded Systems With Dynamically Reconfigurable FPGAs , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  J.G.F. Coutinho,et al.  Integrated Hardware/Software Codesign for Heterogeneous Computing Systems , 2008, 2008 4th Southern Conference on Programmable Logic.

[21]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[22]  Christoph Kessler,et al.  Integer Linear Programming versus Dynamic Programming for Optimal Integrated VLIW Code Generation , 2006 .

[23]  Hadi Shahriar Shahhoseini,et al.  Earliest Starting and Finishing time Duplication-based algorithm , 2009, 2009 International Symposium on Performance Evaluation of Computer & Telecommunication Systems.

[24]  Rick Siow Mong Goh,et al.  A Tabu Search for the Heterogeneous DAG Scheduling Problem , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

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

[26]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[27]  Sadiq M. Sait,et al.  Task matching and scheduling in heterogeneous systems using simulated evolution , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[28]  Han Yu A Hybrid GA-based Scheduling Algorithm for Heterogeneous Computing Environments , 2007, 2007 IEEE Symposium on Computational Intelligence in Scheduling.

[29]  Gerard J. M. Smit,et al.  A pattern selection algorithm for multi-pattern scheduling , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[30]  Jason Cong,et al.  Synthesis of reconfigurable high-performance multicore systems , 2009, FPGA '09.

[31]  Seda Ogrenci Memik,et al.  An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi-dimensional Reconfigurable Architectures , 2008, 2008 International Conference on Reconfigurable Computing and FPGAs.

[32]  Sang Cheol Kim,et al.  Push-Pull: Deterministic Search-Based DAG Scheduling for Heterogeneous Cluster Systems , 2007, IEEE Transactions on Parallel and Distributed Systems.

[33]  M Mostafizur Rahman,et al.  Examining branch and bound strategy on multiprocessor task scheduling , 2009, 2009 12th International Conference on Computers and Information Technology.

[34]  Kiyoung Choi,et al.  Enforcing Schedulability of Multi-Task Systems by Hardware-Software Codesign , 1997, CODES.

[35]  Yves Crama,et al.  Local Search in Combinatorial Optimization , 2018, Artificial Neural Networks.

[36]  C. Ribeiro,et al.  A Tabu Search Approach to Task Scheduling on Heterogeneous Processors under Precedence Constraints , 1995, Int. J. High Speed Comput..