## Parametric Timing Estimation With Newton-Gregory Formulae ∗

Citations: | 2 - 0 self |

### BibTeX

@MISC{Engelen_parametrictiming,

author = {Robert Van Engelen and Kyle Gallivan and Burt Walsh},

title = {Parametric Timing Estimation With Newton-Gregory Formulae ∗},

year = {}

}

### OpenURL

### Abstract

To determine safe and tight worst-case execution time (WCET) estimates of scientific and multimedia codes that spent most of the execution time on executing loop iterations, efficient and accurate loop iteration count estimation methods are required. To support dynamic scheduling decisions based on WCET estimations, an effective loop iteration count estimation method should generate parametric formulae that can be evaluated at runtime. Therefore, the loop iteration count estimation methods utilized for WCET estimation must be effective in analyzing loops with symbolic bounds, non-rectangular loops, zero-trip loops, loops with multiple critical paths, and loops with non-unit strides. In this paper we present a novel approach to parametric WCET estimation to handle loops with both affine and nonaffine loop bounds in an efficent manner using a formulation based on Newton-Gregory interpolating polynomials. 1 Introduction and Related Work Static worst-case execution of time (WCET) estimates are used in real-time system scheduling and dynamic

### Citations

2894 | Scheduling algorithms for multiprogramming in a hard-realtime environment
- Liu, Layland
- 1973
(Show Context)
Citation Context ...CET estimates are used to determine a static schedule for a task based on timing constraints. WCET estimates are also used to determine if a dynamic schedule, such as an earliest deadline first (EDF) =-=[22]-=- schedule, will meet its schedulability requirements. In DVS methods, WCET estimates are used to ensure that a task, or group of tasks, can run as slow as possible, thus saving energy, while still mee... |

1270 |
Combinatorial Optimization: Algorithms and Complexity
- Papadimitriou, Steiglitz
- 1982
(Show Context)
Citation Context ...rogram functional constraints (loop bounds, path information) which might be determined by analysis or provided by a user. Most IPET systems use integer linear programming (ILP), which is NP-complete =-=[25]-=-, to solve the resulting system. The WCET estimate, which is the objective function of such systems, is the sum of the products of the cost of a basic block and the number of times the block is execut... |

533 | Concrete Mathematics
- Graham, Knuth, et al.
- 1994
(Show Context)
Citation Context ... manipulate max bounds with summations, unit step functions [13] are used. Unit step functions are based on truth-functions, attributed to Kenneth Iverson who introduced the notation in APL (see also =-=[11]-=- p.24 and [32]). Other methods such as conditional expressions are also applicable. However, unit functions appear to be particularly effective as shown below. Definition 2.7 The unit step function µ ... |

381 | Real-time dynamic voltage scaling for low-power embedded operating systems
- Pillai, Shin
(Show Context)
Citation Context ...on-Gregory interpolating polynomials. 1 Introduction and Related Work Static worst-case execution of time (WCET) estimates are used in real-time system scheduling and dynamic voltage scheduling (DVS) =-=[27]-=- [18] [33] [34]. In real-time scheduling, WCET estimates are used to determine a static schedule for a task based on timing constraints. WCET estimates are also used to determine if a dynamic schedule... |

170 | Performance Analysis of Embedded Software Using Implicit Path Enumeration
- LI, MALIK
- 1995
(Show Context)
Citation Context ... complex of these methods [17] can handle non-rectangular and parametric loops but requires a constant bound for the outer most loop of a loop nest. The Implicit Path Enumeration Technique (IPET) [9] =-=[19]-=- [20] based methods compute the WCET estimate based upon a system of program structural constraints (control flow graph) and program functional constraints (loop bounds, path information) which might ... |

