[发明专利]一种高速缓存同步的方法及装置在审
申请号: | 201410360196.5 | 申请日: | 2014-07-25 |
公开(公告)号: | CN104239270A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 陈继承;倪璠;王洪伟 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;G06F9/52;G06F12/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高速缓存 同步 方法 装置 | ||
技术领域
本发明涉及计算机体系领域,特别是涉及一种高速缓存同步的方法及装置。
背景技术
由于制造工艺、能耗以及漏电限制,单处理器设计在本世纪初遭遇到了时钟频率墙(frequency wall),通过提升处理器主频来提升处理器性能变得越来越困难,代价越来越高。因此,处理器厂商提出了多核、多处理器来迎合高性能及嵌入式计算群体。
多核、多处理器系统中的高速缓存一致性问题是困扰系统结构设计人员的主要问题。一方面,高速缓存内容的一致性直接关系着系统运行的正确性,使用“过时”的数据将导致计算机产生错误的运算结果,甚至导致系统崩溃。另一方面,数据的快速获取与同步对于系统高效运行直观重要。由于处理器主频不断提升,系统集成的处理器核数越来越大,多核、多处理器系统的计算性能急剧增强,但是存储系统的性能却未成比例增加,因此,数据访问速度称为制约系统性能的“瓶颈”,“低速”的存储访问极大的影响了系统的效率和吞吐量。高速缓存正是填补二者性能差异的有效手段,因此,保证高速缓存高效的工作是设计高性能计算机系统的重要内容。高速缓存一致性同步方法的高效实现是保证高速缓存正常工作的基础,也是为处理器快速提供正确数据的关键。
传统的Cache(高速缓存)一致性同步方法主要包括源监听(source snooping)及宿主监听(home snooping)两种。在源监听方法中,当一个处理器核(称为缓存代理(Caching Agent,简称CA))需要访问数据而该数据不在本地高速缓存中或处于冲突状态时,需向系统中所有其它的CA广播 监听消息,其它CA收到该消息会检查自己的本地高速缓存并据此做出应答。这种同步方法的优点在于消息传递延迟小,每次消息传递只需要经过两跳即可返回结果。其缺点是拓展性差,当系统包含的处理器数目达到一定规模后,用于维护高速缓存一致性的广播消息将使得总线拥塞不堪,系统性能急剧下降。为此,研究人员提出了另一种高速缓存一致性同步方式——home监听方式。在基于home监听方式的系统中,所有CA发送的请求被送往home代理(通常为存储器),home代理适用一个“目录”记录Cache行的共享信息,并依据目录的内容给相关的CA发送(请求数据或同步)消息,满足要求的CA根据消息作出应答并提供数据。这种同步方式的优势在于减少高速缓存同步消息的广播,降低总线负载,拓展性较好,能够适应大规模系统的需求。缺点是当系统规模较小时,效率不及source监听方式,数据访问需要经过三跳,延迟较大。
发明内容
本发明要解决的技术问题是提供一种高速缓存同步的方法及装置,以缓解单纯使用source监听带来的消息风暴问题。
为了解决上述技术问题,本发明提供了一种高速缓存同步的方法,应用于多处理器的计算机系统,包括:
将所述多处理器的计算机系统中的处理器划分为两个或以上的分区,每个分区内包括两个或以上的处理器,所述处理器包括一个或多个处理器核,每个分区内各指定一个处理器核为本分区的代表节点;
在宿主代理节点处建立用于存储高速缓存行的分区的位置及共享信息的目录;
当所述分区内的任一处理器核访问指定高速缓存行发生缺失时,在本分区内采用源监听进行同步,如通过源监听未能实现同步,则由本分区的代表节点向所述宿主代理节点发送数据请求,由所述宿主代理节点采用宿主监听进行同步。
进一步地,上述方法还具有下面特点:所述由宿主代理节点采用宿主监 听进行同步的过程中包括:
所述宿主代理节点接收到数据请求后,查找所述目录,如查找到存储有所述指定高速缓存行数据的分区的位置,则根据该位置向该存储有所述指定高速缓存行数据的分区的代表节点发送数据请求,由所述存储有所述指定高速缓存行数据的分区的代表节点在其所在的分区内进行源监听。
进一步地,上述方法还具有下面特点:所述存储有所述指定高速缓存行数据的分区的代表节点在其所在的分区内进行源监听的过程中包括:
存储有所述指定高速缓存行数据的分区的代表节点在其所在的分区内广播数据请求消息;
该分区内的存储有所述指定高速缓存行数据的处理器核接收到所述数据请求消息后发送数据应答消息,同时向所述宿主代理节点发送表示高速缓存行请求完成消息。
进一步地,上述方法还具有下面特点:将所述多处理器的计算机系统中的处理器分为两个以上的分区,包括:
将位于同一套接口中的多个处理器划入同一分区。
进一步地,上述方法还具有下面特点:
所述每个分区内的处理器核小于或等于16个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410360196.5/2.html,转载请声明来源钻瓜专利网。