Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONSISTENCY PROCESSING METHOD AND DEVICE BASED ON MULTI-CORE PROCESSOR
Document Type and Number:
WIPO Patent Application WO/2014/206232
Kind Code:
A1
Abstract:
A consistency processing method and device based on a multi-core processor. According to the number of second cores which share target shared data in a multi-core processor, consistency processing is performed on the target shared data by using a directory protocol or a snooping protocol, so that the consistency processing can be performed on the target shared data by using an appropriate protocol. In addition, because using the same protocol to perform the consistency processing on all the target shared data in the multi-core processor is avoided, one part of the shared data uses the snooping protocol, and the other part of the shared data uses the directory protocol, so that not only the directory entry occupied by the shared data which uses the directory protocol in a sparse directory is saved, but also broadcast messages produced by the shared data which uses the directory protocol when performing the consistency processing is saved compared with the prior art, thus the consistency processing efficiency is improved.

Inventors:
ZHANG LUNKAI (CN)
FAN DONGRUI (CN)
YE XIAOCHUN (CN)
WANG DA (CN)
Application Number:
PCT/CN2014/080169
Publication Date:
December 31, 2014
Filing Date:
June 18, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F12/08; G06F12/0815
Foreign References:
US20050144395A12005-06-30
CN102103568A2011-06-22
CN102281332A2011-12-14
CN101354682A2009-01-28
US20090172294A12009-07-02
Download PDF:
Claims:
权利 要求 书

1、 一种基于多内核处理器的一致性处理方法, 其特征在于, 包括: 接收多内核处理器中第一内核发送的一致性请求消息; 所述一致性 请求消息用于指示待进行一致性处理的目标共享数据;

根据所述多内核处理器中第二内核的数量, 选择釆用目录协议或侦 听协议中的一种对所述目标共享数据进行一致性处理; 所述第二内核为 共享所述目标共享数据的内核。

2、 根据权利要求 1所述的基于多内核处理器的一致性处理方法, 其 特征在于, 所述目标共享数据为片外内存的目标数据页中的数据; 所述 片外内存用于为所述多内核处理器提供所述目标共享数据。

3、根据权利要求 1或 2所述的基于多内核处理器的一致性处理方法, 其特征在于, 所述根据所述多内核处理器中第二内核的数量, 选择釆用 目录协议或侦听协议中的一种对所述目标共享数据进行一致性处理, 包 括: 判断所述第二内核的数量是否大于预先确定的共享阔值; 所述共享 阔值为大于零且小于所述多内核处理器的内核数量的整数; 若所述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所 述目标共享数据进行一致性处理; 若所述第二内核的数量大于所述共享阔值, 则釆用目录协议对所述 目标共享数据进行一致性处理。

4、 根据权利要求 3所述的基于多内核处理器的一致性处理方法, 其 特征在于, 所述根据所述多内核处理器中第二内核的数量, 选择釆用目 录协议或侦听协议中的一种对所述目标共享数据进行一致性处理之后, 包括: 根据所述多内核处理器的网络冲突率和所述多内核处理器的稀疏目 录替换率, 更新所述共享阔值; 所述网络冲突率, 指示用于在所述多内 核处理器的内核之间传递消,包、的网络的拥塞程度; 所述稀疏目录替换率, 指示所述多内核处理器中的稀疏目录的存储空间占用程度; 若所述多内核处理器的内核中緩存有所述片外内存的第一数据页中 的数据, 删除所述多内核处理器的内核緩存的所述第一数据页中的数据, 以使所述多内核处理器中的稀疏目录删除所述第一数据页对应的目录 项; 所述第一数据页对应的目录项用于记录对所述第一数据页的各个数 据块中的数据进行緩存的内核; 所述第一数据页满足緩存所述第一数据 页中的数据的内核数量大于更新后的共享阔值。

5、 根据权利要求 4所述的基于多内核处理器的一致性处理方法, 其 特征在于, 所述根据所述网络冲突率和所述稀疏目录替换率, 更新所述 共享阔值, 包括:

若所述网络冲突率高于第一阔值, 并且所述稀疏目录替换率低于第 三阔值, 则确定所述更新后的共享阈值为所述共享阈值的二倍;

若所述网络冲突率低于第二阔值, 并且所述稀疏目录替换率高于第 四阔值, 则确定所述更新后的共享阔值为所述共享阔值的一半。

6、 根据权利要求 4所述的基于多内核处理器的一致性处理方法, 其 特征在于, 所述网络冲突率为实际传递时间和理论传递时间之差, 与所 述理论传递时间之间的比值; 所述理论传递时间是计算获得的当所述网 络的状态为畅通时, 至少一个测试消息在所述网络中进行传递所需的总 时间; 所述实际传递时间是统计获得的所述至少一个测试消息在所述网 络中进行传递所实际使用的总时间。

