Work as a team or individual: Characterizing the system-level impacts of main memory partitioning

Eojin Lee, Jongwook Chung, Daejin Jung, Sukhan Lee, Sheng Li, Jung Ho Ahn
{"title":"Work as a team or individual: Characterizing the system-level impacts of main memory partitioning","authors":"Eojin Lee, Jongwook Chung, Daejin Jung, Sukhan Lee, Sheng Li, Jung Ho Ahn","doi":"10.1109/IISWC.2017.8167773","DOIUrl":null,"url":null,"abstract":"Modern multi-core systems employ shared memory architecture, entailing problems related to the main memory such as row-buffer conflicts, time-varying hot-spots across memory channels, and superfluous switches between reads and writes originating from different cores. There have been proposals to solve these problems by partitioning main memory across banks and/or channels such that a DRAM bank is dedicated to a single core, being free from inter-thread row-buffer conflicts. However, those studies either focused on only multi-programmed workloads on which cores operate independently, not cooperatively, or specific hardware configurations with a limited number of degrees of freedom in the number of main memory banks, ranks, and channels. We analyze the influence of memory partitioning on systems with various degrees of banks, ranks, and channels using multi-threaded and multi-programmed workloads, making the following key observations. Bank partitioning is beneficial when memory-intensive applications in a multi-programmed workload have similar characteristics in bank-level parallelism, bandwidth, and capacity demands. Any diversity in these demands with a limited memory capacity greatly diminishes the bank partitioning benefits. As memory access/usage patterns across cores are more easily manageable on multi-threaded workloads, bank partitioning is more often effective with memory intensive multithreaded applications. Channel partitioning becomes effective when the reduction of the negative impacts of time-varying hotspots across memory channels outweighs the load imbalance due to partitioning. We also demonstrate the benefits of rank partitioning with regard to minimizing read-write switches on multi-threaded applications where cores can coordinate memory accesses.","PeriodicalId":110094,"journal":{"name":"2017 IEEE International Symposium on Workload Characterization (IISWC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE International Symposium on Workload Characterization (IISWC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IISWC.2017.8167773","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Modern multi-core systems employ shared memory architecture, entailing problems related to the main memory such as row-buffer conflicts, time-varying hot-spots across memory channels, and superfluous switches between reads and writes originating from different cores. There have been proposals to solve these problems by partitioning main memory across banks and/or channels such that a DRAM bank is dedicated to a single core, being free from inter-thread row-buffer conflicts. However, those studies either focused on only multi-programmed workloads on which cores operate independently, not cooperatively, or specific hardware configurations with a limited number of degrees of freedom in the number of main memory banks, ranks, and channels. We analyze the influence of memory partitioning on systems with various degrees of banks, ranks, and channels using multi-threaded and multi-programmed workloads, making the following key observations. Bank partitioning is beneficial when memory-intensive applications in a multi-programmed workload have similar characteristics in bank-level parallelism, bandwidth, and capacity demands. Any diversity in these demands with a limited memory capacity greatly diminishes the bank partitioning benefits. As memory access/usage patterns across cores are more easily manageable on multi-threaded workloads, bank partitioning is more often effective with memory intensive multithreaded applications. Channel partitioning becomes effective when the reduction of the negative impacts of time-varying hotspots across memory channels outweighs the load imbalance due to partitioning. We also demonstrate the benefits of rank partitioning with regard to minimizing read-write switches on multi-threaded applications where cores can coordinate memory accesses.
作为团队或个人工作:描述主内存分区的系统级影响
现代多核系统采用共享内存体系结构,这带来了与主存相关的问题,如行缓冲区冲突、内存通道上的时变热点以及来自不同核的读写之间的多余切换。有人建议通过跨银行和/或通道划分主存来解决这些问题,这样一个DRAM银行专用于单个核心,免于线程间行缓冲区冲突。然而,这些研究要么只关注多编程工作负载,其中内核独立操作,而不是合作操作,要么关注特定的硬件配置,在主内存库、等级和通道的数量上具有有限的自由度。我们使用多线程和多编程工作负载分析了内存分区对具有不同程度的银行、等级和通道的系统的影响,得出了以下关键观察结果。当多编程工作负载中的内存密集型应用程序在银行级并行性、带宽和容量需求方面具有相似的特征时,银行分区是有益的。在内存容量有限的情况下,这些需求的任何多样性都会大大降低银行分区的好处。由于跨内核的内存访问/使用模式在多线程工作负载上更容易管理,因此对于内存密集型多线程应用程序,银行分区通常更有效。当跨内存通道的时变热点的负面影响的减少超过由分区引起的负载不平衡时,通道分区就会变得有效。我们还演示了等级分区在最小化多线程应用程序上的读写开关方面的好处,在多线程应用程序中,内核可以协调内存访问。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书