Task Transition Scheduling for Data-Adaptable Systems

Data-adaptable embedded systems operate on a variety of data streams, which requires a large degree of configurability and adaptability to support runtime changes in data stream inputs. Data-adaptable reconfigurable embedded systems, when decomposed into a series of tasks, enable a flexible runtime implementation in which a system can transition the execution of certain tasks between hardware and software while simultaneously continuing to process data during the transition. Efficient runtime scheduling of task transitions is needed to optimize system throughput and latency of the reconfiguration and transition periods. In this article, we provide an overview of a runtime framework enabling the efficient transition of tasks between software and hardware in response to changes in system inputs. We further present and analyze several runtime transition scheduling algorithms and highlight the latency and throughput tradeoffs for two data-adaptable systems. To evaluate the task transition selection algorithms, a case study was performed on an adaptable JPEG2000 implementation as well as three other synchronous dataflow systems characterized by transition latency and communication load.

[1]  Marco D. Santambrogio From Reconfigurable Architectures to Self-Adaptive Autonomic Systems , 2009, 2009 International Conference on Computational Science and Engineering.

[2]  S. Neema,et al.  Signal processing platform: a tool chain for designing high performance signal processing applications , 2005, Proceedings. IEEE SoutheastCon, 2005..

[3]  Seda Ogrenci Memik,et al.  A novel SoC design methodology combining adaptive software and reconfigurable hardware , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[4]  Guy Gogniat,et al.  Closed-loop--based self-adaptive Hardware/Software-Embedded systems: Design methodology and smart cam case study , 2011, TECS.

[5]  Juan Carlos López,et al.  A hierarchical scheduling and management solution for dynamic reconfiguration in FPGA-based embedded systems , 2013, Microtechnologies for the New Millennium.

[6]  Scott Hauck,et al.  Performance of partial reconfiguration in FPGA systems: A survey and a cost model , 2011, TRETS.

[7]  Georgi Gaydadjiev,et al.  3D Compaction: A Novel Blocking-Aware Algorithm for Online Hardware Task Scheduling and Placement on 2D Partially Reconfigurable Devices , 2010, ARC.

[8]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[9]  Michael I. Gordon,et al.  Language and Compiler Design for Streaming Applications , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[10]  Hessam Kooti,et al.  Transition-aware real-time task scheduling for reconfigurable embedded systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[11]  Marco D. Santambrogio From Reconfigurable Architectures to Self-Adaptive Autonomic Systems , 2009, CSE.

[12]  Xue Liu,et al.  Hardware/software partitioning and pipelined scheduling on runtime reconfigurable FPGAs , 2010, TODE.

[13]  Jim Stevens,et al.  Enabling a Uniform Programming Model Across the Software/Hardware Boundary , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[14]  Christian Prehofer,et al.  Timing constraints for runtime adaptation in real-time, networked embedded systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[15]  Wayne Luk,et al.  FASTER: Facilitating Analysis and Synthesis Technologies for Effective Reconfiguration , 2012, 2012 15th Euromicro Conference on Digital System Design.

[16]  Marco D. Santambrogio,et al.  Dynamic Reconfigurability in Embedded System Design , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[17]  Richard Clark,et al.  MIME Type Registrations for JPEG 2000 (ISO/IEC 15444) , 2004, RFC.

[18]  Dirk Stroobandt,et al.  Dynamic data folding with parameterizable FPGA configurations , 2011, TODE.

[19]  Fadi J. Kurdahi,et al.  A compiler framework for mapping applications to a coarse-grained reconfigurable computer architecture , 2001, CASES '01.

[20]  Vikram K. Narayana,et al.  Reconfiguration and Communication-Aware Task Scheduling for High-Performance Reconfigurable Computing , 2010, TRETS.

[21]  Roman L. Lysecky,et al.  System Throughput Optimization and Runtime Communication Middleware Supporting Dynamic Software-Hardware Task Migration in Data Adaptable Embedded Systems , 2013, 2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS).

[22]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[23]  Alain Greiner,et al.  A generic hardware/software communication mechanism for Multi-Processor System on Chip, Targeting Telecommunication Applications , 2006, ReCoSoC.

[24]  Ulrich Heinkel,et al.  MORPHEUS: A heterogeneous dynamically reconfigurable platform for designing highly complex embedded systems , 2013, TECS.

[25]  Michael J. Schulte,et al.  An Overview of Reconfigurable Hardware in Embedded Systems , 2006, EURASIP J. Embed. Syst..

[26]  Javier Resano,et al.  An approach to manage reconfigurations and reduce area cost in hard real-time reconfigurable systems , 2014, ACM Trans. Embed. Comput. Syst..

[27]  Marc Geilen,et al.  Synchronous dataflow scenarios , 2010, TECS.

[28]  Henry Hoffmann,et al.  Metronome: Operating system level performance management via self-adaptive computing , 2012, DAC Design Automation Conference 2012.

[29]  John A. Williams,et al.  Asymmetric Multi-Processor Architecture for Reconfigurable System-on-Chip and Operating System Abstractions , 2007, 2007 International Conference on Field-Programmable Technology.

[30]  Viktor K. Prasanna,et al.  MILAN: A Model Based Integrated Simulation Framework for Design of Embedded Systems , 2001, OM '01.

[31]  Vlad Mihai Sima,et al.  Runtime decision of hardware or software execution on a heterogeneous reconfigurable platform , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[32]  Shuvra S. Bhattacharyya,et al.  Parameterized dataflow modeling of DSP systems , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[33]  Roman L. Lysecky,et al.  An overseer control methodology for data adaptable embedded systems , 2012, MPM '12.

[34]  John A. Williams,et al.  FIFO communication models in operating systems for reconfigurable computing , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[35]  Walid A. Najjar,et al.  Impact of Loop Unrolling on Area, Throughput and Clock Frequency in ROCCC: C to VHDL Compiler for FPGAs , 2006, ARC.

[36]  Maya Gokhale,et al.  Stream-oriented FPGA computing in the Streams-C high level language , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[37]  Axel Jantsch,et al.  Pareto efficient design for reconfigurable streaming applications on CPU/FPGAs , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[38]  Sander Stuijk,et al.  SDF^3: SDF For Free , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[39]  Francky Catthoor,et al.  Efficiently scheduling runtime reconfigurations , 2008, TODE.

[40]  Roman L. Lysecky,et al.  Runtime hardware/software task transition scheduling for data-adaptable embedded systems , 2013, 2013 International Conference on Field-Programmable Technology (FPT).