|
ABSTRACT
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.We reconcile the complexity/safety trade-off by decoupling worst-case timing analysis from the processor implementation, through a virtual simple architecture (VISA). A VISA is the timing specification of a hypothetical simple pipeline and is the basis for worst-case timing analysis. However, the underlying microarchitecture can be arbitrarily complex. A task is divided into multiple sub-tasks which provide a means to gauge progress on the complex pipeline. Each sub-task is assigned an interim deadline, or checkpoint, based on the latest allowable completion time of the sub-task on the hypothetical simple pipeline. If no checkpoints are missed, then the complex pipeline is as timely as the safe pipeline. If a checkpoint is missed, the pipeline switches to a simple mode of operation that directly implements the VISA so that execution time of unfinished sub-tasks is safely bounded. The significance of our approach is that we circumvent worst-case timing analysis of the complex pipeline, by dynamically confirming its behavior is bounded by worst-case timing analysis of a simpler proxy pipeline.The benefit of using a high-performance processor is that tasks finish much sooner than they would have on an explicitly-safe processor. The new slack in the schedule can be exploited for higher throughput or lower power. With the VISA approach, an arbitrarily complex SMT processor can safely run non-real-time tasks at the same time as a real-time task. Alternatively, frequency/voltage can be safely lowered to take up slack. We explore the latter application and show a VISA-compliant complex pipeline consumes 43--61% less power than an explicitly-safe pipeline.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. Arnold. Bounding instruction cache performance. M. S. Thesis, Dept. of CS, Florida State Univ., Dec. 1996.
|
| |
2
|
R. Arnold, F. Mueller, D. B. Whalley, and M. Harmon. Bounding worst-case instruction cache performance. Real-Time Systems Symp., Dec. 1994.
|
| |
3
|
|
| |
4
|
I. Bate, P. Conmy, T. Kelly, and J. McDermid. Use of modern processors in safety critical applications. The Computer Journal, 44(6):531--543, 2001.
|
 |
5
|
|
| |
6
|
D. Burger, T. Austin, and S. Bennett. Evaluating future microprocessors: The simplescalar toolset. Tech. Rep. CS-TR-96-1308, CS Dept., Univ. of Wisc. - Madison, July 1996.
|
| |
7
|
|
| |
8
|
J. Engblom. On hardware and hardware models for embedded real-time systems. IEEE Workshop on Real-Time Embedded Systems, Dec. 2001.
|
| |
9
|
T. Hand. Real-time systems need predictability. Computer Design (RISC Supplement), pp. 57--59, Aug. 1989.
|
| |
10
|
M. Harmon, T. P. Baker, and D. B. Whalley. A retargetable technique for predicting execution time. Real-Time Systems Symp., Dec. 1992.
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
Yerang Hur , Young Hyun Bae , Sung-Soo Lim , Sung-Kwan Kim , Byung-Do Rhee , Sang Lyul Min , Chang Yun Park , Minsuk Lee , Heonshik Shin , Chong Sang Kim, Worst case timing analysis of RISC processors: R3000/R3010 case study, Proceedings of the 16th IEEE Real-Time Systems Symposium (RTSS '95), p.308, December 05-07, 1995
|
| |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
S.-S. Lim, Y. H. Bae, G. T. Jang, B.-D. Rhee, S. L. Min, C. Y. Park, H. Shin, and C. S. Kim. An accurate worst case timing analysis for RISC processors. Real-Time Sys. Symp., Dec. 1994.
|
 |
19
|
|
| |
20
|
|
| |
21
|
S. McFarling. Combining branch predictors. Technical Report TN-36, WRL, June 1993.
|
| |
22
|
T. Mitra and A. Roychoudhury. A Framework to Model Branch Prediction for WCET Analysis. 2nd Workshop on Worst Case Execution Time Analysis (WCET), June 2002.
|
| |
23
|
|
| |
24
|
F. Mueller. Generalizing timing predictions to set-associative caches. EuroMicro Workshop on Real-Time Sys., June 1997.
|
 |
25
|
|
| |
26
|
|
| |
27
|
F. Mueller, D. B. Whalley, and M. Harmon. Predicting instruction cache behavior. ACM Workshop on Language, Compiler, and Tool Support for Real-Time Systems, June 1994.
|
| |
28
|
D. Niehaus, E. Nahum, J. Stankovic, and K. Ramamritham. Architecture and O/S support for predictable real-time systems. Spring internal document, March 1992.
|
| |
29
|
|
| |
30
|
P. Puschner. Zeitanalyse von Echtzeitprogrammen. Ph.D. Thesis, Dept. of CS, Technical University Vienna, Dec. 1993.
|
| |
31
|
|
| |
32
|
P. Puschner. Is worst-case execution-time analysis a nonproblem? --- towards new software and hardware architectures. 2nd EuroMicro Int'l Workshop on WCET Analysis, June 2002.
|
| |
33
|
|
| |
34
|
J. Rawat. Static analysis of cache analysis for real-time programming. M. S. Thesis, Iowa State Univ., 1995.
|
| |
35
|
|
| |
36
|
|
 |
37
|
|
| |
38
|
|
| |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
|
| |
44
|
"C-lab: WCET Benchmarks," http://www.c-lab.de/home/en/download.html.
|
CITED BY 11
|
|
|
|
|
|
|
|
Francisco J. Cazorla , Peter M. W. Knijnenburg , Rizos Sakellariou , Enrique Fernández , Alex Ramirez , Mateo Valero, Architectural support for real-time task scheduling in SMT processors, Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, September 24-27, 2005, San Francisco, California, USA
|
|
|
Ali El-Haj-Mahmoud , Ahmed S. AL-Zawawi , Aravindh Anantaraman , Eric Rotenberg, Virtual multiprocessor: an analyzable, high-performance architecture for real-time computing, Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, September 24-27, 2005, San Francisco, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
Reinhard Wilhelm , Jakob Engblom , Andreas Ermedahl , Niklas Holsti , Stephan Thesing , David Whalley , Guillem Bernat , Christian Ferdinand , Reinhold Heckmann , Tulika Mitra , Frank Mueller , Isabelle Puaut , Peter Puschner , Jan Staschulat , Per Stenström, The worst-case execution-time problem—overview of methods and survey of tools, ACM Transactions on Embedded Computing Systems (TECS), v.7 n.3, p.1-53, April 2008
|
|
|
Ben Lickly , Isaac Liu , Sungjun Kim , Hiren D. Patel , Stephen A. Edwards , Edward A. Lee, Predictable programming on a precision timed architecture, Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, October 19-24, 2008, Atlanta, GA, USA
|
|
|
|
|
|
|
|