Latency hiding with optimistic computations

  • Authors:
  • Maria Hybinette;Richard M. Fujimoto

  • Affiliations:
  • Department of Computer Science, University of Georgia, Athens, Georgia;College of Computing, Georgia Institute of Technology, Atlanta, Georgia

  • Venue:
  • Journal of Parallel and Distributed Computing - Parallel and Distributed Discrete Event Simulation--An Emerging Technology
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a latency hiding mechanism that enables computationally intensive operations to be utilized in real-time interactive environments. In most cases, real-time interactive environments preclude calculations that run slower than real-time. Our approach called optimistic I/O (OIO) schedules anticipated operations in advance so that their results are ready when needed. An associated roll-back scheme enables recovery whenever an unexpected real-time input forces the cancellation of scheduled operations. Optimistic I/O is implemented in a parallel simulation executive and is evaluated by demonstrating (1) feasibility in a virtual environment application and (2) effectiveness in an analytical framework. The feasibility of OIO is demonstrated by integrating a computationally intensive image generation application called the synthetic scene generation model (SSGM) into an interactive environment (SSGM is used by the Ballistic Missile Defense Organization researchers to produce phenomenologically correct images for testing missile and satellite sensor systems). Effectiveness is evaluated by analytically examining the impact on the quality of an animation sequence as the probability of user interaction increases. We observe that speculative computing is advantageous in applications that include expensive computations, especially when the polling frequency for user interaction is high with respect to the computational period and the probability of interactions is low. Potential applications of optimistic I/O include: Interactive virtual environments for hardware-in-the-loop testing (e.g., missile tracking sensors); high-fidelity visual simulations for human training; and robotics applications where motor control commands require a significant number of computations, but where the presence or absence of objects in the environment may change which computations are necessary. All these applications share the requirement that a computationally intensive task (such as image generation) must be completed at real time rates in response to external inputs.