The Impulse memory controller
- 1 November 2001
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 50 (11), 1117-1132
- https://doi.org/10.1109/12.966490
Abstract
Impulse is a memory system architecture that adds an optional level of address indirection at the memory controller. Applications can use this level of indirection to remap their data structures in memory. As a result, they can control how their data is accessed and cached, which can improve cache and bus utilization. The Impulse design does not require any modification to processor, cache, or bus designs since all the functionality resides at the memory controller. As a result, Impulse can be adopted in conventional systems without major system changes. We describe the design of the Impulse architecture and how an Impulse memory system can be used in a variety of ways to improve the performance of memory-bound applications. Impulse can be used to dynamically create superpages cheaply, to dynamically recolor physical pages, to perform strided fetches, and to perform gathers and scatters through indirection vectors. Our performance results demonstrate the effectiveness 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. Alternatively, Impulse can be used by the OS for dynamic superpage creation; the best policy for creating superpages using Impulse outperforms previously known superpage creation policies.Keywords
This publication has 31 references indexed in Scilit:
- A look at several memory management units, TLB-refill mechanisms, and page table organizationsPublished by Association for Computing Machinery (ACM) ,1998
- Baring it all to software: Raw machinesComputer, 1997
- Scalable processors in the billion-transistor era: IRAMComputer, 1997
- The intrinsic bandwidth requirements of ordinary programsPublished by Association for Computing Machinery (ACM) ,1996
- Avoiding conflict misses dynamically in large direct-mapped cachesPublished by Association for Computing Machinery (ACM) ,1994
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- To copy or not to copyPublished by Association for Computing Machinery (ACM) ,1993
- The cache performance and optimizations of blocked algorithmsPublished by Association for Computing Machinery (ACM) ,1991
- The Tera computer systemPublished by Association for Computing Machinery (ACM) ,1990
- Lightweight remote procedure callACM Transactions on Computer Systems, 1990