Statically Safe Speculative Execution for Real-Time Systems

  • Authors:
  • Mohamed F. Younis;Thomas J. Marlowe;Alexander D. Stoyen;Grace Tsai

  • Affiliations:
  • AlliedSignal Inc., Columbia, MD;Seton Hall Univ., South Orange, NJ;Univ. of Nebraska at Omaha, Omaha;Fairleigh Dickinson Univ., Teaneck, NJ

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Deterministic worst-case execution for satisfying hard-real-time constraints, and speculative execution with rollback for improving average-case throughput, appear to lie on opposite ends of a spectrum of performance requirements and strategies. Nonetheless, we show that there are situations in which speculative execution can improve the performance of a hard real-time system, either by enhancing average performance while not affecting the worst-case, or by actually decreasing the worst-case execution time. The paper proposes a set of compiler transformation rules to identify opportunities for speculative execution and transform the code. Moreover, we have conducted an extensive experiment using simulation of randomly generated real-time programs to evaluate applicability and profitability of speculative execution. The simulation results indicate that speculative execution improves average execution time and program timeliness. Finally, a prototype implementation is described in which these transformations have been evaluated for realistic applications.