CheckerMode: A hybrid scheme for timing analysis of modern processor pipelines involving hardware/software interactions (original) (raw)

Hybrid Timing Analysis of Modern Processor Pipeline via Hardware/Software Interactions

Embedded systems are often subject to constraints that require determinism to ensure that task deadlines are met. Such systems are referred to as real-time systems. Schedulability analysis provides a firm basis to ensure that tasks meet their deadlines for which knowledge of worst-case execution time (WCET) bounds is a critical piece of information. Static timing analysis techniques are used to derive these WCET bounds. A limiting factor for designing real-time systems is the class of processors that can be used. Typically, modern, complex processor pipelines cannot be used in real-time systems design. Contemporary processors with their advanced architectural features, such as out-of-order execution, branch prediction, speculation, prefetching, etc., cannot be statically analyzed to obtain tight WCET bounds for tasks. The main reason is that these features introduce non-determinism to task execution that surfaces in full only at runtime. In this paper, we introduce a new paradigm to perform timing analysis of tasks for real-time systems running on modern processor architectures. We propose minor enhancements to the processor architecture to enable this process. These features, on interaction with software modules, are able to obtain tight, accurate timing analysis results for modern processors. We also briefly present analysis techniques that, combined with our timing analysis methods, reduce the complexity of worst-case estimations for loops. To the best of our knowledge, this method of constant interactions between hardware and software to calculate WCET bounds for out-of-order processors is the first of its kind.

Static Timing Analysis for Hard Real-Time Systems

Lecture Notes in Computer Science, 2010

Hard real-time systems have to satisfy strict timing constraints. To prove that these constraints are met, timing analyses aim to derive safe upper bounds on tasks' execution times. Processor components such as caches, out-of-order pipelines, and speculation cause a large variation of the execution time of instructions, which may induce a large variability of a task's execution time. The architectural platform also determines the precision and the complexity of timing analysis.

Execution Time Analysis for Embedded Real-Time Systems

Chapman & Hall/CRC Computer & Information Science Series, 2007

This chapter deals with the problem of how to estimate and analyze the execution time of embedded real-time software, in particular the worst-case execution time.

TIMES: A Tool for Schedulability Analysis and Code Generation of Real-Time Systems

2003

Times is a tool suite designed mainly for symbolic schedulability analysis and synthesis of executable code with predictable behaviours for real-time systems. Given a system design model consisting of (1) a set of application tasks whose executions may be required to meet mixed timing, precedence, and resource constraints, (2) a network of timed automata describing the task arrival patterns and (3) a preemptive or non-preemptive scheduling policy, Times will generate a scheduler, and calculate the worst case response times for the tasks. The design model may be further validated using a model checker e.g. UPPAAL and then compiled to executable C-code using the Times compiler. In this paper, we present the design and main features of Times including a summary of theoretical results behind the tool. Times can be downloaded at www.timestool.com.

Issues in schedulability analysis of real-time systems

Proceedings Seventh Euromicro Workshop on Real-Time Systems

Due to the critical nature o f r eal-time systems, there is an ever growing burden on the designer to not only guarantee that the tasks would meet their deadlines at design time, but would continue to do so as the system evolves. This implies that the schedulability analysis has to be r obust. In this study we identify the sensitivity of schedulability analysis to the task execution times. The impact, this parameter has on the schedulability analysis is captured by formulating a general scaling problem. This problem is shown to relate to the problems of scalability, portability and execution time estimation. A technique to solve this general problem is developed. A proof of correctness and optimality of the technique is presented.

Static Timing Analysis of Real-Time Operating System Code

Lecture Notes in Computer Science, 2006

Methods for Worst-Case Execution Time (WCET) analysis have been known for some time, and recently commercial tools have emerged. However, the technique has so far not been much used to analyse real production codes. Here, we present a case study where static WCET analysis was used to find upper time bounds for time-critical regions in a commercial real-time operating system. The purpose was not primarily to test the accuracy of the estimates, but rather to investigate the practical difficulties that arise when applying the current WCET analysis methods to this particular kind of code. In particular, we were interested in how labor-intense the analysis becomes, measured by the number of annotations to explicitly constrain the program flow which is necessary to perform the analysis. We also make some qualitative observations regarding what a WCET analysis method would need in order to perform a both convenient and tight analysis of typical operating systems code. In a second set of experiments, we analyzed some standard WCET benchmark codes compiled with different levels of optimization. The purpose of this study was to see how the different compiler optimizations affected the precision of the analysis, and again whether it affected the level of user intervention necessary to obtain an accurate WCET estimate.

Analysis of window-constrained execution time systems

Real-Time Systems, 2006

Feasibilitytestsforhardreal-timesystemsprovideinformationaboutthe schedulabilityofthetaskset.However,thisinformationisayesoranoanswer,that is,whetherthetasksetachievesthetestornot.Fromthereal-timesystemdesignpoint ofview,havingmoreinformationavailablewouldbeuseful.Forexample,howmuch thecomputationtimecanvarywithoutjeopardisingthesystemfeasibility.Thiswork specificallyprovidesmethodstodetermineoff-linehowmuchataskcanincrease itscomputationtime,bymaintainingthesystemfeasibilityunderadynamicpriority scheduling.Theextratimecanbedeterminednotonlyinallthetaskactivations, butinnofawindowofminvocations.Thisiswhatwecallawindow-constrained executiontimesystem.Theresultspresentedinthisworkcanbeusedinallkinds ofreal-timesystems:faulttolerancemanagement,imprecisecomputation,overrun handling,controlapplications,etc. Acknowledgments ThisworkhasbeenpartiallysupportedbyFRESCOR(FrameworkforReal-timeEmbedded SystemsbasedonCOntRACTS)projectFP6/2005/IST/5-034026),andbytheSpanish