A software memory partition approach for eliminating bank-level interference in multicore systems

  • Authors:
  • Lei Liu;Zehan Cui;Mingjie Xing;Yungang Bao;Mingyu Chen;Chengyong Wu

  • Affiliations:
  • Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China;Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China;Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China;Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China;Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China;Institute of Computing Technology of the Chinese Academy of Sciences, Beijing, China

  • Venue:
  • Proceedings of the 21st international conference on Parallel architectures and compilation techniques
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Main memory system is a shared resource in modern multicore machines, resulting in serious interference, which causes performance degradation in terms of throughput slowdown and unfairness. Numerous new memory scheduling algorithms have been proposed to address the interference problem. However, these algorithms usually employ complex scheduling logic and need hardware modification to memory controllers, as a result, industrial venders seem to have some hesitation in adopting them. This paper presents a practical software approach to effectively eliminate the interference without hardware modification. The key idea is to modify the OS memory management subsystem to adopt a page-coloring based bank-level partition mechanism (BPM), which allocates specific DRAM banks to specific cores (threads). By using BPM, memory controllers can passively schedule memory requests in a core-cluster (or thread-cluster) way. We implement BPM in Linux 2.6.32.15 kernel and evaluate BPM on 4-core and 8-core real machines by running randomly generated 20 multi-programmed workloads (each contains 4/8 benchmarks) and multi-threaded benchmark. Experimental results show that BPM can improve the overall system throughput by 4.7% on average (up to 8.6%), and reduce the maximum slowdown by 4.5% on average (up to 15.8%). Moreover, BPM also saves 5.2% of the energy consumption of memory system.