170 | Power conscious fixed priority scheduling for hard real-time systems
- Shin, Choi
- 1999
(Show Context)
Citation Context ...rpolating polynomials. 1 Introduction and Related Work Static worst-case execution of time (WCET) estimates are used in real-time system scheduling and dynamic voltage scheduling (DVS) [27] [18] [33] =-=[34]-=-. In real-time scheduling, WCET estimates are used to determine a static schedule for a task based on timing constraints. WCET estimates are also used to determine if a dynamic schedule, such as an ea... |

122 |
Predicting Program Execution Times by Analyzing Static and Dynamic
- Park
- 1993
(Show Context)
Citation Context ... the cost of the execution of the loop body. More specifically, the WCET calculation methods differ mostly in how loop bounds are formulated and execution path analysis is applied. Tree-based methods =-=[26]-=- [21] compute the cost of a simple loop by using a formula representing the loop cost as a sum of the cost of its loop body over the loops iterations. This method can incorporate cache and pipeline af... |

110 | Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software
- Li, Malik, et al.
- 1995
(Show Context)
Citation Context ...lex of these methods [17] can handle non-rectangular and parametric loops but requires a constant bound for the outer most loop of a loop nest. The Implicit Path Enumeration Technique (IPET) [9] [19] =-=[20]-=- based methods compute the WCET estimate based upon a system of program structural constraints (control flow graph) and program functional constraints (loop bounds, path information) which might be de... |

105 | Symbolic analysis for parallelizing compilers
- Haghighat
- 1996
(Show Context)
Citation Context ...n (7) To incorporate the constraint n ≥ 0 on the number of loop iterations n, the sum [Σp(i)] max(0,n) is used (see also Definition 2.3). To manipulate max bounds with summations, unit step functions =-=[13]-=- are used. Unit step functions are based on truth-functions, attributed to Kenneth Iverson who introduced the notation in APL (see also [11] p.24 and [32]). Other methods such as conditional expressio... |

105 | Bounding pipeline and instruction cache performance
- HEALY, ARNOLD, et al.
- 1999
(Show Context)
Citation Context ...hod can incorporate cache and pipeline affects, but requires user annotations specifying path information and maximum loop counts; these methods can not determine infeasible paths. Path-based methods =-=[16]-=- [36] [24] [2] [17] determine the most expensive path in a program by using abstract interpretation or symbolic execution. This execution can potentially determine loop bounds, infeasible paths and ca... |

99 | An accurate worst case timing analysis for RISC processors
- Lim, Bae, et al.
- 1995
(Show Context)
Citation Context ...cost of the execution of the loop body. More specifically, the WCET calculation methods differ mostly in how loop bounds are formulated and execution path analysis is applied. Tree-based methods [26] =-=[21]-=- compute the cost of a simple loop by using a formula representing the loop cost as a sum of the cost of its loop body over the loops iterations. This method can incorporate cache and pipeline affects... |

97 | Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: Applications to analyze and transform scientific programs
- Clauss
- 1996
(Show Context)
Citation Context ... a general function, which can be expressed as a general Presburger formula, over a nested loop. He also has a method for putting the problem in a disjunctive normal form using the Omega test. Clauss =-=[8]-=- uses Ehrhart polynomials to generate an enumerator which represents the number of points inside of a convex polyhedra. Clauss uses Loechner’s [23] technique for determining the vertices of a polyhedr... |

83 | Counting solutions to Presburger formulas: how and why
- Pugh
- 1994
(Show Context)
Citation Context ...e bound. For loops with strides he evaluates the bound as a floor operator and replaces this expression with an expression involving a mod operator. This results in all of the accuracy of splintering =-=[28]-=- the sum without the complexity. However, when multiple loops use non-unit strides a closed-form parametric formula cannot be derived. Pugh [28] uses Presburger formula, the Omega test [29] and standa... |

