Loading [a11y]/accessibility-menu.js
Large Pages on Steroids: Small Ideas to Accelerate Big Memory Applications | IEEE Journals & Magazine | IEEE Xplore

Large Pages on Steroids: Small Ideas to Accelerate Big Memory Applications


Abstract:

Utilizing small (e.g., 4 KB) pages incurs frequent TLB misses on modern big memory applications, substantially degrading the performance of the system. Large (e.g., 1 GB)...Show More

Abstract:

Utilizing small (e.g., 4 KB) pages incurs frequent TLB misses on modern big memory applications, substantially degrading the performance of the system. Large (e.g., 1 GB) pages or direct segments can alleviate this penalty due to page table walks, but at the same time such a strategy exposes the organizational and operational details of modern DRAM-based memory systems to applications. Row-buffer conflicts caused by accesses heading to the same DRAM bank but different rows from multiple threads are regarded as the main culprits behind the very large gaps between peak and achieved main memory throughput, but hardware-based approaches in memory controllers have achieved only limited success whereas existing proposals that change memory allocators cannot be applied to large pages or direct segments. In this paper, we propose a set of application-level techniques to improve the effective main memory bandwidth. The techniques stem from the two key observations that 1) each thread of an application exclusively accesses certain datasets for a short or long period of time, and 2) superfluous memory reads originating from a cache's write allocation policy can be avoided if scatters during the data shuffling pass through intermediate cache-friendly buffers. Experiments with a contemporary x86 server show that combining large pages with the proposed address linearization, bank coloring, and write streaming techniques improves the performance of the three big memory applications of high-throughput key-value store, fast-Fourier transform, and radix sort by 37.6, 22.9, and 68.1 percent, respectively.
Published in: IEEE Computer Architecture Letters ( Volume: 15, Issue: 2, 01 July-Dec. 2016)
Page(s): 101 - 104
Date of Publication: 27 October 2015

ISSN Information:

Funding Agency:


References

References is not available for this document.