- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于页着色的多核处理器共享Cache动态分区
26 《高性能计算发展与应用》 2012年第四期 总第四十一期
基于页着色的多核处理器共享Cache动态分区
张栌丹 王锐 刘轶 钱德沛
北京航空航天大学中德联合软件技术研究所 北京100191
摘要:
随着多核/众核成为处理器结构发展的主流,并行任务间共享地使用Cache而导致的冲突越
来越成为性能提升的瓶颈。利用页着色可以实现对Cache的分区管理,减少共享Cache导致的冲
突。页着色的原理是利用内存与Cache之间的组相联映射关系,通过控制分配固定区域的内存而
达到分配固定区域Cache的目的,这一方面限制了任务能够请求的物理内存范围,另一方面调整
程序使用的Cache空间需要做大量的内存拷贝,带来了不可忽视的开销。为了克服页着色的缺
点,本文通过动态内存分配的方式,只对动态分配的页进行着色, 在不修改内核和程序源码的前
提下实现了动态Cache分区。本文提出的动态内存分配策略(CachePM)会根据运行时环境为任
务分配内存,避免不同任务间共享Cache的冲突和同一任务内出现Cache的访问热点,通过合理
划分程序运行时动态分配的内存达到Cache分区的目的。当任务的运行环境改变时,CachePM自
适应地改变已经分配的堆中数据在物理内存中的布局,以实现Cache分区的动态调节。为进一步
降低动态页着色的开销,我们采用了减少和延迟内存拷贝的策略。实验表明,该方法能够有效
实现动态Cache分区,从而提高并行运行的任务的性能;同时由于动态内存分配策略避免了同一
任务内出现Cache访问热点,单独运行的任务的性能也较在libc下运行有所提升。
关键词:Cache分区,动态页着色,动态内存分配
1. 引言 页对cache的使用没有重叠。通过给应用程序分配
近年来,在一个芯片内集成多个处理器核已成 特定颜色的页,使得操作系统可以控制应用访问的
为处理器发展的主要趋势。在这种多核处理器中, cache区域。
多种应用会同时运行,共享芯片内的cache、片上网 然而利用页着色来管理共享cache有不可忽视的
[3]
络、I/O通道等资源。多个同时运行的任务在访问共 缺点 。一方面,页着色限制了任务能够请求的物理
享资源时会相互干扰,可能导致资源不能被充分利 内存范围,即限制了任务可以请求的页帧的数量。
用,而使任务性能下降。Cache是片内的主要共享资 如果任务的物理内存不足,因为cache分区大小的限
源之一,对cache的使用效率直接影响应用程序的性 制,即使还有可用的内存,也不能被分配其它颜色
能。例如,不同进程/线程访问不同的数据集合,可 的物理页,使应用性能下降。另一方面,调整任务
能导致共享cache中的数据频繁换入/换出,这将降低 cache分区的大小是通过改变已经分配的页面颜色实
cache命中率,进而导致它们对内存带宽和总线带宽 现,需要将应用的数据拷贝到另一部分颜色集合的
的争抢,使得系统性能下降。因此高效管理片上共 物理页上,涉及到大量的数据移动操作,如果频繁
享cache资源是提高多核处理器系统性能的关键点之 改变cache分区会带来很大的开销,cache分区所带来
文档评论(0)