Architectural time-predictability factor (ATF): a metric to evaluate time predictability of processors

Due to the prohibitive cost of worst-case timing analysis for modern processors, the design of time-predictable processors has become increasingly important for hard real-time and safety-critical systems. However, to the best of our knowledge currently there is no effective and widely accepted metric to quantitatively evaluate time predictability of processors, which greatly impedes the advancement of time-predictable processor design. This paper first introduces the concept of architectural time predictability (ATP), which separates timing uncertainty concerns caused by hardware from software. We then propose a metric called Architectural Time-predictability Factor (ATF) to measure architectural time predictability. Our evaluation on a Very Long Instruction Word (VLIW) processor indicates that ATF is an effective metric to quantitatively evaluate architectural time predictability of a whole processor as well as its architectural and microarchitectural components such as caches, branch prediction, speculative execution, parallel pipelines, and Scratch-Pad Memory (SPM). Thus ATF can be used to quantitatively guide architectural design for enhancing time predictability or making better trade-offs between performance and time predictability.

[1]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[2]  Raimund Kirner,et al.  Time-Predictable Computing , 2010, SEUS.

[3]  Nobuyuki Yamasaki,et al.  Prioritized SMT Architecture with IPC Control Method for Real-Time Processing , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[4]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

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

[6]  Mahmut T. Kandemir,et al.  Compiler-directed scratch pad memory hierarchy design and management , 2002, DAC '02.

[7]  S. McFarling Combining Branch Predictors , 1993 .

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

[9]  Lothar Thiele,et al.  Design for Time-Predictability , 2004, Design of Systems with Predictable Behaviour.

[10]  Andreas Steininger,et al.  Processor support for temporal predictability - the SPEAR design example , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[11]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[12]  Jan Reineke,et al.  A Template for Predictability Definitions with Supporting Evidence , 2011, PPES.

[13]  Krste Asanovic,et al.  METERG: Measurement-Based End-to-End Performance Estimation Technique in QoS-Capable Multiprocessors , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[14]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[15]  B. R. Rau,et al.  HPL-PD Architecture Specification:Version 1.1 , 2000 .

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

[17]  Microsystems Sun,et al.  Jini^ Architecture Specification Version 2.0 , 2003 .

[18]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.