A systematic approach to classify design-time global scheduling techniques

The scheduling problem is an important partially solved topic related to a wide range of scientific fields. As it applies to design-time mapping on multiprocessing platforms emphasizing on ordering in time and assignment in place, significant improvements can be achieved. To support this improvement, this article presents a complete systematic classification of the existing scheduling techniques solving this problem in a (near-)optimal way. We show that the proposed approach covers any global scheduling technique, including also future ones. In our systematic classification a technique may belong to one primitive class or to a hybrid combination of such classes. In the latter case the technique is efficiently decomposed into more primitive components each one belonging to a specific class. The systematic classification assists in the in-depth understanding of the diverse classes of techniques which is essential for their further improvement. Their main characteristics and structure, their similarities and differences, and the interrelationships of the classes are conceived. In this way, our classification provides guidance for contributing in novel ways to the broad domain of global scheduling techniques.

[1]  J.L. van Meerbergen,et al.  Constraint analysis for DSP code generation , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

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

[3]  Pier Luca Lanzi,et al.  Ant Colony Heuristic for Mapping and Scheduling Tasks and Communications on Heterogeneous Embedded Systems , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

[5]  Global Multiprocessor Real-Time Scheduling as a Constraint Satisfaction Problem , 2009, 2009 International Conference on Parallel Processing Workshops.

[6]  Peter Ross,et al.  Evolutionary Scheduling: A Review , 2005, Genetic Programming and Evolvable Machines.

[7]  E. S. Page,et al.  On Monte Carlo Methods in Congestion Problems: I. Searching for an Optimum in Discrete Situations , 1965 .

[8]  Wayne H. Wolf,et al.  Unification of scheduling, binding, and retiming to reduce power consumption under timings and resources constraints , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Maode Ma,et al.  A Problem-Specific Genetic Algorithm for Multiprocessor Real-Time Task Scheduling , 2008, 2008 3rd International Conference on Innovative Computing Information and Control.

[10]  Damla Turgut,et al.  A performance study of multiprocessor task scheduling algorithms , 2007, The Journal of Supercomputing.

[11]  Nostrand Reinhold,et al.  the utility of using the genetic algorithm approach on the problem of Davis, L. (1991), Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York. , 1991 .

[12]  Fabio Schoen,et al.  Stochastic techniques for global optimization: A survey of recent advances , 1991, J. Glob. Optim..

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

[14]  Alice C. Parker,et al.  MAHA: A Program for Datapath Synthesis , 1986, 23rd ACM/IEEE Design Automation Conference.

[15]  Jia Xu,et al.  Multiprocessor Scheduling of Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1993, IEEE Trans. Software Eng..

[16]  Pierre G. Paulin,et al.  Scheduling and Binding Algorithms for High-Level Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[17]  Alice C. Parker,et al.  A Formal Method for the Specification, Analysis, and Design of Register-Transfer Level Digital Logic , 1981, 18th Design Automation Conference.

[18]  W. Fichtner,et al.  The VLSI Design Automation Assistant: From Algorithms to Silicon , 1985, IEEE Design & Test of Computers.

[19]  Wim F. J. Verhaegh,et al.  Allocation of multiport memories for hierarchical data stream , 1993, ICCAD.

[20]  Paul Levi,et al.  Optimal Scheduling of Iterative Data-Flow Programs onto Multiprocessors with Non-Negligible Interprocessor Communication , 1999, HPCN Europe.

[21]  Edward Tsang Scheduling techniques: a comparative study , 1995 .

[22]  Zbigniew Michalewicz,et al.  Genetic algorithms + data structures = evolution programs (2nd, extended ed.) , 1994 .

[23]  R. Storer,et al.  New search spaces for sequencing problems with application to job shop scheduling , 1992 .

[24]  B. Zavidovique,et al.  On the synthesis of specific image processing automata by a simulated annealing-based design space search , 1989, IEEE International Symposium on Circuits and Systems,.

[25]  Bart Mesman,et al.  Constraint analysis for DSP code generation , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[27]  Minqiang Li,et al.  Phases-based dynamic genetic strategies for genetic algorithms , 2003, SMC.

[28]  Nicola Muscettola,et al.  Scheduling by iterative partition of bottleneck conflicts , 1993, Proceedings of 9th IEEE Conference on Artificial Intelligence for Applications.

[29]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[30]  Donald E. Thomas,et al.  A Method of Automatic Data Path Synthesis , 1983, 20th Design Automation Conference Proceedings.

[31]  Li Minqiang,et al.  Phases-based dynamic genetic strategies for genetic algorithms , 2003, SMC'03 Conference Proceedings. 2003 IEEE International Conference on Systems, Man and Cybernetics. Conference Theme - System Security and Assurance (Cat. No.03CH37483).

[32]  Yi Liu,et al.  Allocating Tasks in Multi-core Processor based Parallel System , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[33]  Kang G. Shin,et al.  Allocation of Periodic Task Modules with Precedence and Deadline Constraints , 1997, IEEE Trans. Computers.

[34]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[35]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[36]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[37]  Donald E. Thomas,et al.  Automatic Data Path Synthesis , 1983, Computer.

[38]  Daniel P. Siewiorek,et al.  Automated exploration of the design space for register transfer (RT) systems , 1973, ISCA '73.

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

[40]  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..

