MORP: makespan optimization for processors with an embedded reconfigurable fabric

Processors with an embedded runtime reconfigurable fabric have been explored in academia and industry started production of commercial platforms (e.g. Xilinx Zynq-7000). While providing significant performance and efficiency, the comparatively long reconfiguration time limits these advantages when applications request reconfigurations frequently. In multi-tasking systems frequent task switches lead to frequent reconfigurations and thus are a major hurdle for further performance increases. Sophisticated task scheduling is a very effective means to reduce the negative impact of these reconfiguration requests. In this paper, we propose an online approach for combined task scheduling and re-distribution of reconfigurable fabric between tasks in order to reduce the makespan, i.e. the completion time of a taskset that executes on a runtime reconfigurable processor. Evaluating multiple tasksets comprised of multimedia applications, our proposed approach achieves makespans that are on average only 2.8% worse than those achieved by a theoretical optimal scheduling that assumes zero-overhead reconfiguration time. In comparison, scheduling approaches deployed in state-of-the-art reconfigurable processors achieve makespans 14%-20% worse than optimal. As our approach is a purely software-side mechanism, a multitude of reconfigurable platforms aimed at multi-tasking can benefit from it.

[1]  Tulika Mitra,et al.  Runtime reconfiguration of custom instructions for real-time embedded systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[2]  Marco Platzner,et al.  ReconOS: An RTOS Supporting Hard-and Software Threads , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[3]  Rudy Lauwereins,et al.  Hierarchical Run-Time Reconfiguration Managed by an Operating System for Reconfigurable Systems , 2003, Engineering of Reconfigurable Systems and Algorithms.

[4]  David Atienza,et al.  A Mapping Flow for Dynamically Reconfigurable Multi-Core System-on-Chip Design , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Jim Stevens,et al.  Hthreads: A Computational Model for Reconfigurable Devices , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[6]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[7]  Muhammad Shafique,et al.  PATS: A Performance Aware Task Scheduler for Runtime Reconfigurable Processors , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[8]  Ulrich Rückert,et al.  System-on-programmable-chip approach enabling online fine-grained 1D-placement , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[9]  Luca Benini,et al.  Minimization of the reconfiguration latency for the mapping of applications on FPGA-based systems , 2009, CODES+ISSS '09.

[10]  Holger Blume,et al.  Quantitative Analysis of Embedded FPGA-Architectures for Arithmetic , 2006, IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06).

[11]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[12]  Claudio Mucci,et al.  A case-study on multimedia applications for the XiRisc reconfigurable processor , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[13]  Muhammad Shafique,et al.  Run-time instruction set selection in a transmutable embedded processor , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[14]  Sharad Malik,et al.  From ASIC to ASIP: the next design discontinuity , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[15]  Rodolfo Azevedo,et al.  The ArchC Architecture Description Language and Tools , 2005, International Journal of Parallel Programming.

[16]  Georgi Gaydadjiev,et al.  Online Task Scheduling for the FPGA-Based Partially Reconfigurable Systems , 2009, ARC.

[17]  Frank Vahid,et al.  Warp Processors , 2004, ACM Trans. Design Autom. Electr. Syst..

[18]  Muhammad Shafique,et al.  Adaptive resource management for simultaneous multitasking in mixed-grained reconfigurable multi-core processors , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[19]  Jacques Carlier,et al.  Handbook of Scheduling - Algorithms, Models, and Performance Analysis , 2004 .

[20]  Tulika Mitra,et al.  Runtime Adaptive Extensible Embedded Processors - A Survey , 2009, SAMOS.

[21]  Vlad Mihai Sima,et al.  Compiler assisted runtime task scheduling on a reconfigurable computer , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[22]  Michael Winston Dales,et al.  Managing a reconfigurable processor in a general purpose workstation environment , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[23]  Georgi Gaydadjiev,et al.  Reconfigurable Multithreading Architectures: A Survey , 2009, SAMOS.

[24]  Parameswaran Ramanathan,et al.  Combining Hard Periodic and Soft Aperiodic Real-Time Task Scheduling on Heterogeneous Compute Resources , 2011, 2011 International Conference on Parallel Processing.

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

[26]  Stamatis Vassiliadis,et al.  Fine- and Coarse-Grain Reconfigurable Computing , 2007 .

[27]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .