Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/859618.859659acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
Article

Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems

Published: 01 May 2003 Publication History

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

[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]
T. Austin. DIVA: A reliable substrate for deep submicron microarchitecture design. 32nd Int'l Symp. on Micro., Nov. 1999.
[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]
D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. 27th Int'l Symp. on Comp. Arch., June 2000.
[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]
A. Dean and J. P. Shen. Hardware to software migration with real-time thread integration. EuroMicro Workshop on Digital System Design, August 1998.
[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]
C. A. Healy, R. D. Arnold, F. Mueller, D. Whalley, and M. G. Harmon. Bounding pipeline and instruction cache performance. IEEE Trans. on Computers, 48(1):53--70, Jan. 1999.
[12]
C. A. Healy, D. B. Whalley, and M. G. Harmon. Integrating the timing analysis of pipelining and instruction caching. Real-Time Systems Symposium, pp. 288--297, Dec. 1995.
[13]
C. J. Hughes, J. Srinivasan, and S. V. Adve. Saving Energy with Architectural and Frequency Adaptations for Multimedia Applications. 34th Int'l Symp. on Microarchitecture, Dec. 2001.
[14]
Y. Hur, Y. H. Bae, S.-S. Lim, B.-D. Rhee, S. L. Min, C. Y. Park, M. Lee, H. Shin, and C. S. Kim. Worst case timing analysis of RISC processors: R3000/R3010 case study. Real-Time Systems Symposium, Dec. 1995.
[15]
S. Kim, S. Min, and R. Ha. Efficient worst case timing analysis of data caching. Real-Time Technology and Applications Symposium, June 1996.
[16]
Y.-T. S. Li, S. Malik, and A. Wolfe. Efficient microarchitecture modeling and path analysis for real-time software. Real-Time Systems Symposium, pp. 298--397, Dec. 1995.
[17]
Y.-T. S. Li, S. Malik, and A. Wolfe. Cache modeling for real-time software: Beyond direct mapped instruction caches. Real-Time Systems Symposium, pp. 254--263, Dec. 1996.
[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]
C. Liu and J. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. of the Association for Computing Machinery, 20(1):46--61, Jan. 1973.
[20]
T. Lundqvist and P. Stenstrom. An integrated path and timing analysis method based on cycle-level symbolic execution. Real-Time Systems, 17(2/3):183--208, Nov. 1999.
[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]
F. Mueller. Static Cache Simulation and its Applications. Ph.D. Thesis, Dept. of CS, Florida State Univ., July 1994.
[24]
F. Mueller. Generalizing timing predictions to set-associative caches. EuroMicro Workshop on Real-Time Sys., June 1997.
[25]
F. Mueller. Timing predictions for multi-level caches. ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, pp. 29--36, June 1997.
[26]
F. Mueller. Timing analysis for instruction caches. Real-Time Systems, 18(2/3):209--239, May 2000.
[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]
C. Y. Park. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems, 5(1):31--61, March 1993.
[30]
P. Puschner. Zeitanalyse von Echtzeitprogrammen. Ph.D. Thesis, Dept. of CS, Technical University Vienna, Dec. 1993.
[31]
P. Puschner. Computing maximum task execution times -- a graph-based approach. Real-Time Systems, 9(4), Oct. 1997.
[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]
P. Puschner and C. Koza. Calculating the maximum execution time of real-time programs. Real-Time Systems, 1(2):159--176, Sept. 1989.
[34]
J. Rawat. Static analysis of cache analysis for real-time programming. M. S. Thesis, Iowa State Univ., 1995.
[35]
E. Rotenberg. Using Variable-MHz Microprocessors to Efficiently Handle Uncertainty in Real-Time Systems. 34th International Symposium on Microarchitecture, December 2001.
[36]
H. Theiling and C. Ferdinand. Combining abstract interpretation and ilp for microarchitecture modelling and program path analysis. Real-Time Systems Symposium, Dec. 1998.
[37]
D. Tullsen, S. Eggers, and H. Levy. Simultaneous Multithreading: Maximizing On-Chip Parallelism. 22nd Int'l Symp. on Computer Architecture, June 1995.
[38]
J. Wegener and F. Mueller. A comparison of static analysis and evolutionary testing for the verification of timing constraints. Real-Time Systems, 21(3):241--268, Nov. 2001.
[39]
R. White, F. Mueller, C. Healy, D. Whalley, and M. Harmon. Timing analysis for data caches and set-associative caches. Real-Time Technology and Applications Symposium, June 1997.
[40]
R. T. White, F. Mueller, C. Healy, D. Whalley, and M. G. Harmon. Timing analysis for data and wrap-around fill caches. Real-Time Systems, 17(2/3):209--233, Nov. 1999.
[41]
W. Yamamoto and M. Nemirovsky. Increasing Superscalar Performance through Multistreaming. Parallel Architectures and Compilation Techniques, June 1995.
[42]
N. Zhang, A. Burns, and M. Nicholson. Pipelined processors and worst case execution times. Real-Time Systems, 5(4):319--343, Oct. 1993.
[43]
http://developer.intel.com/design/intelxscale/benchmarks.htm
[44]
"C-lab: WCET Benchmarks," http://www.c-lab.de/home/en/download.html.

