Active memory controller

  • Authors:
  • Zhen Fang;Lixin Zhang;John B. Carter;Sally A. Mckee;Ali Ibrahim;Michael A. Parker;Xiaowei Jiang

  • Affiliations:
  • nVidia Corporation, Santa Clara, USA;Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China;IBM Austin Research Lab, Austin, USA;Chalmers University of Technology, Gothenburg, Sweden;AMD, Sunnyvale, USA;nVidia Corporation, Santa Clara, USA;Intel Labs, Intel Corporation, Santa Clara, USA

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Inability to hide main memory latency has been increasingly limiting the performance of modern processors. The problem is worse in large-scale shared memory systems, where remote memory latencies are hundreds, and soon thousands, of processor cycles. To mitigate this problem, we propose an intelligent memory and cache coherence controller (AMC) that can execute Active Memory Operations (AMOs). AMOs are select operations sent to and executed on the home memory controller of data. AMOs can eliminate a significant number of coherence messages, minimize intranode and internode memory traffic, and create opportunities for parallelism. Our implementation of AMOs is cache-coherent and requires no changes to the processor core or DRAM chips.In this paper, we present the microarchitecture design of AMC, and the programming model of AMOs. We compare AMOs' performance to that of several other memory architectures on a variety of scientific and commercial benchmarks. Through simulation, we show that AMOs offer dramatic performance improvements for an important set of data-intensive operations, e.g., up to 50脳 faster barriers, 12脳 faster spinlocks, 8.5脳---15脳 faster stream/array operations, and 3脳 faster database queries. We also present an analytical model that can predict the performance benefits of using AMOs with decent accuracy. The silicon cost required to support AMOs is less than 1% of the die area of a typical high performance processor, based on a standard cell implementation.