Title :
Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems
Author :
Anantaraman, Aravindh ; Seth, Kiran ; Patil, Kaustubh ; Rotenberg, Eric ; Mueller, Frank
Author_Institution :
ECE Dept., North Carolina State Univ., Raleigh, NC, USA
Abstract :
Meeting deadlines is a key requirement in safe real-time 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 subtasks which provide a means to gauge progress on the complex pipeline. Each subtask is assigned an interim deadline, or checkpoint, based on the latest allowable completion time of the subtask 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 subtasks 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 SMTprocessor can safely run nonreal-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.
Keywords :
computational complexity; parallel architectures; performance evaluation; pipeline processing; real-time systems; SMT processor; VISA; WCET; hypothetical simple pipeline; microarchitecture; safe planning; safe real-time system; static branch prediction; virtual simple architecture; worst-case execution time; Embedded system; Frequency; Microarchitecture; Pipelines; Processor scheduling; Real time systems; Safety; Switches; Throughput; Timing;
Conference_Titel :
Computer Architecture, 2003. Proceedings. 30th Annual International Symposium on
Print_ISBN :
0-7695-1945-8
DOI :
10.1109/ISCA.2003.1207013