skip to main content


Title: Two-level main memory co-design: Multi-threaded algorithmic primitives, analysis, and simulation

A challenge in computer architecture is that processors often cannot be fed data from DRAM as fast as CPUs can consume it. Therefore, many applications are memory-bandwidth bound. With this motivation and the realization that traditional architectures (with all DRAM reachable only via bus) are insufficient to feed groups of modern processing units, vendors have introduced a variety of non-DDR 3D memory technologies (Hybrid Memory Cube (HMC),Wide I/O 2, High Bandwidth Memory (HBM)). These offer higher bandwidth and lower power by stacking DRAM chips on the processor or nearby on a silicon interposer. We will call these solutions “near-memory,” and if user-addressable, “scratchpad.” High-performance systems on the market now offer two levels of main memory: near-memory on package and traditional DRAM further away. In the near term we expect the latencies near-memory and DRAM to be similar. Here, it is natural to think of near-memory as another module on the DRAM level of the memory hierarchy. Vendors are expected to offer modes in which the near memory is used as cache, but we believe that this will be inefficient.
 [1] ;  [2] ;  [2] ;  [2] ;  [1] ;  [2] ;  [3] ;  [2] ;  [2] ;  [2]
  1. Stony Brook Univ., Stony Brook, NY (United States)
  2. Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
  3. Washington Univ., St. Louis, MO (United States)
Publication Date:
Report Number(s):
Journal ID: ISSN 0743-7315; PII: S074373151630185X
Grant/Contract Number:
Accepted Manuscript
Journal Name:
Journal of Parallel and Distributed Computing
Additional Journal Information:
Journal Volume: 102; Journal Issue: C; Journal ID: ISSN 0743-7315
Research Org:
Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
Sponsoring Org:
USDOE National Nuclear Security Administration (NNSA)
Country of Publication:
United States
97 MATHEMATICS AND COMPUTING; two-level memory; high-bandwidth memory; sorting; k-means clustering
OSTI Identifier:
Alternate Identifier(s):
OSTI ID: 1414597