[发明专利]一种用于同步中央处理器所属缓存的方法和装置有效
申请号: | 201710147292.5 | 申请日: | 2017-03-13 |
公开(公告)号: | CN108572926B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 张扬;罗犇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F12/0844 | 分类号: | G06F12/0844;G06F3/06 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 同步 中央处理器 所属 缓存 方法 装置 | ||
本发明公开了一种用于同步中央处理器所属缓存的方法,包括:确定源中央处理器和目的中央处理器;将所述源中央处理器所属指定的缓存区域的数据同步到目的中央处理器所属的相应的缓存区域。能够将中央处理器所属缓存中的数据直接复制同步到其他中央处理器所属缓存的相应区域,确保程序运行的时候,其他中央处理器可以直接从本地缓存里面访问到数据,有效降低开销,提高程序运行效率。
技术领域
本发明涉及一种用于中央处理器所属缓存同步的方法。
背景技术
一台机器上采用多个物理中央处理器(CPU)的架构在服务器领域越来越普遍(业界称为NUMA架构),每个中央处理器都有自己的缓存(cache)资源,而且每个CPU访问自己的cache比访问其他CPU的cache要快很多,但这部分缓存仅其所述CPU能够访问,对其他CPU可能是不可见的。
如果一个应用程序在CPU0上运行但是要访问的数据目前在CPU1的cache 里面,现有的方式为CPU通过被称为窥探(snoop)的机制来维持cache,内存 (memory)之间的同步。
当CPU0需要去访问一个数据的时候,会触发snoop的方式来探知最新的数据在哪里。例如,当最新的数据位于另外一个CPU1的cache中时,需要CPU1 先将cache同步到内存中,然后CPU0再读取内存到cache,这个过程是从CPU0 发起访问请求开始的,所以对CPU0来说整个访问带来的开销将体现在CPU0上发起请求的进程的执行延时上。
snoop的方式是一种被动方式,当需要访问非本地cache存储的数据时,除了snoop本身的开销外,一旦探知到最新的数据在其他CPU的cache里面,那么还需要引入额外的数据同步开销。
可见,目前的访问不同CPU的cache的数据的方式存在开销大,运行效率低的问题。
发明内容
本发明提供一种用于同步中央处理器所属缓存的方法,包括:
确定源中央处理器和目的中央处理器;
将所述源中央处理器所属指定的缓存区域的数据同步到目的中央处理器所属的相应的缓存区域;
所述中央处理器所属的指定的缓存区域包括内存的指定区域对应的中央处理器所属的缓存区域。
可选地,所述确定源中央处理器和目的中央处理器的操作前还包括:
判断是否满足进行中央处理器所属缓存间同步的条件;
若满足,执行后续操作。
可选地,所述判断是否满足进行中央处理器所属缓存间同步的条件包括:
判断所述内存的指定区域对应的中央处理器所属缓存区域的数据是否被更新;
若被更新,判断所述内存的指定区域的标记是否包括同步标记和下述标记的至少一种:写回标记或写穿标记;
若包括,则满足进行中央处理器所属缓存间同步的条件。
可选地,所述判断是否满足进行中央处理器所属缓存间同步的条件包括:
判断是否获取到将中央处理器所属的指定的缓存区域进行同步的指令,所述指令指定目的中央处理器和内存的指定区域;
若获取到,则满足进行中央处理器所属缓存间同步的条件。
可选地,所述确定源中央处理器和目的中央处理器包括:
将所述内存的指定区域对应的中央处理器所属缓存区域被更新的中央处理器作为源中央处理器;
确定目的中央处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710147292.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种STEP文件等效的二进制数据存储方法
- 下一篇:存储器系统及其操作方法