[41]  Zoltan Baruch,et al.  Scheduling Algorithms for High-Level Synthesis , 2003 .

[42]  Sadiq M. Sait,et al.  Scheduling and allocation in high-level synthesis using stochastic techniques , 1996 .

[43]  C. Siva Ram Murthy,et al.  A New A* Based Optimal Task Scheduling in Heterogeneous Multiprocessor Systems applied to Computer Vision , 1998, HPCN Europe.

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

[45]  M.K. Dhodhi,et al.  A multiprocessor scheduling scheme using problem-space genetic algorithms , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[46]  Kang G. Shin,et al.  Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[47]  Mohamed I. Elmasry,et al.  Global optimization approach for architectural synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[48]  Catherine H. Gebotys Throughput optimized architectural synthesis , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[49]  J. E. Mitchell,et al.  Analyzing and exploiting the structure of the constraints in the ILP approach to the scheduling problem , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[50]  M.C. McFarland Using Bottom-Up Design Techniques in the Synthesis of Digital Hardware from Abstract Behavioral Descriptions , 1986, 23rd ACM/IEEE Design Automation Conference.

[51]  Tai A. Ly,et al.  Applying simulated evolution to high level synthesis , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[52]  Bjorn De Sutter,et al.  A backtracking instruction scheduler using predicate-based code hoisting to fill delay slots , 2007, CASES '07.

[53]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[54]  Scott F. Midkiff,et al.  Processor and Link Assignment in Multicomputers Using Simulated Annealing , 1988, ICPP.

[55]  Alice C. Parker,et al.  MAHA: A Program for Datapath Synthesis , 1986, DAC 1986.

[56]  H. Shin,et al.  A cost function based optimization technique for scheduling in data path synthesis , 1989, Proceedings 1989 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[57]  Zbigniew Michalewicz,et al.  Genetic algorithms + data structures = evolution programs (3rd ed.) , 1996 .

[58]  Robert H. Storer,et al.  Datapath synthesis using a problem-space genetic algorithm , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[59]  George V. Meghabghab,et al.  Enhanced Simulated Annealing Techniques for Multiprocessor Scheduling , 1999, FLAIRS.

[60]  I. Ahmad,et al.  Multiprocessor scheduling using a problem-space genetic algorithm , 1995 .

[61]  Ishfaq Ahmad,et al.  Optimal task assignment in heterogeneous computing systems , 1997, Proceedings Sixth Heterogeneous Computing Workshop (HCW'97).

[62]  Werner Grass A branch-and-bound method for optimal transformation of data flow graphs for observing hardware constraints , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[63]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[64]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[65]  Srinivas Devadas,et al.  Algorithms for hardware allocation in data path synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[66]  Emile H. L. Aarts,et al.  Efficiency improvements for force-directed scheduling , 1992, ICCAD.

[67]  Luca Baldini,et al.  Synthesis of pipelined systems for the contemporaneous execution of periodic and aperiodic tasks with hard real-time constraints , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[68]  Alice C. Parker,et al.  Tutorial on high-level synthesis , 1988, DAC '88.

[69]  V. V. S. Sarma,et al.  Knowledge-Based Approaches to Scheduling Problems: A Survey , 1991, IEEE Trans. Knowl. Data Eng..

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

[71]  Ted K. Ralphs,et al.  Integer and Combinatorial Optimization , 2013 .

[72]  Bertrand Zavidovique,et al.  Towards a global solution to high level synthesis problems , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[73]  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.

[74]  Jack J. Dongarra,et al.  Experiments with Scheduling Using Simulated Annealing in a Grid Environment , 2002, GRID.

[75]  R. Lippmann,et al.  An introduction to computing with neural nets , 1987, IEEE ASSP Magazine.

[76]  Vivek Sarkar,et al.  Space-time scheduling of instruction-level parallelism on a raw machine , 1998, ASPLOS VIII.

[77]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[78]  D. Parnas,et al.  On satisfying timing constraints in hard-real-time systems , 1991, SIGSOFT '91.

[79]  Eric A. Hansen,et al.  Beam-Stack Search: Integrating Backtracking with Beam Search , 2005, ICAPS.

[80]  Albert Jones,et al.  Survey of Job Shop Scheduling Techniques , 1999 .

[81]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[82]  Zebo Peng Synthesis of VLSI Systems with the CAMAD Design Aid , 1986, 23rd ACM/IEEE Design Automation Conference.

[83]  Ranga Vemuri,et al.  A tool for partitioning and pipelined scheduling of hardware-software systems , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[84]  Peter Pirsch,et al.  Design Space Exploration of Media Processors: A Parameterized Scheduler , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

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

[86]  W.F.J. Verhaegh,et al.  Allocation of multiport memories for hierarchical data streams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[87]  Ahmed Hemani,et al.  A neural net based self organising scheduling algorithm , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

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

[89]  Nikil D. Dutt,et al.  Low-power memory mapping through reducing address bus activity , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[90]  Stephen F. Smith,et al.  Is Scheduling a Solved Problem , 2005 .

[91]  Alice C. Parker,et al.  A Formal Method for the Specification, Analysis, and Design of Register-Transfer Level Digital Logic , 1983, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[92]  Nenad Mladenović,et al.  Towards the Optimal Solution of the Multiprocessor Scheduling Problem with Communication Delays , 2007 .