7、 根据权利要求 4所述的基于多内核处理器的一致性处理方法, 其 特征在于, 所述稀疏目录替换率为所述稀疏目录在指定时间执行读操作 的次数, 与所述指定时间内所述稀疏目录的空闲存储空间大小为零的次 数之间的比值。

8、 一种基于多内核处理器的一致性处理装置, 其特征在于, 包括: 接收模块, 用于接收多内核处理器中第一内核发送的一致性请求消 息; 所述一致性请求消息用于指示待进行一致性处理的目标共享数据; 处理模块, 用于根据所述多内核处理器中第二内核的数量, 选择釆 用目录协议或侦听协议中的一种对所述目标共享数据进行一致性处理; 所述第二内核为共享所述目标共享数据的内核。

9、 根据权利要求 8所述的基于多内核处理器的一致性处理装置, 其 特征在于, 所述目标共享数据为片外内存的目标数据页中的数据; 所述 片外内存用于为所述多内核处理器提供所述目标共享数据。

10、 根据权利要求 8或 9所述的基于多内核处理器的一致性处理装 置, 其特征在于, 所述处理模块, 包括: 判断单元, 用于判断所述第二内核的数量是否大于预先确定的共享 阔值; 所述共享阔值为大于零且小于所述多内核处理器的内核数量的整 数;

第一处理单元, 用于若所述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所述目标共享数据进行一致性处理; 第二处理单元, 用于若所述第二内核的数量大于所述共享阔值, 则 釆用目录协议对所述目标共享数据进行一致性处理。

11、 根据权利要求 10所述的基于多内核处理器的一致性处理装置, 其特征在于, 所述基于多内核处理器的一致性处理装置, 还包括: 更新模块, 用于根据所述多内核处理器的网络冲突率和所述多内核 处理器的稀疏目录替换率, 更新所述共享阔值; 所述网络冲突率, 指示 用于在所述多内核处理器的内核之间传递消息的网络的拥塞程度; 所述 稀疏目录替换率, 指示所述多内核处理器中的稀疏目录的存储空间占用 程度; 删除模块, 用于若所述多内核处理器的内核中緩存有所述片外内存 的第一数据页中的数据, 删除所述多内核处理器的内核緩存的所述第一 数据页中的数据, 以使所述多内核处理器中的稀疏目录删除所述第一数 据页对应的目录项; 所述第一数据页对应的目录项用于记录对所述第一 数据页的各个数据块中的数据进行緩存的内核; 所述第一数据页满足緩 存所述第一数据页中的数据的内核数量大于更新后的共享阔值。

12、 根据权利要求 11所述的基于多内核处理器的一致性处理装置, 其特征在于, 所述更新模块, 包括: 第一更新单元, 用于若所述网络冲突率高于第一阔值, 并且所述稀 疏目录替换率低于第三阔值, 则确定所述更新后的共享阔值为所述共享 阔值的二倍; 第二更新单元, 用于若所述网络冲突率低于第二阔值, 并且所述稀 疏目录替换率高于第四阔值, 则确定所述更新后的共享阔值为所述共享 阔值的一半。

13、 根据权利要求 11所述的基于多内核处理器的一致性处理装置, 其特征在于, 所述网络冲突率为实际传递时间和理论传递时间之差, 与 所述理论传递时间之间的比值; 所述理论传递时间是计算获得的当所述 网络的状态为畅通时, 至少一个测试消息在所述网络中进行传递所需的 总时间; 所述实际传递时间是统计获得的所述至少一个测试消息在所述 网络中进行传递所实际使用的总时间。

14、 根据权利要求 11所述的基于多内核处理器的一致性处理装置, 其特征在于, 所述稀疏目录替换率为所述稀疏目录在指定时间执行读操 作的次数, 与所述指定时间内所述稀疏目录的空闲存储空间大小为零的 次数之间的比值。

Description:
基于多内核处理器的一致性处理方法和装置 本申请要求于 2013 年 6 月 26 日提交中国专利局、 申请号为 201310260830.3、发明名称为 "基于多内核处理器的一致性处理方法和装置" 的中国专利申请的优先权, 上述专利申请的全部内容通过引用结合在本申 请 中。

技术领域

本发明涉及数据存储技术, 尤其涉及一种基于多内核处理器的一致 性处理方法和装置。

背景技术

多内核处理器是指在一枚处理器中集成了多个 内核。 多内核处理器与用 于存储各个共享数据的片外内存连接, 片外内存包括多个数据页, 每个数据 页包括多个数据块。 多内核处理器的内核通过网络相互连接, 该网络用于在 内核间传递消息。 多内核处理器中的每个内核包括处理器核、 片内緩存、 旁 路转换緩冲 ( Translation lookaside buffer, TLB )和稀疏目录。 内核在对片外 内存中的共享数据进行操作之前, 需要将共享数据緩存到该内核的片内緩存 中, 若至少两个内核的片内緩存中緩存有片外内存 中的同一共享数据, 其中 一个内核对所緩存的共享数据进行写操作后, 则会造成写操作后的共享数据 与其余内核中所緩存的共享数据不一致, 因此, 需要多内核处理器维护共享 数据的一致性。

