扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共13页)
HT Assist:只用于四路系统
HT Assist是AMD所采用的一种探测过滤器技术。首先,让我们来看一看Shanghai四核系统。CPU 3可能需要CPU 1才有权访问的缓存行,但事实上最近的数据在CPU 2的二级缓存里。
流程如下:
1、CPU 3向CPU 1请求数据(蓝色实心箭头“数据请求”)
2、CPU 1发出广播,看其他CPU是否有最新的数据(三个红色实心箭头“探测请求”)
3、在探测完成之前,CPU 3保持空闲状态(四个红色空心箭头“探测回复”)
4、请求数据从CPU 2发送到CPU 3(两个蓝色空心箭头)
这种广播的方法存在两个严重问题:首先,一个相对简单的请求就需要十次处理,严重浪费带宽;其次,这十次处理给CPU 3上的指令增加了大量延迟。
解决方案就是采用基于目录的系统,AMD称之为HT Assist。HT Assist在每个CPU上保留1MB三级缓存作为一个目录。这个目录被用于在其他系统中使用的缓存行。也就是说,虽然三级缓存只有5MB大,但省去了很多探测或者传输。从下图中可以看明白:
让我们看看发生了什么,还是从CPU 3开始:
1、CPU 3向CPU 1请求数据(蓝色实心箭头)
2、CPU 1检查三级缓存目录缓存以定位请求数据(红色加粗箭头)
3、从CPU 1三级目录缓存的读取说明CPU 2有最新的数据副本并直接探测CPU 2(深红色实心箭头)
4、请求数据从CPU 2发送到CPU 3(蓝色空心箭头)
这次处理次数只有4次,而不是10次,大大降低了延迟并减少带宽的浪费。这种探测“广播”的方法可以将11个的CPU向CPU日常处理减少8个。流量测量结果显示,四路系统的内存带宽提升了60%,采用了HT Assist之后的吞吐量为41.5GB/s,而没有采用HT Assist的是25.5GB/s。
但是需要提出一点,HT Assist只在四路系统内有用,在八路系统内能最大限度上发挥其重要性。在二路系统内,因为另外只有一个CPU,所以广播方法实际上与单播方法是相同的。HT Assist还降低了二级缓存的命中率,所以在2P系统应该禁用HT Assist。看看下面的BIOS截图:
在探测过滤器下面有三个选项:自动、禁用和MP。在自动模式下,探测过滤器或者HT Assist在2P系统中是关闭的。你可以通过设定“MP”模式启动HT Assist。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者