Operation Scheduling: Algorithms and Applications

Operation scheduling (OS) is an important task in the high-level synthesis process. An inappropriate scheduling of the operations can fail to exploit the full potential of the system. In this chapter, we try to give a comprehensive coverage on the heuristic algorithms currently available for solving both timing and resource constrained scheduling problems. Besides providing a broad survey on this topic, we focus on some of the most popularly used algorithms, such as List Scheduling, Force-Directed Scheduling and Simulated Annealing, as well as the newly introduced approach based on the Ant Colony Optimization meta-heuristics. We discuss in details on their applicability and performance by comparing them on solution quality, performance stability, scalability, extensibility, and computation cost.Moreover, as an application of operation scheduling, we introduce a novel uniformed design space exploration method that exploits the duality of the time and resource constrained scheduling problems, which automatically constructs a high quality time/area tradeoff curve in a fast, effective manner.

[1]  Riccardo Poli,et al.  New ideas in optimization , 1999 .

[2]  Emile H. L. Aarts,et al.  Improved force-directed scheduling , 1991, Proceedings of the European Conference on Design Automation..

[3]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[4]  Steven J. Beaty,et al.  Genetic algorithms and instruction scheduling , 1991, MICRO 24.

[5]  Youn-Long Lin,et al.  Recent developments in high-level synthesis , 1997, TODE.

[6]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[7]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[8]  Gang Wang,et al.  Ant Colony Optimizations for Resource- and Timing-Constrained Operation Scheduling , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  J. M. J. Schutten,et al.  List scheduling revisited , 1996, Oper. Res. Lett..

[10]  J. Deneubourg,et al.  Collective patterns and decision-making , 1989 .

[11]  Thomas Stützle,et al.  MAX-MIN Ant System , 2000, Future Gener. Comput. Syst..

[12]  Maurizio Palesi,et al.  Multi-objective design space exploration using genetic algorithms , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[13]  Emile H. L. Aarts,et al.  Simulated annealing and Boltzmann machines - a stochastic approach to combinatorial optimization and neural computing , 1990, Wiley-Interscience series in discrete mathematics and optimization.

[14]  Chong-Min Kyung,et al.  Fast and near optimal scheduling in automatic data path synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[15]  Pierre G. Paulin,et al.  Force-Directed Scheduling in Automatic Data Path Synthesis , 1987, 24th ACM/IEEE Design Automation Conference.

[16]  Majid Sarrafzadeh,et al.  A super-scheduler for embedded reconfigurable systems , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[17]  Jochen A. G. Jess,et al.  High-level synthesis scheduling and allocation using genetic algorithms , 1995, ASP-DAC '95.

[18]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[19]  A. Gonzalez,et al.  Graph-partitioning based instruction scheduling for clustered processors , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[20]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

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

[22]  E.H.L. Aarts,et al.  Efficiency improvements for force-directed scheduling , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[23]  Robert A. Walker,et al.  A solution methodology for exact design space exploration in a three-dimensional design space , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[24]  Philip H. Sweany,et al.  Instruction Scheduling Using Simulated Annealing , 1998 .

[25]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[27]  James E. Smith,et al.  Dynamic instruction scheduling and the Astronautics ZS-1 , 1989, Computer.

[28]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[29]  J.A.G. Jess,et al.  High-level synthesis scheduling and allocation using genetic algorithms based on constructive topological scheduling techniques , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[30]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for the co-synthesis of hardware-software embedded systems , 1997, ICCAD 1997.

[31]  Ranga Vemuri,et al.  Distributed design-space exploration for high-level synthesis systems , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

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

[33]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

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

[35]  Twan Basten,et al.  Constraint analysis and heuristic scheduling methods , 2000 .

[36]  Izidor Gertner,et al.  On the Complexity of Scheduling Problems for Parallel/Pipelined Machines , 1989, IEEE Trans. Computers.

[37]  H. K. Dai,et al.  Integrating Random Ordering into Multi-heuristic List Scheduling Genetic Algorithm , 2003 .

[38]  Raul Camposano,et al.  Path-based scheduling for synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[39]  S. Beaty Genetic Algorithms versus Tabu Search for Instruction Scheduling , 1993 .

[40]  Youn-Long Lin,et al.  A new integer linear programming formulation for the scheduling problem in data path synthesis , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[41]  Alok Sharma,et al.  InSyn: Integrated Scheduling for DSP Applications , 1993, 30th ACM/IEEE Design Automation Conference.

[42]  Anne Elisabeth Haxthausen,et al.  LYCOS: the Lyngby Co-Synthesis System , 1997, Des. Autom. Embed. Syst..

[43]  Walter J. Gutjahr,et al.  ACO algorithms with guaranteed convergence to the optimal solution , 2002, Inf. Process. Lett..

[44]  R. Kolisch,et al.  Heuristic algorithms for the resource-constrained project scheduling problem: classification and computational analysis , 1999 .