Real-time aspects Bernhard Weirich
Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time: violation of the deadline can lead to a total system failure – Soft real-time: violation of the deadline degrades the service quality To be able to guarantee all deadlines to be met, the worstcase execution time (WCET) has to be known.
Hardware In synchronous designs the worst case gate level delays and propagation time must be considered in any case. They are provided by the Timing analyzer. The response time of a circuit to a certain input in terms of clock ticks is easy to calculate But: – Information flow can be very difficult to predict. It often depends on history
Problematic Hardware DRAM: access can be delayed by refresh cycles Computer Architecture: – Caches – Pipelining – Branch Prediction Network Harddisk …
Problems with Software Software depends on the hardware But knowledge of the software can be used to better predict hardware behavior Additional problems: – Multitasking, conditional execution – Multiprocessing – Virtual Memory
WCET is more than SW or HW Development WCET analysis requires knowledge of software and hardware at the same time Abstraction to simple hardware interfaces is not possible
Approaches Real-time operating systems Real-time programming languages (e.g. Ada) Increase predictability: – Cache-locking – Function cache Predictable network protocols (TT-ethernet, TTP)
WCET estimation WCET analysis during program compilation Static WCET analysis of source code or compiled executables – DFA (data-flow analysis) cache modelling – Pipeline modelling – Branch prediction modelling – Model DRAM refreshs as periodic interrupts Measure ET
Static WCET analyzer Software Bound – T aiT RapiTime Calc WCET
Resources case_execution_time case_execution_time Modeling the Function Cache for Worst-Case Execution (Raimund Kirner, Martin Schoeberl) Experimental Assessment of Worst-case Program Execution Times (Pavel Atanassov)