现有技术中, 多内核处理器釆用目录协议和侦听协议中的一 种维护共享 数据的一致性。 由于目录协议需要在稀疏目录中存储目录项, 利用目录项记 录緩存各个共享数据的内核, 从而根据该稀疏目录中的目录项对内核中存储 的共享数据进行一致性处理, 造成釆用目录协议的多内核处理器存储开销较 大, 一致性处理效率较低; 另外, 尽管侦听协议不必在稀疏目录中存储目录 项, 但由于侦听协议需要釆用广播消息的方式获知 緩存有共享数据的内核, 从而对共享数据进行一致性处理, 造成釆用侦听协议的多内核处理器信令开 销较大, 同样造成一致性处理效率较低。

发明内容

本发明实施例提供一种基于多内核处理器的一 致性处理方法和装 置, 用于提高一致性处理效率。

第一方面是提供一种基于多内核处理器的一致 性处理方法, 包括: 接收多内核处理器中第一内核发送的一致性请 求消息; 所述一致性请求 消息用于指示待进行一致性处理的目标共享数 据; 根据所述多内核处理 器中第二内核的数量, 选择釆用目录协议或侦听协议中的一种对所述 目 标共享数据进行一致性处理; 所述第二内核为共享所述目标共享数据的 内核。

在第一方面的第一种可能的实现方式中, 所述目标共享数据为片外 内存的目标数据页中的数据; 所述片外内存用于为所述多内核处理器提 供所述目标共享数据。

结合第一方面或第一方面的第一种可能的实现 方式, 在第一方面的 第二种可能的实现方式中, 所述根据所述多内核处理器中第二内核的数 量, 选择釆用目录协议或侦听协议中的一种对所述 目标共享数据进行一 致性处理, 包括: 判断所述第二内核的数量是否大于预先确定的 共享阔 值;所述共享阔值为大于零且小于所述多内核 处理器的内核数量的整数; 若所述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所述目 标共享数据进行一致性处理;若所述第二内核 的数量大于所述共享阔值, 则釆用目录协议对所述目标共享数据进行一致 性处理。

结合第一方面的第二种可能的实现方式, 在第一方面的第三种可能 的实现方式中, 所述根据所述多内核处理器中第二内核的数量 , 选择釆 用目录协议或侦听协议中的一种对所述目标共 享数据进行一致性处理之 后, 包括: 根据所述多内核处理器的网络冲突率和所述多 内核处理器的 稀疏目录替换率, 更新所述共享阔值; 所述网络冲突率, 指示用于在所 述多内核处理器的内核之间传递消息的网络的 拥塞程度; 所述稀疏目录 替换率, 指示所述多内核处理器中的稀疏目录的存储空 间占用程度; 若 所述多内核处理器的内核中緩存有所述片外内 存的第一数据页中的数 据, 删除所述多内核处理器的内核緩存的所述第一 数据页中的数据, 以 使所述多内核处理器中的稀疏目录删除所述第 一数据页对应的目录项; 所述第一数据页对应的目录项用于记录对所述 第一数据页的各个数据块 中的数据进行緩存的内核; 所述第一数据页满足緩存所述第一数据页中 的数据的内核数量大于更新后的共享阔值。

结合第一方面的第三种可能的实现方式, 在第一方面的第四种可能 的实现方式中, 所述根据所述网络冲突率和所述稀疏目录替换 率, 更新 所述共享阔值, 包括: 若所述网络冲突率高于第一阔值, 并且所述稀疏 目录替换率低于第三阔值, 则确定所述更新后的共享阔值为所述共享阔 值的二倍; 若所述网络冲突率低于第二阈值, 并且所述稀疏目录替换率 高于第四阔值, 则确定所述更新后的共享阔值为所述共享阔值 的一半。

结合第一方面的第三种可能的实现方式, 在第一方面的第五种可能 的实现方式中, 所述网络冲突率为实际传递时间和理论传递时 间之差, 与所述理论传递时间之间的比值; 所述理论传递时间是计算获得的当所 述网络的状态为畅通时, 至少一个测试消息在所述网络中进行传递所需 的总时间; 所述实际传递时间是统计获得的所述至少一个 测试消息在所 述网络中进行传递所实际使用的总时间。

结合第一方面的第三种可能的实现方式, 在第一方面的第六种可能 的实现方式中, 所述稀疏目录替换率为所述稀疏目录在指定时 间执行读 操作的次数, 与所述指定时间内所述稀疏目录的空闲存储空 间大小为零 的次数之间的比值。

