In Situ Latency Monitoring for Heterogeneous Real-Time Systems

With the increasing complexity of both application software and the underlying hardware platforms found in current Real-Time Systems (RTSs), static timing analysis methods are struggling to capture the wide variety of delays. In case of real-time control systems, it thus is common practice in industry to measure system latencies over extended periods of time to ensure compliance with predefined control deadlines that specify the maximum permissible delay between the arrival of a sensor value and the transmission of an actuation signal. As such monitoring is commonly implemented using code instrumentation, it not only requires modification of the RTS-under-test, but also is unable to capture delays caused by I/O peripherals or other components that contribute to the end-to-end (i.e., input-to-output) latencies. In this paper, we propose a latency monitoring methodology for current heterogeneous RTSs that combine a fixed-function System-on-Chip (SoC) with configurable FPGA fabric. The proposed extension enables an RTS based on such a Programmable SoC (pSoC) to perform In situ Monitoring (i.e., without software modification or external hardware) of end-to-end latencies including the I/O delays of current interfaces such as Gigabit Ethernet. We present I/O-to-Fabric Redirecting (to tap into the I/O paths of a pSoC-based RTS) combined with a Trigger/Binning Subsystem (to identify sensor/actuation signals and perform online execution of both latency calculation and histogram generation), for which we propose two implementation options. Our experimental evaluation of the software-driven Trigger/Binning Subsystem shows that our proposed methodology is capable of capturing latency variations over extended periods with sub-microsecond accuracy.

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

[2]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[3]  Giorgio C. Buttazzo,et al.  Limited Preemptive Scheduling for Real-Time Systems. A Survey , 2013, IEEE Transactions on Industrial Informatics.

[4]  C. Emde Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems , 2010 .

[5]  Liliana Cucu-Grosjean,et al.  Measurement-based probabilistic timing analysis: Lessons from an integrated-modular avionics case study , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[6]  Francisco J. Cazorla,et al.  On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments , 2012, TACO.

[7]  John Regehr,et al.  Preventing interrupt overload , 2005, LCTES.

[8]  Gerhard Fohler,et al.  Handling interrupts with static scheduling in an automotive vehicle control system , 1998, Proceedings Fifth International Conference on Real-Time Computing Systems and Applications (Cat. No.98EX236).

[9]  Parameswaran Ramanathan,et al.  Real-time computing: a new discipline of computer science and engineering , 1994, Proc. IEEE.

[10]  Iain Bate,et al.  Establishing timing requirements for control loops in real-time systems , 2003, Microprocess. Microsystems.

[11]  Robert I. Davis,et al.  Identifying Opportunities for Worst-Case Execution Time Reduction in an Avionics System , 2008 .