Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed Environments

Abstract

The widespread adoption of chip multiprocessors in recent years has increased the number of applications simultaneously accessing DRAM memories. Therefore, memory access patterns have also changed and this has reduced row buffer locality significantly, degrading performance and energy efficiency. Furthermore, concurrent execution of applications also has shown the need of performance isolation among threads in the memory controller to enforce a quality of service in virtualized environments. Existing DRAM memories, however, enforce a tradeoff between throughput and isolation. To solve these problems, this paper proposes the addition of Thread Row Buffers (TRBs) to DRAM memories. TRBs keep an active row per thread, thereby increasing DRAM efficiency by avoiding alternate accesses to a limited number of rows and allowing the implementation of a memory scheduler not bound to the throughput-isolation tradeoff. Thread Row Buffers with Service Partitioning (TRB-SP) increase the row hit-rate by 38 percent with respect to FR-FCFS and by 11 percent with respect to Cache DRAM. This, in turn, increases overall performance by 17 and 7 percent, respectively. TRB-SP is also able to reduce the standard deviation of the memory access time of an application by 40 percent over FR-FCFS, 31 percent over PAR-BS, and 42 percent over Cache DRAM.

DOI: 10.1109/TC.2012.173

16 Figures and Tables

Cite this paper

@article{Herrero2013ThreadRB, title={Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed Environments}, author={Enric Herrero and Jos{\'e} Gonz{\'a}lez and Ramon Canal and Dean M. Tullsen}, journal={IEEE Trans. Computers}, year={2013}, volume={62}, pages={1879-1892} }