一种数据分配方法和装置制造方法及图纸

技术编号:14334419 阅读:10 留言:0更新日期:2017-01-04 08:25
本发明专利技术实施例公开了一种数据分配方法和装置,该方法可包括:请求节点向本地Home末级缓存LLC所在的节点发送请求包;当所述Home LLC所在的节点接收到所述请求包时,根据所述请求包识别所述请求节点与所述Home LLC所在的节点之间的传输开销是否超过预设传输开销阈值;当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述Home LLC中复制到所述请求节点的LLC中。本发明专利技术实施例可以减少众核架构中的传输开销。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种数据分配方法和装置
技术介绍
随着芯片规模的扩大,越来越多的芯片使用众核架构。然而,目前的众核架构中使用的末级缓存(LastLevelCache,LLC)的数据分配机制主要是将数据仅保留在芯片本地的本地(Home)LLC。当芯片中节点需要使用某数据时,该节点向HomeLLC所在的节点发送数据请求,HomeLLC所在的节点接收到该数据请求后,将HomeLLC中存储的该数据复制数据至该节点。然而,由于在众核架构中芯片中可以存在很多节点,这样不同节点与HomeLLC所在的节点之间的传输路径会不同,这样必然会存在一些节点与HomeLLC所在的节点之间的传输路径会比较远,这样该节点与HomeLLC所在的节点传输数据时开销会比较大。从而,在目前的众核架构中会存在传输开销过大的问题。
技术实现思路
本专利技术提供了一种数据分配方法和装置,可以减少众核架构中的传输开销。第一方面,本专利技术提供一种数据分配方法,包括:请求节点向本地Home末级缓存LLC所在的节点发送请求包;当所述HomeLLC所在的节点接收到所述请求包时,根据所述请求包识别所述请求节点与所述HomeLLC所在的节点之间的传输开销是否超过预设传输开销阈值;当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中。在第一方面的第一种可能的实现方式中,所述请求节点向HomeLLC所在的节点发送请求包的过程中所述请求包每经过一个节点时,所述请求包中片上网络计数器加N,其中,所述N为大于或者等于1的整数;所述根据所述请求包识别所述请求节点与所述HomeLLC所在的节点之间的传输开销是否超过预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述请求包为向所述HomeLLC所在的节点读取数据的读请求包;所述方法还包括:当所述HomeLLC所在的节点接收到所述请求包时,将预设的用于统计所述请求节点读取第一缓存行的读取次数的本地计数器加N,其中,所述第一缓存行为所述读请求包所读取的数据所在的缓存行;所述判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值与所述本地计数器的当前值之和是否大于预设传输开销阈值;所述当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中,包括:当所述片上网络计数器的当前值与所述本地计数器的当前值之和大于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:当所述片上网络计数器的当前值与所述本地计数器的当前值之和小于或者等于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的一级缓存中。结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述请求包为向所述HomeLLC的第二缓存行进行写操作的写请求包;所述判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值与远端计数器的当前值之和是否大于预设传输开销阈值,其中,所述远端计数器为预先设置用于统计远端节点读取所述第二缓存行的读取次数,所述远端节点为芯片中除所述HomeLLC所在的节点之外的节点;所述当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中,包括:当所述片上网络计数器的当前值与所述远端计数器的当前值之和大于预设传输开销阈值时,将修改后的第二缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中,其中,所述修改后的第二缓存行为响应所述写请求包对所述第二缓存行进行写操作而生成的缓存行。结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:将所述芯片中存储的所述第二缓存行的副本无效,其中,所述第二缓存行的副本为未响应所述写请求包时所述第二缓存行存储的数据。第二方面,本专利技术提供一种数据分配装置,包括:请求单元、识别单元和第一复制单元,其中:所述请求单元,用于控制请求节点向本地Home末级缓存LLC所在的节点发送请求包;所述识别单元,用于当所述HomeLLC所在的节点接收到所述请求包时,根据所述请求包识别所述请求节点与所述HomeLLC所在的节点之间的传输开销是否超过预设传输开销阈值;所述第一复制单元,用于当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中。在第二方面的第一种可能的实现方式中,所述请求节点向HomeLLC所在的节点发送请求包的过程中所述请求包每经过一个节点时,所述请求包中片上网络计数器加N,其中,所述N为大于或者等于1的整数;所述识别单元用于判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述请求包为向所述HomeLLC所在的节点读取数据的读请求包;所述装置还包括:计数单元,用于当所述HomeLLC所在的节点接收到所述请求包时,将预设的用于统计所述请求节点读取第一缓存行的读取次数的本地计数器加N,其中,所述第一缓存行为所述读请求包所读取的数据所在的缓存行;所述识别单元用于判断所述请求包中的所述片上网络计数器的当前值与所述本地计数器的当前值之和是否大于预设传输开销阈值;所述第一复制单元用于当所述片上网络计数器的当前值与所述本地计数器的当前值之和大于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:第二复制单元,用于当所述片上网络计数器的当前值与所述本地计数器的当前值之和小于或者等于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的一级缓存中。结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述请求包为向所述HomeLLC的第二缓存行进行写操作的写请求包;所述识别单元用于判断所述请求包中的所述片上网络计数器的当前值与远端计数器的当前值之和是否大于预设传输开销阈值,其中,所述远端计数器为预先设置用于统计远端节点读取所述第二缓存行的读取次数,所述远端节点为芯片中除所述HomeLLC所在的节点之外的节点;所述第一复制单元用于当所述片上网络计数器的当前值与远端计数器的当前值之和大于预设传输开销阈值时,将修改后的第二缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中,其中,所述修改后的第二缓存行为响应所述写请求包对所述第二缓存行进行写操作而生成的缓存行本文档来自技高网...
一种数据分配方法和装置