第二个方面是提供一种基于多内核处理器的一 致性处理装置, 包括: 接收模块, 用于接收多内核处理器中第一内核发送的一致 性请求消 息; 所述一致性请求消息用于指示待进行一致性处 理的目标共享数据; 处理模块, 用于根据所述多内核处理器中第二内核的数量 , 选择釆 用目录协议或侦听协议中的一种对所述目标共 享数据进行一致性处理; 所述第二内核为共享所述目标共享数据的内核 。

在第二方面的第一种可能的实现方式中, 所述目标共享数据为片外 内存的目标数据页中的数据; 所述片外内存用于为所述多内核处理器提 供所述目标共享数据。

结合第二方面或第二方面的第一种可能的实现 方式, 在第二方面的 第二种可能的实现方式中, 所述处理模块, 包括:

判断单元, 用于判断所述第二内核的数量是否大于预先确 定的共享 阔值; 所述共享阔值为大于零且小于所述多内核处理 器的内核数量的整 数;

第一处理单元, 用于若所述第二内核的数量不大于所述共享阔 值, 则釆用侦听协议对所述目标共享数据进行一致 性处理;

第二处理单元, 用于若所述第二内核的数量大于所述共享阔值 , 则 釆用目录协议对所述目标共享数据进行一致性 处理。

结合第二方面的第二种可能的实现方式, 在第二方面的第三种可能 的实现方式中, 所多内核处理器的一致性处理装置, 还包括:

更新模块, 用于根据所述多内核处理器的网络冲突率和所 述多内核 处理器的稀疏目录替换率, 更新所述共享阔值; 所述网络冲突率, 指示 用于在所述多内核处理器的内核之间传递消息 的网络的拥塞程度; 所述 稀疏目录替换率, 指示所述多内核处理器中的稀疏目录的存储空 间占用 程度;

删除模块, 用于若所述多内核处理器的内核中緩存有所述 片外内存 的第一数据页中的数据, 删除所述多内核处理器的内核緩存的所述第一 数据页中的数据, 以使所述多内核处理器中的稀疏目录删除所述 第一数 据页对应的目录项; 所述第一数据页对应的目录项用于记录对所述 第一 数据页的各个数据块中的数据进行緩存的内核 ; 所述第一数据页满足緩 存所述第一数据页中的数据的内核数量大于更 新后的共享阔值。 结合第二方面的第三种可能的实现方式, 在第二方面的第四种可能 的实现方式中, 所述更新模块, 包括:

第一更新单元, 用于若所述网络冲突率高于第一阔值, 并且所述稀 疏目录替换率低于第三阔值, 则确定所述更新后的共享阔值为所述共享 阔值的二倍;

第二更新单元, 用于若所述网络冲突率低于第二阔值, 并且所述稀 疏目录替换率高于第四阔值, 则确定所述更新后的共享阔值为所述共享 阔值的一半。

结合第二方面的第三种可能的实现方式, 在第二方面的第五种可能 的实现方式中, 所述网络冲突率为实际传递时间和理论传递时 间之差, 与所述理论传递时间之间的比值; 所述理论传递时间是计算获得的当所 述网络的状态为畅通时, 至少一个测试消息在所述网络中进行传递所需 的总时间; 所述实际传递时间是统计获得的所述至少一个 测试消息在所 述网络中进行传递所实际使用的总时间。

结合第二方面的第三种可能的实现方式, 在第二方面的第六种可能 的实现方式中, 所述稀疏目录替换率为所述稀疏目录在指定时 间执行读 操作的次数, 与所述指定时间内所述稀疏目录的空闲存储空 间大小为零 的次数之间的比值。

本发明实施例提供的基于多内核处理器的一致 性处理方法和装置, 根据多内核处理器中对目标共享数据进行共享 的第二内核的数量, 釆用 目录协议或侦听协议对目标共享数据进行一致 性处理, 从而能够对该目 标共享数据釆用适合的协议进行一致性处理, 并且由于避免了对多内核 处理器中的全部共享数据釆用相同的协议进行 一致性处理, 对部分共享 数据釆用侦听协议, 另一部分共享数据釆用目录协议, 从而相比较于现 有技术不仅节省了釆用侦听协议的共享数据在 稀疏目录中所占用的目录 项, 而且节省了釆用目录协议的共享数据进行一致 性处理时所产生广播 消息, 因而提高了一致性处理效率。 附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将 对实施例或现有技术描述中所需要使用的附图 作简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人 员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他 的附图。

图 1为本发明一实施例提供的基于多内核处理器 一致性处理方法 的流程示意图;

图 2为本发明另一实施例提供的基于多内核处理 的一致性处理方 法的流程示意图;

图 3为本发明一实施例提供的基于多内核处理器 一致性处理装置 的结构示意图;