Cited By

View all
  1. Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ISCA '03: Proceedings of the 30th annual international symposium on Computer architecture
      June 2003
      432 pages
      ISBN:0769519458
      DOI:10.1145/859618
      • Conference Chair:
      • Allan Gottlieb,
      • Program Chair:
      • Kai Li
      • cover image ACM SIGARCH Computer Architecture News
        ACM SIGARCH Computer Architecture News  Volume 31, Issue 2
        ISCA 2003
        May 2003
        422 pages
        ISSN:0163-5964
        DOI:10.1145/871656
        Issue’s Table of Contents

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 May 2003

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Article

      Conference

      ISCA03
      Sponsor:
      ISCA03: International Symposium on Computer Architecture
      June 9 - 11, 2003
      California, San Diego

      Acceptance Rates

      ISCA '03 Paper Acceptance Rate 36 of 184 submissions, 20%;
      Overall Acceptance Rate 543 of 3,203 submissions, 17%

      Upcoming Conference

      ISCA '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)6
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 21 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2017)SPACEIEEE Transactions on Computers10.1109/TC.2016.260877566:4(717-730)Online publication date: 1-Apr-2017
      • (2015)Don't race the memory bus: taming the GC leadfootACM SIGPLAN Notices10.1145/2887746.275418250:11(15-27)Online publication date: 14-Jun-2015
      • (2015)Don't race the memory bus: taming the GC leadfootProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754182(15-27)Online publication date: 14-Jun-2015
      • (2013)StreaMorphProceedings of the Eleventh ACM International Conference on Embedded Software10.5555/2555754.2555774(1-10)Online publication date: 29-Sep-2013
      • (2011)Exploiting intra-task slack time of load operations for DVFS in hard real-time multi-core systemsACM SIGBED Review10.1145/2038617.20386248:3(32-35)Online publication date: 1-Sep-2011
      • (2011)Parametric timing analysis and its application to dynamic voltage scalingACM Transactions on Embedded Computing Systems10.1145/1880050.188006110:2(1-34)Online publication date: 7-Jan-2011
      • (2010)Extension of Superblock Technique to Hyperblock Using Predicate Hierarchy GraphContemporary Computing10.1007/978-3-642-14825-5_19(217-229)Online publication date: 2010
      • (2010)Multi-core Systems on ChipHandbook of Signal Processing Systems10.1007/978-1-4419-6345-1_18(485-514)Online publication date: 16-Jul-2010
      • (2009)Time-predictable computer architectureEURASIP Journal on Embedded Systems10.1155/2009/7584802009(1-17)Online publication date: 1-Jan-2009
      • (2009)Power-Aware Bus Coscheduling for Periodic Realtime Applications Running on Multiprocessor SoCTransactions on High-Performance Embedded Architectures and Compilers II10.1007/978-3-642-00904-4_15(286-306)Online publication date: 22-Apr-2009
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media