The impulse memory controller

Citation
Lx. Zhang et al., The impulse memory controller, IEEE COMPUT, 50(11), 2001, pp. 1117-1132
Citations number
48
Categorie Soggetti
Computer Science & Engineering
Journal title
IEEE TRANSACTIONS ON COMPUTERS
ISSN journal
00189340 → ACNP
Volume
50
Issue
11
Year of publication
2001
Pages
1117 - 1132
Database
ISI
SICI code
0018-9340(200111)50:11<1117:TIMC>2.0.ZU;2-Z
Abstract
Impulse is a memory system architecture that adds an optional level of addr ess indirection at the memory controller. Applications can use this level o f indirection to remap their data structures in memory. As a result, they c an control how their data is accessed and cached, which can improve cache a nd bus utilization. The Impulse design does not require any modification to processor, cache, or bus designs since all the functionality resides at th e memory controller. As a result, Impulse can be adopted in conventional sy stems without major system changes. We describe the design of the Impulse a rchitecture and how an Impulse memory system can be used in a variety of wa ys to improve the performance of memory-bound applications. Impulse can be used to dynamically create superpages cheaply, to dynamically recolor physi cal pages, to perform strided fetches, and to perform gathers and scatters through indirection vectors. Our performance results demonstrate the effect iveness of these optimizations in a variety of scenarios. Using Impulse can speed up a range of applications from 20 percent to over a factor of 5. Al ternatively, Impulse can be used by the OS for dynamic superpage creation; the best policy for creating superpages using Impulse outperforms previousl y known superpage creation policies.