Using Speculative Execution to Automatically Hide I/O Latency

Abstract

The gap between processing speeds and disk access times is widening. This trend is causing applications that must fetch data from disk to spend an increasing proportion of their execution times stalled on disk I/O. I/O prefetching, a well-known technique for hiding disk latency, has the potential to alleviate this problem, particularly when the data that needs to be fetched is distributed across multiple disks. A major hurdle to benefiting from this technique in practice is the difficulty of generating accurate and timely prefetches. In this dissertation, I put forth a new approach to generating accurate and timely prefetches without programmer involvement. The key to the proposed approach is its unique method for predicting what data an executing process will access in the future. The approach involves adding an execution of each target process's code that exploits spare processing cycles. These added executions skip some operations, like accesses to uncached data, so that they can run ahead of their target normal executions. This permits differences between the data values used during the added speculative executions and their target normal executions. Despite any such differences, the approach predicts that the data accesses encountered during speculative executions will often be the same as the data accesses that will be encountered during their target normal executions such that, by initiating prefetching of that data, speculative executions could reduce the I/O stall time of their target normal executions. To investigate the viability of this approach, I developed and evaluated SpecHint, a design and implementation for applying the approach automatically. SpecHint is based on binary modification and requires no operating system support specific to this approach. I evaluated SpecHint using six benchmarks from the TIP benchmark suite.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 07, 2001
Accession Number
ADA461088

Entities

People

  • Fay W. Chang

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Access Time
  • Algorithms
  • Cancellation
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Data Sets
  • Data Visualization
  • Fish
  • Language
  • Operating Systems
  • Probability
  • Scheduling (Production)
  • Side Effects
  • Simulations
  • Standards

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design