• DocumentCode
    1308497
  • Title

    Control-flow versus data-flow-based scheduling: combining both approaches in an adaptive scheduling system

  • Author

    Bergamaschi, Reinaldo A. ; Raje, Salil ; Nair, Indira ; Trevillyan, Louise

  • Author_Institution
    IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA
  • Volume
    5
  • Issue
    1
  • fYear
    1997
  • fDate
    3/1/1997 12:00:00 AM
  • Firstpage
    82
  • Lastpage
    100
  • Abstract
    As high-level synthesis techniques gain acceptance among designers, it is important to be able to provide a robust system which can handle large designs in short execution times, producing high-quality results. Scheduling is one of the most complex tasks in high-level synthesis, and although many algorithms exist for solving the scheduling problem, it remains a main source of inefficiency by either not producing high-quality results, not taking into account realistic design requirements, or requiring unacceptable execution times. One of the main problems in scheduling is the dichotomy between control and data. Many algorithms to date have been able to provide scheduling solutions by looking only at either the data part or the control part of the design. This has been done in order to simplify the problem; however, it has resulted in many algorithms unable to handle efficiently large designs with complex control and data functionality. This paper presents algorithms for combining dataflow and control-flow techniques into a robust scheduling system. The main characteristics of this system are as follows: 1) it uses path-based techniques for efficient handling of control and mutual exclusiveness (for resource sharing), 2) it allows operation reordering and parallelism extraction within the context of path-based scheduling, 3) it contains a control partitioning algorithm for design space exploration as well as for reducing the number of control paths, and 4) it combines the above algorithms into an adaptive scheduling system which is capable of trading optimality for execution time on-the-fly. Results involving billions of paths are presented and analyzed.
  • Keywords
    high level synthesis; logic partitioning; scheduling; signal flow graphs; adaptive scheduling system; control partitioning algorithm; control-flow-based scheduling; data functionality; data-flow-based scheduling; execution times; high-level synthesis techniques; operation reordering; parallelism extraction; path-based techniques; robust scheduling system; Algorithm design and analysis; Control systems; Data mining; High level synthesis; Optimal control; Partitioning algorithms; Resource management; Robust control; Robustness; Scheduling algorithm;
  • fLanguage
    English
  • Journal_Title
    Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1063-8210
  • Type

    jour

  • DOI
    10.1109/92.555989
  • Filename
    555989