Litcius/Paper detail

DASS: Combining Dynamic & Static Scheduling in High-Level Synthesis

Jianyi Cheng, Lana Josipović, George A. Constantinides, Paolo Ienne, John Wickerson

2021IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems20 citationsDOIOpen Access PDF

Abstract

A central task in high-level synthesis is <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">scheduling</i> : the allocation of operations to clock cycles. The classic approach to scheduling is <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">static</i> , in which each operation is mapped to a clock cycle at compile-time, but recent years have seen the emergence of <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">dynamic</i> scheduling, in which an operation’s clock cycle is only determined at runtime. Both approaches have their merits: static scheduling (SS) can lead to simpler circuitry and more resource sharing, while dynamic scheduling (DS) can lead to faster hardware when the computation has nontrivial control flow. In this work, we seek a scheduling approach that combines the best of both worlds. Our idea is to identify the parts of the input program, where DS does not bring any performance advantage and to use SS on those parts. These statically scheduled parts are then treated as black boxes when creating a dataflow circuit for the remainder of the program, which can benefit from the flexibility of DS. An empirical evaluation on a range of applications suggests that by using this approach, we can obtain 74% of the area savings that would be made by switching from DS to SS, and 135% of the performance benefits that would be made by switching from SS to DS.

Topics & Concepts

DataflowComputer scienceScheduling (production processes)ComputationHigh-level synthesisDynamic priority schedulingCompilerParallel computingAlgorithmProgramming languageEmbedded systemField-programmable gate arrayOperating systemMathematical optimizationMathematicsScheduleParallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesInterconnection Networks and Systems
DASS: Combining Dynamic &amp; Static Scheduling in High-Level Synthesis | Litcius