Adaptive Structure Aware Memory Systems

Abstract

This report describes the design of the Impulse architecture and shows how an Impulse memory system can be used in a variety of ways to improve the performance of data-intensive applications. The Impulse design does not require any modification to processor, cache, or bus designs - all novel hardware functionality resides at the memory controller. As a result, Impulse optimizations can be adopted in conventional systems without major system changes. Impulse can be used to: (1) dynamically create superpages cheaply, (2) dynamically recolor physical pages, to perform strided fetches, (3) perform gathers and scatters through indirection vectors, and (4) dynamically gather cache lines from randomly dispersed data. Impulse improved the performance of six DARPA Data Intensive System (DIS) program Stressmarks from 1 .25X to 16X (or 470X in the case of in-place CornerTurn, which was unusually well-suited for Impulse). Impulse sped up the twenty-two programs in the benchmark suite by a geometric mean of 2.4X on 2002-class hardware, and 3.3X on 2007-class hardware. In addition to its applicability for data-intensive applications, Impulse can also be used by the OS for dynamic superpage creation, which is useful for arbitrary applications.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 2003
Accession Number
ADA419133

Entities

People

  • John B. Carter

Organizations

  • University of Utah

Tags

Communities of Interest

  • Advanced Electronics
  • Energy and Power Technologies
  • Human Systems
  • Space

DTIC Thesaurus Topics

  • Air Force Research Laboratories
  • Algorithms
  • Computer Programming
  • Computer Programs
  • Computers
  • Computing System Architectures
  • Cost Models
  • Data Compression
  • Data Sets
  • Lists (Data Structures)
  • Operating Systems
  • Optimization
  • Prototypes
  • Ray Tracing
  • Simulations
  • Sparse Matrix
  • Two Dimensional

Readers

  • Auditory Neuroscience/Auditory Physiology.
  • Distributed Systems and Data Platform Development