Results 1 - 10
of
82
A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints
- Real-Time Systems
, 1998
"... This paper contrasts two methods to verify timing constraints of real-time applications. The method of static analysis predicts the worst-case and best-case execution times of a task's code by analyzing execution paths and simulating processor characteristics without ever executing the program or re ..."
Abstract
-
Cited by 75 (30 self)
- Add to MetaCart
This paper contrasts two methods to verify timing constraints of real-time applications. The method of static analysis predicts the worst-case and best-case execution times of a task's code by analyzing execution paths and simulating processor characteristics without ever executing the program or requiring the program's input. Evolutionary testing is an iterative testing procedure, which approximates the extreme execution times within several generations. By executing the test object dynamically and measuring the execution times the inputs are guided yielding gradually tighter predictions of the extreme execution times. We examined both approaches on a number of real world examples. The results show that static analysis and evolutionary testing are complementary methods, which together provide upper and lower bounds for both worst-case and best-case execution times. 1. Introduction For real-time systems the correct system functionality depends on their logical correctness as well as o...
Timing Analysis for Instruction Caches
- REAL-TIME SYSTEMS
, 2000
"... This paper contributes a comprehensive study of a framework to bound worst-case instruction cache performance for caches with arbitrary levels of associativity. The framework is formally introduced, operationally described and its correctness is shown. Results of incorporating instruction cache pred ..."
Abstract
-
Cited by 55 (22 self)
- Add to MetaCart
This paper contributes a comprehensive study of a framework to bound worst-case instruction cache performance for caches with arbitrary levels of associativity. The framework is formally introduced, operationally described and its correctness is shown. Results of incorporating instruction cache predictions within pipeline simulation show that timing predictions for set-associative caches remain just as tight as predictions for direct-mapped caches. The low cache simulation overhead allows interactive use of the analysis tool and scales well with increasing associativity. The approach taken is based on a data-ow specication of the problem and provides another step toward worst-case execution time prediction of contemporary architectures and its use in schedulability analysis for hard real-time systems.
Modeling Complex Flows for Worst-Case Execution Time Analysis
, 2000
"... Knowing the Worst-Case Execution Time (WCET) of a program is necessary when designing and verifying real-time systems. The WCET depends both on the program ow (like loop iterations and function calls), and on hardware factors like caches and pipelines. ..."
Abstract
-
Cited by 55 (7 self)
- Add to MetaCart
Knowing the Worst-Case Execution Time (WCET) of a program is necessary when designing and verifying real-time systems. The WCET depends both on the program ow (like loop iterations and function calls), and on hardware factors like caches and pipelines.
Virtual Simple Architecture (VISA): Exceeding the Complexity Limit in Safe Real-Time Systems
- In International Symposium on Computer Architecture
, 2003
"... Meeting deadlines is a key requirement in safe realtime systems. Worst-case execution times (WCET) of tasks are needed for safe planning. Contemporary worst-case timing analysis tools can safely and tightly bound execution time on in-order single-issue pipelines with caches and static branch predict ..."
Abstract
-
Cited by 36 (13 self)
- Add to MetaCart
Meeting deadlines is a key requirement in safe realtime systems. Worst-case execution times (WCET) of tasks are needed for safe planning. Contemporary worst-case timing analysis tools can safely and tightly bound execution time on in-order single-issue pipelines with caches and static branch prediction. However, this simple pipeline appears to be a complexity limit, due to the need for analyzability. This excludes a whole class of high-performance processors from many embedded systems.
FAST: Frequency-Aware Static Timing Analysis
- IN IEEE REAL-TIME SYSTEMS SYMPOSIUM
, 2003
"... Power is a valuable resource in embedded systems as the lifetime of many such systems is constrained by their battery capacity. Recent advances in processor design have added support for dynamic frequency/voltage scaling (DVS) for saving power. Recent work on real-time scheduling focuses on saving p ..."
Abstract
-
Cited by 36 (5 self)
- Add to MetaCart
Power is a valuable resource in embedded systems as the lifetime of many such systems is constrained by their battery capacity. Recent advances in processor design have added support for dynamic frequency/voltage scaling (DVS) for saving power. Recent work on real-time scheduling focuses on saving power in static as well as dynamic scheduling environments by exploiting idle and slack due to early task completion for DVS of subsequent tasks. These scheduling algorithms rely on a priori knowledge of worst-case execution times (WCET) for each task. They assume that DVS has no effect on the worst-case execution cycles (WCEC) of a task and scale the WCET according to the processor frequency. However, for systems with memory hierarchies, the WCEC typically does change under DVS due to frequency modulation. Hence, current assumptions used by DVS schemes result in a highly exaggerated WCET.
Fully Automatic, Parametric Worst-Case Execution Time Analysis
- In Workshop on Worst-Case Execution Time (WCET) Analysis
, 2003
"... Worst-Case Execution Time (WCET) analysis means to compute a safe upper bound to the execution time of a piece of code. Parametric WCET analysis yields symbolic upper bounds: expressions that may contain parameters. These parameters may represent, for instance, values of input parameters to the p ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
Worst-Case Execution Time (WCET) analysis means to compute a safe upper bound to the execution time of a piece of code. Parametric WCET analysis yields symbolic upper bounds: expressions that may contain parameters. These parameters may represent, for instance, values of input parameters to the program, or maximal iteration counts for loops. We describe a technique for fully automatic parametric WCET analysis, which is based on known mathematical methods: an abstract interpretation to calculate parametric constraints on program flow, a symbolic method to count integer points in polyhedra, and a symbolic ILP technique to solve the subsequent IPET calculation of WCET bound. The technique is capable of handling unstructured code, and it can find upper bounds to loop iteration counts automatically.
A Modular and Retargetable Framework for Tree-based WCET Analysis
- In Proc. of the 13th Euromicro Conference on Real-Time Systems
, 2001
"... A fundamental requirement for hard real-time systems is the knowledge of tasks' worst case execution times (WCET). Static worst-case execution time analysis (WCET analysis'), thanks' to the static analysis of a piece of source code, returns an upper bound of the time required to execute it on a give ..."
Abstract
-
Cited by 34 (13 self)
- Add to MetaCart
A fundamental requirement for hard real-time systems is the knowledge of tasks' worst case execution times (WCET). Static worst-case execution time analysis (WCET analysis'), thanks' to the static analysis of a piece of source code, returns an upper bound of the time required to execute it on a given hardware. Taking into account modern architectural features makes it possible to determine tight WCET bounds'. Several mechanisms that use modeling and simulate some architectural feature behaviors' such as instruction cache, branch prediction mechanism and pipeline have been proposed in the literature. These methods' have often been designed independently from each other, which leads' to an integration issue. This paper proposes to forrealize (through data structures) three techniques for static simulation of instruction cache, pipeline and branch prediction in order to gather them in an integrated static WCET analysis 'framework. Performance improvements' due to the integrated approach are also given.
Supporting Timing Analysis by Automatic Bounding of Loop Iterations
- Journal of Real-Time Systems
, 2000
"... . Static timing analyzers, which are used to analyze real-time systems, need to know the minimum and maximum number of iterations associated with each loop in a real-time program so accurate timing predictions can be obtained. This paper describes three complementary methods to support timing analy ..."
Abstract
-
Cited by 32 (5 self)
- Add to MetaCart
. Static timing analyzers, which are used to analyze real-time systems, need to know the minimum and maximum number of iterations associated with each loop in a real-time program so accurate timing predictions can be obtained. This paper describes three complementary methods to support timing analysis by bounding the number of loop iterations. First, an algorithm is presented that determines the minimum and maximum number of iterations of loops with multiple exits. Even when the number of iterations cannot be exactly determined, it is desirable to know the lower and upper iteration bounds. Second, when the number of iterations is dependent on unknown values of variables, the user is asked to provide bounds for these variables. These bounds are used to determine the minimum and maximum number of iterations. Specifying the values of variables is less error prone than specifying the number of loop iterations directly. Finally, a method is given to tightly predict the execution time of in...
An Approach To Symbolic Worst-Case Execution Time Analysis
- In 25th IFAC Workshop on Real-Time Programming
, 2000
"... Using the constant value for the worst case execution time for all calls to a subprogram is safe but pessimistic. We address the problem of tailoring the WCET of each call to a subprogram by building the WCET as an algebraic expression parameterised with some of the subprogram parameters. The WCE ..."
Abstract
-
Cited by 27 (1 self)
- Add to MetaCart
Using the constant value for the worst case execution time for all calls to a subprogram is safe but pessimistic. We address the problem of tailoring the WCET of each call to a subprogram by building the WCET as an algebraic expression parameterised with some of the subprogram parameters. The WCET of each call may then be constrained to particular ranges of values that lead to tighter WCET. The technique relies on the power of computational algebra systems to perform sophisticated simplifications and evaluation of the intermediate expressions. The same approach also allows to obtain tighter estimations of nested loop iterations which may also be tailored for different execution calls. This approach requires the description of the non-functional behaviour of the code with annotations included as specially formatted comments. Copyright c 2000 IFAC Keywords: Real-time, timing-analysis. 1.
Timing Analysis for Data and Wrap-Around Fill Caches
- REAL-TIME SYSTEMS
, 1999
"... The contributions of this paper are twofold. First, an automatic tool-based approach is described to bound worst-case data cache performance. The approach works on fully optimized code, performs the analysis over the entire control flow of a program, detects and exploits both spatial and temporal ..."
Abstract
-
Cited by 26 (13 self)
- Add to MetaCart
The contributions of this paper are twofold. First, an automatic tool-based approach is described to bound worst-case data cache performance. The approach works on fully optimized code, performs the analysis over the entire control flow of a program, detects and exploits both spatial and temporal locality within data references, and produces results typically within a few seconds. Results obtained by running the system on representative programs are presented and indicate that timing analysis of data cache behavior usually results in significantly tighter worstcase performance predictions. Second, a method to deal with realistic cache filling approaches, namely wrap-around-filling for cache misses, is presented as an extension to pipeline analysis. Wrap-around fill analysis is more challenging than traditional cache analysis since the words within a program line are loaded into cache in different cycles according to a predetermined sequence, rather than all at the same time. Results ...