图 4为本发明另一实施例提供的基于多内核处理 的一致性处理装 置的结构示意图;

图 5为本发明又一实施例提供的基于多内核处理 的一致性处理装 置的结构示意图。

具体实施方式

为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合 本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整 地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的 实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

图 1为本发明一实施例提供的基于多内核处理器 一致性处理方法 的流程示意图, 如图 1所示, 本实施例可以包括以下步骤:

101、 接收多内核处理器中第一内核发送的一致性请 求消息。

其中, 一致性请求消息用于指示待进行一致性处理的 目标共享数 据。 102、 根据多内核处理器中第二内核的数量, 选择釆用目录协议或 侦听协议中的一种对目标共享数据进行一致性 处理。

其中, 第二内核为共享所述目标共享数据的内核, 具体可为对所述 目标共享数据进行操作的内核, 操作包括读操作和写操作。

可选的, 判断第二内核的数量是否大于预先确定的共享 阔值, 若所 述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所述目标共 享数据进行一致性处理, 若所述第二内核的数量大于所述共享阔值, 则 釆用目录协议对所述目标共享数据进行一致性 处理。 其中, 共享阔值为 大于零且小于多内核处理器的内核数量的整数 。 其中, 所述共享阔值是 根据所述多内核处理器的网络冲突率和所述多 内核处理器的稀疏目录 替换率确定的。 所述网络冲突率, 指示用于在所述多内核处理器的内核 之间传递消息的网络的拥塞程度; 所述稀疏目录替换率, 指示所述多内 核处理器中的稀疏目录的存储空间占用程度。

本实施例中, 根据多内核处理器中对目标共享数据进行共享 的第二 内核的数量, 釆用目录协议或侦听协议对目标共享数据进行 一致性处 理, 能够对该目标共享数据釆用适合的协议进行一 致性处理, 并且由于 避免了对多内核处理器中的全部共享数据釆用 相同的协议进行一致性 处理,对部分共享数据釆用侦听协议,另一部 分共享数据釆用目录协议, 从而相比较于现有技术不仅节省了釆用侦听协 议的共享数据在稀疏目 录中所占用的目录项, 而且节省了釆用目录协议的共享数据进行一致 性 处理时所产生广播消息, 因而提高了一致性处理效率。

图 2为本发明另一实施例提供的基于多内核处理 的一致性处理方 法的流程示意图, 本实施例中的目标共享数据为片外内存的目标 数据页 中的数据, 如图 2所示, 本实施例可以包括以下步骤:

201、 接收多内核处理器中第一内核发送的一致性请 求消息。

其中, 一致性请求消息用于指示待进行一致性处理的 目标共享数 据。

当第一内核需要对目标共享数据进行读操作或 写操作之前, 若第一 内核没有緩存该目标共享数据, 则发送一致性请求消息, 以获取该目标 共享数据以及获知緩存有该目标共享数据的内 核。 若第一内核緩存有该 目标共享数据或者第一内核获取到该目标共享 数据, 第一内核发送一致 性请求消息, 以获知緩存有该目标共享数据的内核, 以使第一内核对该 目标共享数据进行写操作之后, 删除所获知的緩存有该目标共享数据的 内核中的目标共享数据, 完成一致性处理。

202、 查询第一内核的 TLB中存储的共享列表, 获取多内核处理器 中第二内核的数量。

其中, 共享列表用于记录对片外内存的各个数据页中 数据进行共享 的内核的标识。 第二内核为共享所述目标共享数据的内核。

可选的, 将多内核处理器中对目标共享数据进行过读操 作或写操作 的内核, 作为对目标共享数据进行共享的第二内核, 根据目标共享数据 在片外内存中的存储地址, 查询第一内核的 TLB 中存储的共享列表, 获取该存储地址对应的内核标识, 进而获取多内核处理器中共享目标共 享数据的第二内核的数量。 其中, 共享列表可在 TLB 中的页表项中增 加页共享列表获得, 共享列表包括: 数据页的虚拟地址、 数据页的有效 位、 数据页的物理地址和数据页的页共享列表, 页共享列表用于记录对 数据页中数据进行操作的内核标识。

203、 判断第二内核的数量是否大于预先确定的共享 阔值, 若是执 行 205 , 否则执行 204。

其中, 共享阔值为大于零且小于所述多内核处理器的 内核数量的整 数。 可确定初始的共享阔值为 1 , 即仅在目标数据页的状态为独占时, 也就是说, 第二内核数量为 1时, 釆用侦听协议, 否则釆用目录协议。

204、 若第二内核的数量不大于共享阔值, 则釆用侦听协议对目标 共享数据进行一致性处理。