【技术保护点】
一种数据分配方法,其特征在于,包括:请求节点向本地Home末级缓存LLC所在的节点发送请求包;当所述Home LLC所在的节点接收到所述请求包时,根据所述请求包识别所述请求节点与所述Home LLC所在的节点之间的传输开销是否超过预设传输开销阈值;当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述Home LLC中复制到所述请求节点的LLC中。

【技术特征摘要】
1.一种数据分配方法,其特征在于,包括:请求节点向本地Home末级缓存LLC所在的节点发送请求包;当所述HomeLLC所在的节点接收到所述请求包时,根据所述请求包识别所述请求节点与所述HomeLLC所在的节点之间的传输开销是否超过预设传输开销阈值;当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中。2.如权利要求1所述的方法,其特征在于,所述请求节点向HomeLLC所在的节点发送请求包的过程中所述请求包每经过一个节点时,所述请求包中片上网络计数器加N,其中,所述N为大于或者等于1的整数;所述根据所述请求包识别所述请求节点与所述HomeLLC所在的节点之间的传输开销是否超过预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值。3.如权利要求2所述的方法,其特征在于,所述请求包为向所述HomeLLC所在的节点读取数据的读请求包;所述方法还包括:当所述HomeLLC所在的节点接收到所述请求包时,将预设的用于统计所述请求节点读取第一缓存行的读取次数的本地计数器加N,其中,所述第一缓存行为所述读请求包所读取的数据所在的缓存行;所述判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值与所述本地计数器的当前值之和是否大于预设传输开销阈值;所述当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中,包括:当所述片上网络计数器的当前值与所述本地计数器的当前值之和大于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中。4.如权利要求3所述的方法,其特征在于,所述方法还包括:当所述片上网络计数器的当前值与所述本地计数器的当前值之和小于或者等于所述预设传输开销阈值时,将所述第一缓存行从所述HomeLLC中复制到所述请求节点的一级缓存中。5.如权利要求2所述的方法,其特征在于,所述请求包为向所述HomeLLC的第二缓存行进行写操作的写请求包;所述判断所述请求包中的所述片上网络计数器的当前值是否大于预设传输开销阈值,包括:判断所述请求包中的所述片上网络计数器的当前值与远端计数器的当前值之和是否大于预设传输开销阈值,其中,所述远端计数器为预先设置用于统计远端节点读取所述第二缓存行的读取次数,所述远端节点为芯片中除所述HomeLLC所在的节点之外的节点;所述当所述传输开销超过预设传输开销阈值时,将所述请求包所请求的数据所在的缓存行从所述HomeLLC中复制到所述请求节点的LLC中,包括:当所述片上网络计数器的当前值与所述远端计数器的当前值之和大于预设传输开销阈值时,将修改后的第二缓存行从所述HomeLLC中复制到所述请求节点的LLC和一级缓存中,其中,所述修改后的第二缓存行为响应所述写请求包对所述第二缓存行进行写操作而生成的缓存行。6.如权利要求5所述的方法,...

【专利技术属性】
技术研发人员:黄勤业张广飞顾雄礼
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1