Timing Analysis of Tasks on Runtime Reconfigurable Processors

Real-time embedded systems need to be analyzable for timing guarantees. Despite significant scientific advances, however, timing analysis lags years behind current microarchitectures with out-of-order scheduling pipelines, several hardware threads, and multiple (shared) cache layers. To satisfy the increasing performance demands, analyzable performance features are required. We propose a novel timing analysis approach to introduce runtime reconfigurable instruction set processors as one way to escape the scarcity of analyzable performance while preserving the flexibility of the system. We introduce extensions to the state-of-the-art Integer linear programming (ILP)-based program path analysis for computing precise worst case time bounds in the presence of the widely used technique to continue processor execution during reconfiguration by emulating not yet reconfigured custom instructions (CIs) in software. We identify and safely bound a timing anomaly of runtime reconfiguration, where executing faster than worst case time during reconfiguration extends the execution time of the whole program. Stalling the processor during reconfiguration (easier to analyze but not state-of-the-art for reconfigurable processors) is not required in our approach. Finally, we show the precision of our analysis on a complex multimedia application with multiple reconfigurable CIs for several hardware parameters and give advice on how to deal with reconfiguration delay under timing guarantees.

[1]  Ralph Wittig,et al.  OneChip: an FPGA processor with reconfigurable logic , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

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

[3]  Marco Platzner,et al.  Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks , 2004, IEEE Transactions on Computers.

[4]  S. Uhrig,et al.  Toward a processor core for real-time capable autonomic systems , 2005, Proceedings of the Fifth IEEE International Symposium on Signal Processing and Information Technology, 2005..

[5]  AbsInt Angewandte,et al.  Fast and Precise WCET Prediction by Separated Cache and Path Analyses , 1999 .

[6]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

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

[8]  Jason Cong,et al.  CHARM: a composable heterogeneous accelerator-rich microprocessor , 2012, ISLPED '12.

[9]  Jörg Henkel,et al.  Invasive manycore architectures , 2012, 17th Asia and South Pacific Design Automation Conference.

[10]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[11]  Jason Cong,et al.  Composable accelerator-rich microprocessor enhanced for adaptivity and longevity , 2013, International Symposium on Low Power Electronics and Design (ISLPED).

[12]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[13]  Neil C. Audsley,et al.  MCGREP--A Predictable Architecture for Embedded Real-Time Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[14]  Marco Platzner,et al.  ReconOS: An Operating System Approach for Reconfigurable Computing , 2014, IEEE Micro.

[15]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[16]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[17]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

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

[19]  Jorg Henkel,et al.  i-Core: A run-time adaptive processor for embedded multi-core systems , 2011 .

[20]  Reinhard Wilhelm,et al.  Analysis of Loops , 1998, CC.

[21]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[22]  Florian Dittmann,et al.  Hard Real-Time Reconfiguration Port Scheduling , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[23]  Sascha Uhrig,et al.  Coupling of a reconfigurable architecture and a multithreaded processor core with integrated real-time scheduling , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

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

[25]  Muhammad Shafique,et al.  A computation- and communication- infrastructure for modular special instructions in a dynamically reconfigurable processor , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[26]  Lothar Thiele,et al.  Design for Timing Predictability , 2004, Real-Time Systems.

[27]  Tulika Mitra,et al.  Satisfying real-time constraints with custom instructions , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[28]  Koen Bertels,et al.  The Instruction-Set Extension Problem: A Survey , 2008, ARC.

[29]  Ting Chen,et al.  WCET centric data allocation to scratchpad memory , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[30]  Martin Schoeberl,et al.  Time-Predictable Computer Architecture , 2009, EURASIP J. Embed. Syst..

[31]  Jan Reineke,et al.  Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  Jörg Henkel,et al.  COREFAB: Concurrent reconfigurable fabric utilization in heterogeneous multi-core systems , 2014, 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[33]  Pascal Sainrat,et al.  A Context-Parameterized Model for Static Analysis of Execution Times , 2009, Trans. High Perform. Embed. Archit. Compil..

[34]  Scott Hauck,et al.  The Chimaera reconfigurable functional unit , 1997, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[35]  Muhammad Shafique,et al.  RISPP: Rotating Instruction Set Processing Platform , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[36]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[37]  Sebastian Altmeyer,et al.  Static Timing Analysis for Hard Real-Time Systems , 2010, VMCAI.

[38]  Arno Luppold,et al.  A new concept for system-level design of runtime reconfigurable real-time systems , 2013, SIGBED.

[39]  Wang Yi,et al.  Building timing predictable embedded systems , 2014, ACM Trans. Embed. Comput. Syst..