可选的, 若第二内核的数量不大于共享阔值, 则对各个第二内核多 播侦听消息, 以使各个第二内核中緩存目标共享数据的第二 内核向所述 第一内核发送緩存的所述目标共享数据, 以及未緩存所述目标共享数据 的第二内核向所述第一内核发送用于指示未緩 存所述目标共享数据的 响应消息, 从而第一内核获取目标共享数据。 若第一内核对获取的目标 共享数据进行的操作为写操作, 则第一内核对获取的目标共享数据进行 操作之后, 删除緩存目标共享数据的第二内核中所緩存的 目标共享数 据, 对稀疏目录中所记录的緩存目标共享数据的第 二内核进行更新, 以 完成一致性处理。 由于釆用了侦听协议对目标共享数据进行一致 性处 理, 避免了该目标共享数据占用稀疏目录的存储容 量。

205、 若所述第二内核的数量大于所述共享阔值, 则釆用目录协议 对目标共享数据进行一致性处理。

可选的, 若第二内核的数量大于共享阔值, 则根据稀疏目录确定緩 存目标共享数据的第二内核, 其中, 稀疏目录用于当第二内核的数量大 于共享阔值时, 记录緩存目标共享数据的第二内核。 向緩存目标共享数 据的第二内核发送数据请求消息, 以使緩存目标共享数据的第二内核向 第一内核发送緩存的目标共享数据, 从而获取目标共享数据。 若第一内 核对获取的目标共享数据进行的操作为写操作 , 则第一内核对获取的目 标共享数据进行操作之后, 删除緩存目标共享数据的第二内核中所緩存 的目标共享数据, 对稀疏目录中所记录的緩存目标共享数据的第 二内核 进行更新, 以完成一致性处理。

206、 计算多内核处理器的网络冲突率和多内核处理 器的稀疏目录 替换率。

其中, 网络冲突率, 指示用于在多内核处理器的内核之间传递消息 的网络的拥塞程度。 稀疏目录替换率, 指示所述多内核处理器中的稀疏 目录的存储空间占用程度。

可选的, 执行 204或 205之后, 网络冲突率为实际传递时间和理论 传递时间之差, 与所述理论传递时间之间的比值。 其中, 理论传递时间 是计算获得的当所述网络的状态为畅通时, 至少一个测试消息在所述网 络中进行传递所需的总时间; 实际传递时间是统计获得的所述至少一个 测试消息在所述网络中进行传递所实际使用的 总时间。稀疏目录替换率 为所述稀疏目录在指定时间执行读操作的次数 , 与指定时间内所述稀疏 目录的空闲存储空间大小为零的次数之间的比 值。

207、 根据多内核处理器的网络冲突率和多内核处理 器的稀疏目录 替换率, 更新共享阔值。

可选的, 釆用目录协议或侦听协议对所述目标共享数据 进行一致性 处理之后, 若网络冲突率高于第一阔值, 例如: 80% , 并且稀疏目录替 换率低于第三阔值, 例如: 1% , 则确定更新后的共享阔值为所述共享 阔值的二倍, 若网络冲突率低于第二阔值, 例如: 2% , 并且所述稀疏 目录替换率高于第四阔值, 例如: 15% , 则确定所述更新后的共享阔值 为所述共享阔值的一半, 否则, 不进行更新。 本实施例中的多内核处理 器通过根据网络拥塞程度和稀疏目录的空间占 用程度确定共享阈值, 进 而动态调整釆用目录协议和侦听协议的比例, 使其达到最佳平衡点, 从 而使得网络拥塞程度和稀疏目录的空间占用程 度达到动态平衡, 提高一 致性的效率, 提高多内核处理器性能。

需要说明的是, 还可每隔指定的多内核处理器的时钟周期之后 进行 共享阔值的更新。

208、 删除所述多内核处理器的内核中緩存的所述第 一数据页中的 数据。

其中, 第一数据页满足緩存所述第一数据页中的数据 的内核数量大 于更新后的共享阔值。

可选的, 若多内核处理器的内核中緩存有片外内存的第 一数据页中 的数据, 删除多内核处理器的内核中存储的第一数据页 中的数据, 以使 所述多内核处理器中的稀疏目录相应地删除第 一数据页对应的目录项, 其中, 第一数据页对应的目录项用于记录緩存第一数 据页的各个数据块 中的数据的内核。

本实施例中, 根据多内核处理器中对目标共享数据进行共享 的第二 内核的数量, 釆用目录协议或侦听协议对目标共享数据进行 一致性处 理, 能够对该目标共享数据釆用适合的协议进行一 致性处理, 并且由于 避免了对多内核处理器中的全部共享数据釆用 相同的协议进行一致性 处理,对部分共享数据釆用侦听协议,另一部 分共享数据釆用目录协议, 从而相比较于现有技术不仅节省了釆用侦听协 议的共享数据在稀疏目 录中所占用的目录项, 而且节省了釆用目录协议的共享数据进行一致 性 处理时所产生广播消息, 因而提高了一致性处理效率。