82 |
Compiler analysis of the value ranges for variables
- Harrison
- 1977
(Show Context)
Citation Context ...bound of E, respectively. The value range of an expression is derived by the application of rules such as L(E1+E2) = L(E1) + L(E2). Rules for arithmetic operators are mostly straightforward, see e.g. =-=[6, 10, 15, 13, 30]-=-. The range of values of a symbolic expression evaluated on an interval is of particular interest. In general, the tightness of a range analyzer is dependent on how the analyzed expression is formed [... |

80 |
Run-time voltage hopping for low-power real-time systems
- Lee, Sakurai
- 2000
(Show Context)
Citation Context ...egory interpolating polynomials. 1 Introduction and Related Work Static worst-case execution of time (WCET) estimates are used in real-time system scheduling and dynamic voltage scheduling (DVS) [27] =-=[18]-=- [33] [34]. In real-time scheduling, WCET estimates are used to determine a static schedule for a task based on timing constraints. WCET estimates are also used to determine if a dynamic schedule, suc... |

73 | Eliminating false data dependences using the omega test - Pugh, Wonnacott - 1992 |

70 |
Computer Methods for the Range of Functions
- Ratschek, Rokne
- 1984
(Show Context)
Citation Context ...bound of E, respectively. The value range of an expression is derived by the application of rules such as L(E1+E2) = L(E1) + L(E2). Rules for arithmetic operators are mostly straightforward, see e.g. =-=[6, 10, 15, 13, 30]-=-. The range of values of a symbolic expression evaluated on an interval is of particular interest. In general, the tightness of a range analyzer is dependent on how the analyzed expression is formed [... |

58 | On the false path problem in hard realtime programs
- Altenbernd
- 1996
(Show Context)
Citation Context ...rate cache and pipeline affects, but requires user annotations specifying path information and maximum loop counts; these methods can not determine infeasible paths. Path-based methods [16] [36] [24] =-=[2]-=- [17] determine the most expensive path in a program by using abstract interpretation or symbolic execution. This execution can potentially determine loop bounds, infeasible paths and can support cach... |

45 | Low-energy intra-task voltage scheduling using static timing analysis - Shin, Kim, et al. |

42 | Parameterized polyhedra and their vertices
- Loechner, Wilde
- 1997
(Show Context)
Citation Context ... disjunctive normal form using the Omega test. Clauss [8] uses Ehrhart polynomials to generate an enumerator which represents the number of points inside of a convex polyhedra. Clauss uses Loechner’s =-=[23]-=- technique for determining the vertices of a polyhedra. This vertex enumeration method can result in polyhedra splitting like the technique of Tawbi [37]. The method then determines an Ehrhart polynom... |

40 | Integrating path and timing analysis using instruction-level simulation techniques
- Lundqvist, Stenström
- 1998
(Show Context)
Citation Context ...corporate cache and pipeline affects, but requires user annotations specifying path information and maximum loop counts; these methods can not determine infeasible paths. Path-based methods [16] [36] =-=[24]-=- [2] [17] determine the most expensive path in a program by using abstract interpretation or symbolic execution. This execution can potentially determine loop bounds, infeasible paths and can support ... |

39 | Parametric Timing Analysis
- Vivancos, Healy, et al.
- 2001
(Show Context)
Citation Context ...em. The WCET estimate, which is the objective function of such systems, is the sum of the products of the cost of a basic block and the number of times the block is executed. Parametric WCET analysis =-=[38]-=- [5] generates formulae which represent the cost of executing code. These parametric formula can be evaluated at runtime when the values of their parameters are known. The parametric methods are often... |

36 | Symbolic analysis: a basis for parallelization, optimization, and scheduling of programs
- Haghighat, Polychronopoulos
- 1993
(Show Context)
Citation Context ...h as i > c, then loop timing analysis can be applied by splitting the loop into partitioned loops which can be separately analyzed. Such an approach is used by Sakellariou [32], Bik [4] and Haghighat =-=[14]-=- for partitioning loops with affine bounds. For example the above loop could be represented as follows: for i = max(a, c + 1) to b step s do S1 for i = a to min(b, c) step s do S2 The number of iterat... |

35 | Worst-case execution-time analysis for embedded real-time systems - Engblom, Ermedahl, et al. - 2001 |

35 | Symbolic program analysis and optimization for parallelizing compilers
- Haghighat, Polychronopoulos
- 1992
(Show Context)
Citation Context ...techniques exist to count the number of points in a polyhedron to determine the size of the iteration space of a nested loop. The current techniques differ mostly in complexity and accuracy. Haghihat =-=[12]-=- evaluates nested sums with affine bounds by relying on a compiler with the capacity to recognized generalized induction variables (GIVs). The main concern of his work is accurately summing loops that... |

34 | Engelen. Supporting Timing Analysis by Automatic Bounding of Loop Iterations
- Healy, Sjödin, et al.
(Show Context)
Citation Context ... a division between methods which model low-level code behavior using cache models and pipeline models, and methods which are used to estimate the number of iterations of a loop nest, see for example =-=[17]-=- for an overview. In general, most ∗ Supported in part by NSF grants CCR-0105422, CCR-0208892, EIA-0072043, and DOE grant DEFG02-02ER25543.sanalysis methods loosely couple the loop iteration count est... |

27 | Efficient symbolic analysis for parallelizing compilers and performance estimators
- Fahringer
- 1998
(Show Context)
Citation Context ...bound of E, respectively. The value range of an expression is derived by the application of rules such as L(E1+E2) = L(E1) + L(E2). Rules for arithmetic operators are mostly straightforward, see e.g. =-=[6, 10, 15, 13, 30]-=-. The range of values of a symbolic expression evaluated on an interval is of particular interest. In general, the tightness of a range analyzer is dependent on how the analyzed expression is formed [... |

27 | Simplification and optimization transformation of chains of recurrences
- Zima
- 1995
(Show Context)
Citation Context .... It is noteworthy to mention that the coefficients of the Chains of Recurrences (CR) pure-sum representation of a polynomial are equivalent to the coefficients of the Newton series of the polynomial =-=[3, 40]-=-. Therefore, the CR algebra construction rules for polynomials can be applied to e.g. the Horner form of the polynomial. However, a more efficient construction method exists that is based on Newton’s ... |

24 | Efficient longest executable path search for programs with complex flows and pipeline effects
- Stappert, Ermedahl, et al.
- 2001
(Show Context)
Citation Context ...an incorporate cache and pipeline affects, but requires user annotations specifying path information and maximum loop counts; these methods can not determine infeasible paths. Path-based methods [16] =-=[36]-=- [24] [2] [17] determine the most expensive path in a program by using abstract interpretation or symbolic execution. This execution can potentially determine loop bounds, infeasible paths and can sup... |

22 | Demand-driven, symbolic range propagation
- Blume, Eigenmann
- 1995
(Show Context)
Citation Context |

21 |
Chains of recurrences
- Bachmann
- 1997
(Show Context)
Citation Context .... It is noteworthy to mention that the coefficients of the Chains of Recurrences (CR) pure-sum representation of a polynomial are equivalent to the coefficients of the Newton series of the polynomial =-=[3, 40]-=-. Therefore, the CR algebra construction rules for polynomials can be applied to e.g. the Horner form of the polynomial. However, a more efficient construction method exists that is based on Newton’s ... |

20 |
Estimation of Nested Loops execution time by Integer Arithmetic
- Tawbi
- 1994
(Show Context)
Citation Context ... value function is used to guard against summing up zero trip loops. The use of the truth value function can result in min and max operators in the resulting closed form expression for the sum. Tawbi =-=[37]-=- uses Bernoulli’s formula to evaluate nested sums. She applies polyhedra splitting to ensure that points in the polyhedra are not counted twice. Only affine bounds are handled. Sums of loops involving... |

17 | On the Quest for Perfect Load Balance in Loop-Based Parallel Computations
- Sakellariou
- 1996
(Show Context)
Citation Context ... the polyhedra are not counted twice. Only affine bounds are handled. Sums of loops involving strides are evaluated by taking an average of the ceiling and floor of the stride expression. Sakellariou =-=[31]-=- also uses Bernoulli formulas and other algebraic rules to evaluate nested sums. His algorithm generates parametric formulas involving min and max bounds when the index of the innermost sum appears in... |

8 | Worst-case timing analysis via finding longest paths in SPARK Ada basic-path graphs
- Chapman
- 1994
(Show Context)
Citation Context ... the values of their parameters are known. The parametric methods are often based upon the latter types of calculation methods. Vivancos [38] uses the path analysis of Healy [16]. The work of Chapman =-=[7]-=- uses symbolic execution of the program and user annotations for to describe code structure. Lisper [5] uses a symbolic IPET approach for calculation. With respect to loop iteration count estimation m... |

8 | Symbolic Evaluation of Sums for Parallelising Compilers
- Sakellariou
- 1997
(Show Context)
Citation Context ...loops, symbolic loop bounds, zero-trip loops, and loops with non-unit strides. Lastly, the method supports more general type of codes than methods based upon other current parametric counting methods =-=[32]-=- [28] [12] [8], because the WCET estimation method allows for certain forms of polynomial loop bounds. The remainder of this paper is organized as follows. Section 2 introduces loop timing estimation ... |

6 |
Interval arithmetic tools for range approximation and inclusion of zeros
- ALEFELD
- 1999
(Show Context)
Citation Context ..., pk]i will be used interchangeably throughout this paper. 6sInput: p[0 : k] Output: φ[0 : k] Declare array m[0 : k] of integer for j = 0 to k do φ[j] := 0 m[j] := 0 enddo φ[0] := p[0] if k > 0 then φ=-=[1]-=- := p[1] m[1] := 1 for i = 2 to k do for j = i to 1 step −1 do m[j] := j * (m[j − 1] + m[j]) φ[j] += m[j] * p[i] enddo enddo endif Input: φ[0 : k] Output: p[0 : k] Declare array m[0 : k] of rational f... |

3 | Parametric intra-task dynamic voltage scheduling
- Walsh, Engelen, et al.
(Show Context)
Citation Context ...ility requirements. In DVS methods, WCET estimates are used to ensure that a task, or group of tasks, can run as slow as possible, thus saving energy, while still meeting the required target deadline =-=[39]-=-. To determine a tight WCET on a task based on the static analysis of the task’s code is difficult, because the tightness of a WCET estimate is dependent upon high-level and low-level factors. High-le... |

2 |
Iteration Space Partitioning
- Bik, Wijshoff
- 1996
(Show Context)
Citation Context ...is a condition such as i > c, then loop timing analysis can be applied by splitting the loop into partitioned loops which can be separately analyzed. Such an approach is used by Sakellariou [32], Bik =-=[4]-=- and Haghighat [14] for partitioning loops with affine bounds. For example the above loop could be represented as follows: for i = max(a, c + 1) to b step s do S1 for i = a to min(b, c) step s do S2 T... |

1 |
Fully automatic, parametric worst-case execution time analysis
- Bjorn
- 2003
(Show Context)
Citation Context ...he WCET estimate, which is the objective function of such systems, is the sum of the products of the cost of a basic block and the number of times the block is executed. Parametric WCET analysis [38] =-=[5]-=- generates formulae which represent the cost of executing code. These parametric formula can be evaluated at runtime when the values of their parameters are known. The parametric methods are often bas... |

1 |
TMS320C54x Reference Set
- SPRU172C
- 2001
(Show Context)
Citation Context ...tatements 2 to 4 and the second path spans statements 2 and 6 to 8. Figure 6 shows the CFG of the Test Code. This example test code was analyzed using instruction counts from the DSP reference manual =-=[35]-=- to obtain the cycle counts of individual instructions for our parametric timing technique. The following times were produced for the various parts of the test code. ω(H1(0)) ≤ 11 ω(H1(i + 1)) ≤ 9 ω(C... |