Impulse: building a smarter memory controller
J. Carter, Wilson C. Hsieh, Leigh B. Stoller, Mark R. Swanson, Lixin Zhang, Erik L. Brunvand, A. Davis, Chen-Chi Kuo, Ravindra Kuramkote, Michael H. Parker, Lambert Schaelicke, Terry Tateyama
Abstract
J. Carter, Wilson C. Hsieh, Leigh B. Stoller, Mark R. Swanson, Lixin Zhang, Erik L. Brunvand, A. Davis, Chen-Chi Kuo, Ravindra Kuramkote, Michael H. Parker, Lambert Schaelicke, Terry Tateyama
Abstract
Impulse is a new memory system architecture that adds two important features to a traditional memory controller. First, Impulse supports application-specific optimizations through configurable physical address remapping. By remapping physical addresses, applications control how their data is accessed and cached, improving their cache and bus utilization. Second, Impulse supports prefetching at the memory controller, which can hide much of the latency of DRAM accesses. In this paper we describe the design of the Impulse architecture, and show how an Impulse memory system can be used to improve the performance of memory-bound programs. For the NAS conjugate gradient benchmark, Impulse improves performance by 67%. Because it requires no modification to processor, cache, or bus designs, Impulse can be adopted in conventional systems. In addition to scientific applications, we expect that Impulse will benefit regularly strided memory-bound applications of commercial importance, such as database and multimedia programs.
OpenAlex reports 234 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Impulse is a new memory system architecture that adds two important features to a traditional memory controller. First, Impulse supports application-specific optimizations through configurable physical address remapping. By remapping physical addresses, applications control how their data is accessed and cached, improving their cache and bus utilization. Second, Impulse supports prefetching at the memory controller, which can hide much of the latency of DRAM accesses. In this paper we describe the design of the Impulse architecture, and show how an Impulse memory system can be used to improve the performance of memory-bound programs. For the NAS conjugate gradient benchmark, Impulse improves performance by 67%. Because it requires no modification to processor, cache, or bus designs, Impulse can be adopted in conventional systems. In addition to scientific applications, we expect that Impulse will benefit regularly strided memory-bound applications of commercial importance, such as database and multimedia programs.
Key concepts: Computer science, Memory controller, Physical address, Interleaved memory, Cache-only memory architecture, Embedded system, Cache, Impulse (physics)