图 3为本发明一实施例提供的基于多内核处理器 一致性处理装置 的结构示意图, 如图 3所示, 包括: 接收模块 31和处理模块 32。

接收模块 31 ,用于接收多内核处理器中第一内核发送的一 性请求 消息。

其中, 一致性请求消息用于指示待进行一致性处理的 目标共享数 据。

处理模块 32 , 与接收模块 31连接, 用于根据所述多内核处理器中 第二内核的数量, 选择釆用目录协议或侦听协议中的一种对所述 目标共 享数据进行一致性处理。

其中, 第二内核为共享所述目标共享数据的内核。

可选的, 判断所述第二内核的数量是否大于预先确定的 共享阔值, 若所述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所述目 标共享数据进行一致性处理, 若所述第二内核的数量大于所述共享阔 值, 则釆用目录协议对所述目标共享数据进行一致 性处理。 其中, 共享 阔值为大于零且小于所述多内核处理器的内核 数量的整数。

本实施例提供的基于多内核处理器的一致性处 理装置的各功能模 块可用于执行图 1所示的基于多内核处理器的一致性处理装置 法的流 程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例中, 根据多内核处理器中对目标共享数据进行共享 的第二 内核的数量, 釆用目录协议或侦听协议对目标共享数据进行 一致性处 理, 能够对该目标共享数据釆用适合的协议进行一 致性处理, 并且由于 避免了对多内核处理器中的全部共享数据釆用 相同的协议进行一致性 处理,对部分共享数据釆用侦听协议,另一部 分共享数据釆用目录协议, 从而相比较于现有技术不仅节省了釆用侦听协 议的共享数据在稀疏目 录中所占用的目录项, 而且节省了釆用目录协议的共享数据进行一致 性 处理时所产生广播消息, 因而提高了一致性处理效率。

图 4为本发明另一实施例提供的基于多内核处理 的一致性处理装 置的结构示意图, 如图 4所示, 在上一实施例的基础上, 本实施例中的 处理模块 32 , 包括: 判断单元 321、 第一处理单元 322和第二处理单元 323。

判断单元 321 , 用于判断所述第二内核的数量是否大于预先确 定的 共享阔值; 所述共享阔值为大于零且小于所述多内核处理 器的内核数量 的整数;

第一处理单元 322 , 与判断单元 321连接, 用于若所述第二内核的 数量不大于所述共享阔值, 则釆用侦听协议对所述目标共享数据进行一 致性处理;

第二处理单元 323 , 与判断单元 321连接, 用于若所述第二内核的 数量大于所述共享阔值, 则釆用目录协议对所述目标共享数据进行一致 性处理。

进一步, 目标共享数据为片外内存的目标数据页中的数 据。

其中, 片外内存与多内核处理器连接, 用于存储目标共享数据。 基于此,基于多内核处理器的一致性处理装置 还包括: 更新模块 33 和删除模块 34。

更新模块 33 , 与处理模块 32连接, 用于根据多内核处理器的网络 冲突率和多内核处理器的稀疏目录替换率, 更新共享阔值。

其中, 网络冲突率, 指示用于在所述多内核处理器的内核之间传递 消息的网络的拥塞程度; 稀疏目录替换率, 指示所述多内核处理器中的 稀疏目录的存储空间占用程度。

删除模块 34 , 与更新模块 33连接, 用于若所述多内核处理器的内 核中緩存有所述片外内存的第一数据页中的数 据, 删除所述多内核处理 器的内核緩存的所述第一数据页中的数据, 以使所述多内核处理器中的 稀疏目录删除所述第一数据页对应的目录项。

其中, 第一数据页对应的目录项用于记录对所述第一 数据页的各个 数据块中的数据进行緩存的内核; 所述第一数据页满足緩存所述第一数 据页中的数据的内核数量大于更新后的共享阔 值。

进一步,更新模块 33包括:第一更新单元 331和第二更新单元 332。 第一更新单元 331 , 用于若所述网络冲突率高于第一阈值, 并且所 述稀疏目录替换率低于第三阈值, 则确定所述更新后的共享阈值为所述 共享阈值的二倍。

其中, 网络冲突率为实际传递时间和理论传递时间之 差, 与所述理 论传递时间之间的比值。 理论传递时间是计算获得的当所述网络的状态 为畅通时, 至少一个测试消息在所述网络中进行传递所需 的总时间; 实 际传递时间是统计获得的所述至少一个测试消 息在所述网络中进行传 递所实际使用的总时间。稀疏目录替换率为所 述稀疏目录在指定时间执 行读操作的次数, 与指定时间内所述稀疏目录的空闲存储空间大 小为零 的次数之间的比值。

