Memory System Support for Image Processing

Abstract

Processor speeds are increasing rapidly, but memory speeds are not keeping pace. Image processing is an important application domain that is particularly impacted by this growing performance gap. Image processing algorithms tend to have poor memory locality because they access their data in a non-sequential fashion and reuse that data infrequently. As a result, they often exhibit poor cache and TLB hit rates on conventional memory systems, which limits overall performance. Most current approaches to addressing the memory bottleneck focus on modifying cache organizations or introducing processor-based prefetching. The Impulse memory system takes a different approach: allowing application software to control how, when, and where data are loaded into a conventional processor cache. Impulse does this by letting software configure how the memory controller interprets the physical addresses exported by a processor. Introducing an extra level of address translation in the memory controller enables an application to dynamically change how its data are fetched from memory. Data that is sparse in memory can be accessed densely, which improves both cache and TLB utilization, and Impulse hides memory latency by prefetching data within the memory controller. We describe how Impulse improves the performance of three image processing algorithms: volume rendering, image warping, and image filtering. We find that for these codes, an Impulse memory system yields speedups of 40% to 226% over an otherwise identical machine with a conventional memory system.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 23, 1999
Accession Number
ADA438167

Entities

People

  • John B. Carter
  • Lixin Zhang
  • Sally A. Mckee
  • Wilson C. Hsieh

Organizations

  • University of Utah

Tags

Communities of Interest

  • Air Platforms
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Computer Architecture
  • Computer Graphics
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Data Sets
  • Filtration
  • Image Processing
  • Instruction Set Architecture
  • Operating Systems
  • Ray Tracing
  • Translations
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Image Processing and Computer Vision.
  • Parallel and Distributed Computing.