[发明专利]缓存一致性处理方法和装置在审
申请号: | 201610878873.1 | 申请日: | 2016-09-30 |
公开(公告)号: | CN107894914A | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 崔晓松;陈云;蔡毅;黄勤业 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 一致性 处理 方法 装置 | ||
技术领域
本发明涉及云计算技术领域,尤其涉及片上多核处理器中的缓存一致性(Cache Coherency)处理技术。
背景技术
片上多核处理器(英文:Chip Multi-processors,简称:CMPs)架构成为处理器设计的主流架构,它由许多处理器核(Core)通过路由器(英文:Router)构成的片上网络(英文:Network on chip,简称:NoC)连接构成。芯片中的缓存(Cache)是按照分级来设计的,其中,L1缓存(英文:Level-1cache)是私有缓存,它被设计在处理器核内部,其中存储的数据块仅能由该处理器核访问;L2缓存(英文:Level-2cache)是共享缓存,其中存储的数据块为共享数据块,可由多个处理器核访问,一般可采用集中式的方式被设计在处理器核外部,或者被分布地设计在各个处理器核的附近,即按照物理上分布于各个处理器核附近并通过片上网络进行互连,逻辑上可进行共享。
在片上多核处理器的应用中,存在一些数据块被该处理器中的一个或者多个处理器核访问的场景。对于该场景,通常会将该数据块存储在共享缓存中,以便一个或多个处理器核能够访问。为了加速数据块的访问,在访问过该数据块的一个或多个处理器核的私有缓存中创建该数据块的拷贝,这样当访问过该数据块的某一核需要重新访问该数据块时,只需要到该核的私有缓存中进行该数据块的读取。因为在被访问的一个或者多个处理器核的私有缓存中存有该数据块的拷贝,就需要维护该数据块在多个核的私有缓存中的拷贝之间一致性,解决拷贝之间一致性问题被称为缓存一致性(Cache Coherence)问题。解决该缓存一致性问题的基本原理是当某一个核中该数据块的拷贝被修改时,其他存储有该数据块拷贝的处理器核需要进行一致性操作(即更新其他核中该数据块的拷贝或删除该数据块在其他核中的拷贝),这就需要确定该数据块在该多核处理器中的哪些核存在拷贝。
解决缓存一致性的具体方式主要包括:基于目录(Directory)的一致性协议和基于侦听(Snooping)的一致性协议。其中,基于目录的一致性协议是采用目录来记录数据块被哪些处理器核访问,当需要进行一致性维护时,通过查询目录的表项,确定存储有该数据块的拷贝的处理器核,然后对相应的处理器核内的该数据块进行一致性操作;基于侦听的一致性协议是采用所有处理器核侦听总线的方式,即当某个处理器核修改了其私有缓存中的某一数据块后,在总线上广播该一致性维护消息,使得其他存储有该数据块拷贝的处理器核进行一致性操作。
随着云计算的发展,资源池的概念应运而生,原来服务器的资源(处理器、内存、网络IO端口等)被分配给1个或者多个虚拟机使用,通过资源管理软件,可以为虚拟机分配这些资源。在云计算场景下,分配给虚拟机的处理器资源如何实现缓存一致性是业界面临的问题。
发明内容
本文描述了一种缓存一致性处理方法和装置,以实现缓存一致性处理以及片上多核处理器的通信以及面积开销的平衡。
一方面,本申请的实施例提供一种缓存一致性处理方法。方法应用于片上多核处理器,包括第一路由器接收与其直接相连的第一处理器核发送的一致性维护请求,该一致性维护请求携带第一处理器核的标识;根据第一处理器核的标识查询预设的一致性维护表项,生成针对该第一处理器核所属的一致性区域的一致性维护命令;将生成的一致性维护命令通过片上网络发送给上述一致性区域的其他处理器核。采用上述的方式,能够使得一致性维护仅在发生缓存数据块写操作的一致性区域完成,从而避免了全局一致性维护所带来的开销。
在一种可能的设计中,第一路由器根据所述第一处理器核的标识查询预设的一致性维护表项,获取所述第一处理器核所属一致性区域的标识,以及位于所述一致性区域内其他处理器核的标识;以及第一路由器根据所述第一处理器核所在一致性区域的标识,以及位于所述一致性区域内其他处理器核的标识,生成针对所述一致性区域的一致性维护命令。
在一种可能的设计中,第一路由器根据片上网络拓扑状态,以及上述一致性区域内其他处理器核的标识,确定至少一条路由传输路径,其中,每条路由传输路径由和一致性区域内其他处理器核相连的路由器组成;针对每条路由传输路径,第一路由器对上述一致性维护命令进行重构处理,生成针对该条路由传输路径的一致性维护命令;利用每条路由传输路径,将针对该条路由传输路径的一致性维护命令发送给该路由传输路径上的处理器核。采用这种路由定向传输的方式,能够避免通过广播方式所带来的片上网络存在的广播风暴风险,有效地降低了片上网络所包括的路由器的压力。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610878873.1/2.html,转载请声明来源钻瓜专利网。