DOI QR코드

DOI QR Code

Adaptive Memory Controller for High-performance Multi-channel Memory

  • Kim, Jin-ku (Dept. of Computer Science and Engineering, Sogang University) ;
  • Lim, Jong-bum (Dept. of Computer Science and Engineering, Sogang University) ;
  • Cho, Woo-cheol (Dept. of Computer Science and Engineering, Sogang University) ;
  • Shin, Kwang-Sik (Dept. of Computer Science and Engineering, Sogang University) ;
  • Kim, Hoshik (Dept. of Computer Science and Engineering, Sogang University) ;
  • Lee, Hyuk-Jun (Dept. of Computer Science and Engineering, Sogang University)
  • Received : 2016.04.11
  • Accepted : 2016.08.02
  • Published : 2016.12.30

Abstract

As the number of CPU/GPU cores and IPs in SOC increases and applications require explosive memory bandwidth, simultaneously achieving good throughput and fairness in the memory system among interfering applications is very challenging. Recent works proposed priority-based thread scheduling and channel partitioning to improve throughput and fairness. However, combining these different approaches leads to performance and fairness degradation. In this paper, we analyze the problems incurred when combining priority-based scheduling and channel partitioning and propose dynamic priority thread scheduling and adaptive channel partitioning method. In addition, we propose dynamic address mapping to further optimize the proposed scheme. Combining proposed methods could enhance weighted speedup and fairness for memory intensive applications by 4.2% and 10.2% over TCM or by 19.7% and 19.9% over FR-FCFS on average whereas the proposed scheme requires space less than TCM by 8%.

Keywords

References

  1. Y. Kim, M. Papamichael, O. Mutlu, and M. HarcholBalter, "Thread Cluster Memory Scheduling: Exploiting Differences in Memory Access Behavior," in MICRO, 2010.
  2. S. Muralidhara et al, "Reducing memory interference in multi-core systems via applicationaware memory channel partitioning," In MICRO-44, 2011.
  3. Y. Kim, D. Han, O. Mutlu, and M. Harchol-Balter, "ATLAS: A scalable and high-performance scheduling algorithm for multiple memory controllers," in HPCA, 2010.
  4. O. Mutlu and T. Moscibroda, "Parallelism-aware batch scheduling: Enhancing both performance and fairness of shared DRAM systems," in ISCA, 2008.
  5. R. Ausavarungnirun et aI, "Staged Memory Scheduling: Achieving high performance and scalability in heterogeneous systems," in ISCA, 2012.
  6. L. Subramanian et al, "The blacklisting memory scheduler: Achieving high performance and fairness at low cost," in ICCD, 2014
  7. S. Rixner et al, "Memory access scheduling," In ISCA-27, 2000
  8. P. Rosenfeld et al., "Dramsim2: A cycle accurate memory system simulator," CAL, 2011.
  9. "SPEC CPU 2006," http://www.spec.org/cpu2006/.
  10. H. Kim, J. Lee, N. B. Lakshminarayana, J. Sim, J. Lim, and T. Pho. "MacSim: A CPU-GPU Heterogeneous Simulation Framework User Guide," Georgia Institute of Technology, 2012
  11. A. Snavely and D. M. Tullsen. "Symbiotic job scheduling for a simultaneous multithreading processor," In ASPLOS-IX, 2000.