第二更新单元 332 , 用于若所述网络冲突率低于第二阔值, 并且所 述稀疏目录替换率高于第四阔值, 则确定所述更新后的共享阔值为所述 共享阔值的一半。

本实施例提供的基于多内核处理器的一致性处 理装置的各功能模 块可用于执行图 2所示的基于多内核处理器的一致性处理装置 法的流 程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例中, 根据多内核处理器中对目标共享数据进行共享 的第二 内核的数量, 釆用目录协议或侦听协议对目标共享数据进行 一致性处 理, 能够对该目标共享数据釆用适合的协议进行一 致性处理, 并且由于 避免了对多内核处理器中的全部共享数据釆用 相同的协议进行一致性 处理,对部分共享数据釆用侦听协议,另一部 分共享数据釆用目录协议, 从而相比较于现有技术不仅节省了釆用侦听协 议的共享数据在稀疏目 录中所占用的目录项, 而且节省了釆用目录协议的共享数据进行一致 性 处理时所产生广播消息, 因而提高了一致性处理效率。

图 5为本发明又一实施例提供的基于多内核处理 的一致性处理装 置的结构示意图, 如图 5所示, 包括: 通信接口 51、 处理器 52和存储 器 53。

通信接口 51 ,用于接收多内核处理器中第一内核发送的一 性请求 消息。

其中, 一致性请求消息用于指示待进行一致性处理的 目标共享数 据。

存储器 53 , 用于存放程序。 具体地, 程序可以包括程序代码, 所述 程序代码包括计算机操作指令。 存储器 53可能包含高速 RAM存储器, 也可能还包括非易失性存储器(non-volatile memory ), 例如至少一个磁 盘存储器。

处理器 52 , 用于执行存储器 53存放的程序, 以用于: 根据所述多 内核处理器中第二内核的数量, 选择釆用目录协议或侦听协议中的一种 对所述目标共享数据进行一致性处理。

其中, 第二内核为共享所述目标共享数据的内核。

可选的, 判断第二内核的数量是否大于预先确定的共享 阔值, 若所 述第二内核的数量不大于所述共享阔值, 则釆用侦听协议对所述目标共 享数据进行一致性处理; 若第二内核的数量大于所述共享阔值, 则釆用 目录协议对所述目标共享数据进行一致性处理 。 其中, 共享阔值为大于 零且小于多内核处理器的内核数量的整数。

进一步, 目标共享数据为片外内存的目标数据页中的数 据。

基于此, 处理器 52 ,还用于根据所述多内核处理器的网络冲突率 所述多内核处理器的稀疏目录替换率, 更新共享阈值; 若所述多内核处 理器的内核中緩存有所述片外内存的第一数据 页中的数据, 删除所述多 内核处理器的内核緩存的所述第一数据页中的 数据, 以使所述多内核处 理器中的稀疏目录删除所述第一数据页对应的 目录项。

其中, 第一数据页对应的目录项用于记录对所述第一 数据页的各个 数据块中的数据进行緩存的内核; 所述第一数据页满足緩存所述第一数 据页中的数据的内核数量大于更新后的共享阔 值。 网络冲突率为实际传 递时间和理论传递时间之差, 与所述理论传递时间之间的比值; 所述理 论传递时间是计算获得的当所述网络的状态为 畅通时, 至少一个测试消 息在所述网络中进行传递所需的总时间; 所述实际传递时间是统计获得 的所述至少一个测试消息在所述网络中进行传 递所实际使用的总时间。 稀疏目录替换率为所述稀疏目录在指定时间执 行读操作的次数, 与所述 指定时间内所述稀疏目录的空闲存储空间大小 为零的次数之间的比值。

本实施例提供的基于多内核处理器的一致性处 理装置的各功能模 块可用于执行图 2所示的基于多内核处理器的一致性处理装置 法的流 程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例中, 根据多内核处理器中对目标共享数据进行共享 的第二 内核的数量, 釆用目录协议或侦听协议对目标共享数据进行 一致性处 理, 能够对该目标共享数据釆用适合的协议进行一 致性处理, 并且由于 避免了对多内核处理器中的全部共享数据釆用 相同的协议进行一致性 处理,对部分共享数据釆用侦听协议,另一部 分共享数据釆用目录协议, 从而相比较于现有技术不仅节省了釆用侦听协 议的共享数据在稀疏目 录中所占用的目录项, 而且节省了釆用目录协议的共享数据进行一致 性 处理时所产生广播消息, 因而提高了一致性处理效率。

本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部 分步骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一 计算机可读取存储介质中。 该程序在执行时, 执行包括上述各方法实施 例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各 种可以存储程序代码的介质。 非对其限制; 尽管参照前述各实施例对本发明进行了详细的 说明, 本领 域的普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术 方案进行修改, 或者对其中部分或者全部技术特征进行等同替 换; 而这 些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施 例技术 方案的范围。