Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR MULTIPROCESSORS TO SHARE MEMORY
Document Type and Number:
WIPO Patent Application WO/2013/097394
Kind Code:
A1
Abstract:
Disclosed are a method and system for multiprocessors to share memory. The method includes: setting at least one local interconnection network, each local interconnection network being connected to at least two function modules, setting a local shared memory unit connected to the local interconnection network, and mapping the address space of the function module to the local shared memory unit; a first function module of the at least two function modules writing the initial data after processing into the local shared memory unit; and a second function module of the at least two function modules obtaining data from the local shared memory unit via the local interconnection network. The technical solution in the present invention can solve the drawbacks that the conventional multiprocessor global shared memory system suffers significant transmission delays, management overheads, and so on.

Inventors:
YUAN XIXI (CN)
QIU FANG (CN)
TIAN XUEHONG (CN)
TIAN WANTING (CN)
ZENG DAIBING (CN)
ZHU ZHIGANG (CN)
Application Number:
PCT/CN2012/075201
Publication Date:
July 04, 2013
Filing Date:
May 08, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
YUAN XIXI (CN)
QIU FANG (CN)
TIAN XUEHONG (CN)
TIAN WANTING (CN)
ZENG DAIBING (CN)
ZHU ZHIGANG (CN)
International Classes:
G06F15/167
Foreign References:
CN101091159A2007-12-19
CN1522402A2004-08-18
CN1988034A2007-06-27
CN102077181A2011-05-25
Other References:
See also references of EP 2800008A4
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种多处理器共享存储方法, 其特征在于, 设置至少一个局部互连 网络, 每个局部互连网络与至少两个功能模块相连; 设置与所述局部互连 网络连接的局部共享存储单元, 并将所述功能模块的地址空间映射到所述 局部共享存储单元; 该方法还包括:

至少两个功能模块中的第一功能模块将处理后的初始数据通过所述局 部互连网络写入所述局部共享存储单元;

至少两个功能模块中的第二功能模块通过所述局部互连网络从所述局 部共享存储单元中获取数据。

2、 根据权利要求 1所述的方法, 其特征在于, 存在多个局部互连网络 时, 该方法还包括: 至少两个功能模块中的至少一个功能模块与至少两个 局部互连网络相连。

3、 根据权利要求 2所述的方法, 其特征在于, 该方法还包括: 第二功 能模块对获取的数据进行处理, 并通过与自身连接的其他局部互连网络, 将处理后的数据写入与所述其他局部互连网络连接的局部共享存储单元。

4、 根据权利要求 1所述的方法, 其特征在于, 存在多个局部互连网络 时, 该方法还包括: 局部互连网络间没有共同的功能模块时, 每个局部互 连网络连接的至少两个功能模块中, 至少一个功能模块与全局互连网络相 连。

5、 根据权利要求 1所述的方法, 其特征在于, 所述将所述功能模块的 地址空间映射到所述局部共享存储单元为:

将功能模块的地址空间全部映射到局部共享存储单元; 或,

将功能模块的地址空间划分为多个区域, 将多个区域的地址空间分别 映射到局部共享存储单元和全局共享存储单元; 或,

存在多个局部互连网络及局部共享存储单元时, 将功能模块的地址空 间划分为多个区域, 将多个区域的地址空间分别映射到不同的局部共享存 储单元。

6、 根据权利要求 5所述的方法, 其特征在于, 所述将功能模块的地址 空间划分为多个区域为: 通过配置存储管理单元的方式或增加硬件的存储 单元的方式将功能模块的地址空间划分为多个区域。

7、 根据权利要求 1所述的方法, 其特征在于, 所述至少两个功能模块 中的第一功能模块将处理后的初始数据通过所述局部互连网络写入所述局 部共享存储单元为:

至少两个功能模块中的第一功能模块从芯片的外部接口或全局共享存 储单元获取初始数据, 并对所述初始数据进行处理, 通过与自身连接的局 部互连网络, 将处理后的初始数据写入与所述局部互连网络连接的局部共 享存储单元。

8、 一种多处理器共享存储系统, 其特征在于, 该系统包括至少一个多 处理器共享存储子系统; 所述多处理器共享存储子系统包括: 一个局部互 连网络、 与所述局部互连网络相连的至少两个功能模块、 与所述局部互连 网络连接的局部共享存储单元; 其中,

至少两个功能模块中的第一功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于将处理后的初始数据通过所述局部互连网 络写入所述局部共享存储单元;

至少两个功能模块中的第二功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于通过所述局部互连网络从所述局部共享存 储单元中获取数据。

9、 根据权利要求 8所述的系统, 其特征在于, 该系统包括多个多处理 器共享存储子系统时, 所述至少两个功能模块中的至少一个功能模块与至 少两个局部互连网络相连。

10、 根据权利要求 9所述的系统, 其特征在于, 所述第二功能模块, 还用于对获取的数据进行处理, 并通过与自身连接的其他局部互连网络, 将处理后的数据写入与所述其他局部互连网络连接的局部共享存储单元。

11、 根据权利要求 8 所述的系统, 其特征在于, 该系统包括多个多处 理器共享存储子系统, 且多个多处理器共享存储子系统中的局部互连网络 间没有共同的功能模块时, 该系统还包括全局互连网络, 其中, 每个局部 互连网络连接的至少两个功能模块中, 至少一个功能模块与全局互连网络 相连。

12、 根据权利要求 8所述的系统, 其特征在于, 所述功能模块将自身 的地址空间映射到所述局部共享存储单元为:

将功能模块的地址空间全部映射到局部共享存储单元; 或,

将功能模块的地址空间划分为多个区域, 将多个区域的地址空间分别 映射到局部共享存储单元和全局共享存储单元; 或,

存在多个局部互连网络及局部共享存储单元时, 将功能模块的地址空 间划分为多个区域, 将多个区域的地址空间分别映射到不同的局部共享存 储单元。

Description:
一种多处理器共享存储方法及系统 技术领域

本发明涉及计算机系统领域, 尤其涉及一种多处理器共享存储方法及 系统。 背景技术

传统的多处理器全局共享存储系统如图 1和图 2所示, 其中, 功能模 块包括但不限于通用处理器模块和可配置处理 器模块等处理器模块, 全局 互连网络包括但不限于共享总线、 交叉开关、 以及 Mesh/Torus等各种拓朴 形式的连接网络, 共享存储器可采用物理集中方式或分布方式的 组织形式。 这里, 所述功能模块可包含共享存储器的本地备份 (即緩存), 图 2中的共 享存储器也可以作为紧密耦合存储器 TCM集成到功能模块内部。

在传统的多处理器全局共享存储系统中, 各个功能模块之间的数据交 换通过共享存储或消息传递实现。 在包含緩存的多处理器全局共享存储系 统中, 维护各个功能模块的緩存之间的一致性会带来 很大的硬件开销, 每 个功能模块每做一次存储访问, 必须检查其他功能模块可能包含的同一地 址存储内容的状态信息; 而且多个功能模块和共享存储器需要通过全局 互 连网络连接, 随着功能模块的增加, 全局互连网络的可伸缩性、 死锁和活 锁等处理过程使得自身的设计复杂度大大上升 , 还会带来严重的性能和功 耗等问题。 此外, 各个功能模块可能同时需要访问共享存储器, 有限的带 宽面临额外的沖突和仲裁开销, 也将影响访问共享存储器的延迟。

现有技术中, 有一种通过改变软件映射, 在不同处理器的本地私有存 储器和全局共享存储器之间交换数据的机制, 这种方案中, 所有的数据传 输仍然需要利用全局互连网络完成。 此外, 还有一种带有本地私有存储器 的多处理器系统, 部分处理器禁止从全局共享存储器空间中执行 程序, 这 种方案中, 各个处理器之间交换数据仍然需要通过全局共 享存储器完成。 同时, 还有一种将异构多核处理器的地址空间划分为 全局共享和私有空间 两部分, 并将共享空间全部保存在芯片上以实现交换数 据的技术方案, 除 主处理器外的各个处理器对共享空间的访问需 经过仲裁判断, 这种方案中, 每个处理器对应一个私有空间, 因而增加系统中的节点, 从而增加系统管 理开销, 而且保存在芯片上的共享空间的空间较小。 发明内容

有鉴于此, 本发明的主要目的在于提供一种多处理器共享 存储方法及 系统, 用以能够解决传统多处理器全局共享存储系统 的传输延迟大、 管理 开销大等缺点。

为达到上述目的, 本发明的技术方案是这样实现的:

本发明提供一种多处理器共享存储方法, 设置至少一个局部互连网络, 每个局部互连网络与至少两个功能模块相连; 设置与所述局部互连网络连 接的局部共享存储单元, 并将所述功能模块的地址空间映射到所述局部 共 享存储单元; 还包括:

至少两个功能模块中的第一功能模块将处理后 的初始数据通过所述局 部互连网络写入所述局部共享存储单元;

至少两个功能模块中的第二功能模块通过所述 局部互连网络从所述局 部共享存储单元中获取数据。

上述方法中, 存在多个局部互连网络时, 该方法还包括: 至少两个功 能模块中的至少一个功能模块与至少两个局部 互连网络相连。

上述方法中, 该方法还包括: 第二功能模块对获取的数据进行处理, 并通过与自身连接的其他局部互连网络, 将处理后的数据写入与所述其他 局部互连网络连接的局部共享存储单元。 上述方法中, 存在多个局部互连网络时, 该方法还包括: 局部互连网 络间没有共同的功能模块时, 每个局部互连网络连接的至少两个功能模块 中, 至少一个功能模块与全局互连网络相连。

上述方法中, 所述将所述功能模块的地址空间映射到所述局 部共享存 储单元为:

将功能模块的地址空间全部映射到局部共享存 储单元; 或,

将功能模块的地址空间划分为多个区域, 将多个区域的地址空间分别 映射到局部共享存储单元和全局共享存储单元 ; 或,

存在多个局部互连网络及局部共享存储单元时 , 将功能模块的地址空 间划分为多个区域, 将多个区域的地址空间分别映射到不同的局部 共享存 储单元。

上述方法中, 所述将功能模块的地址空间划分为多个区域为 : 通过配 间划分为多个区域。

上述方法中, 所述至少两个功能模块中的第一功能模块将处 理后的初 始数据通过所述局部互连网络写入所述局部共 享存储单元为:

至少两个功能模块中的第一功能模块从芯片的 外部接口或全局共享存 储单元获取初始数据, 并对所述初始数据进行处理, 通过与自身连接的局 部互连网络, 将处理后的初始数据写入与所述局部互连网络 连接的局部共 享存储单元。

本发明还提供一种多处理器共享存储系统, 包括至少一个多处理器共 享存储子系统; 所述多处理器共享存储子系统包括: 一个局部互连网络、 与所述局部互连网络相连的至少两个功能模块 、 与所述局部互连网络连接 的局部共享存储单元; 其中,

至少两个功能模块中的第一功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于将处理后的初始数据通过所述局部互连 网 络写入所述局部共享存储单元;

至少两个功能模块中的第二功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于通过所述局部互连网络从所述局部共享 存 储单元中获取数据。

上述系统中, 该系统包括多个多处理器共享存储子系统时, 所述至少 两个功能模块中的至少一个功能模块与至少两 个局部互连网络相连。

上述系统中, 所述第二功能模块, 还用于对获取的数据进行处理, 并 通过与自身连接的其他局部互连网络, 将处理后的数据写入与所述其他局 部互连网络连接的局部共享存储单元。

上述系统中, 该系统包括多个多处理器共享存储子系统, 且多个多处 理器共享存储子系统中的局部互连网络间没有 共同的功能模块时, 该系统 还包括全局互连网络, 其中, 每个局部互连网络连接的至少两个功能模块 中, 至少一个功能模块与全局互连网络相连。

上述系统中, 所述功能模块将自身的地址空间映射到所述局 部共享存 储单元为:

将功能模块的地址空间全部映射到局部共享存 储单元; 或,

将功能模块的地址空间划分为多个区域, 将多个区域的地址空间分别 映射到局部共享存储单元和全局共享存储单元 ; 或,

存在多个局部互连网络及局部共享存储单元时 , 将功能模块的地址空 间划分为多个区域, 将多个区域的地址空间分别映射到不同的局部 共享存 储单元。

本发明提供的多处理器共享存储方法及系统, 设置至少一个局部互连 网络, 每个局部互连网络与至少两个功能模块相连, 设置与所述局部互连 网络连接的局部共享存储单元, 并将所述功能模块的地址空间映射到所述 局部共享存储单元; 至少两个功能模块中的第一功能模块将处理后 的初始 数据通过所述局部互连网络写入所述局部共享 存储单元; 至少两个功能模 块中的第二功能模块通过所述局部互连网络从 所述局部共享存储单元中获 取数据, 因此, 各个功能模块间可以并行访问局部共享存储器 , 存储带宽 大大提高, 延迟大大减少, 既提升了存储模块间的数据交换性能, 又降低 了全局互连网络的拥塞和复杂度, 用以解决传统多处理器全局共享存储系 统的传输延迟大、 管理开销大等缺点。 附图说明

图 1是传统的多处理器全局共享存储系统的实施 一的结构示意图; 图 2是传统的多处理器全局共享存储系统的实施 二的结构示意图; 图 3是本发明实现多处理器共享存储方法的流程 意图;

图 4是本发明实现多处理器共享存储方法的实施 的第一示意图; 图 5是本发明实现多处理器共享存储方法的实施 的第二示意图; 图 6是本发明实现多处理器共享存储方法的实施 的第三示意图; 图 7是本发明实现多处理器共享存储方法的实施 的第四示意图 图 8是本发明实现多处理器共享存储系统的结构 意图;

图 9是本发明实现多处理器共享存储系统的实施 一的结构示意图; 图 10是本发明实现多处理器共享存储系统的实施 二的结构示意图。 具体实施方式

本发明的基本思想是: 设置至少一个局部互连网络, 每个局部互连网 络与至少两个功能模块相连, 设置与所述局部互连网络连接的局部共享存 储单元, 并将所述功能模块的地址空间映射到所述局部 共享存储单元; 至 少两个功能模块中的第一功能模块将处理后的 初始数据通过所述局部互连 网络写入所述局部共享存储单元; 至少两个功能模块中的第二功能模块通 过所述局部互连网络从所述局部共享存储单元 中获取数据。

下面通过附图及具体实施例对本发明再做进一 步的详细说明。 本发明提供一种多处理器共享存储方法, 图 3是本发明实现多处理器 共享存储方法的流程示意图, 如图 3所示, 该方法包括以下步驟:

步驟 301 ,设置至少一个局部互连网络,每个局部互连 络与至少两个 功能模块相连;

具体的, 如图 4、 图 5和图 6所示, 在多处理器共享存储系统中, 设置 一个或多个局部互连网络, 其中设置的每个局部互连网络可以与至少两个 功能模块相连; 如图 5 所示, 存在多个局部互连网络时, 至少两个功能模 块中的至少一个功能模块(如第二功能模块) 可以与至少两个局部互连网 络相连, 即功能模块可以仅与一个局部互连网络连接, 也可以与多个局部 互连网络连接; 或, 如图 6所示, 存在多个局部互连网络时, 局部互连网 络之间没有交叉, 即局部互连网络间没有共同的功能模块时, 每个局部互 连网络连接的至少两个功能模块中, 至少一个功能模块与全局互连网络相 连;

其中, 所述功能模块可以是通用处理器模块、 可配置处理器模块、 无 线链路处理器模块等; 所述局部互连网络可以是共享总线、 交叉开关、 网 络 /环面 (Mesh/Torus )等各种拓朴形式的连接网络。

步驟 302,设置与局部互连网络连接的局部共享存储 元, 并将功能模 块的地址空间映射到局部共享存储单元;

具体的, 将设置的局部互连网络分别与一个局部共享存 储单元相连, 所述局部共享存储单元是带有存储控制功能的 存储单元, 既可以集成到芯 片内部, 也可以通过外接存储器实现;

如图 6和图 7所示, 本发明中的多处理器共享存储系统既可以独立 存 在并实现功能模块间的共享存储, 也可以同时与全局互连网络连接, 并通 过全局互连网络与全局共享存储单元进行交互 ; 为了实现功能模块能够从 局部共享存储单元读取和写入数据, 需要将功能模块的地址空间映射到局 部共享存储单元, 对于每个功能模块, 可以将功能模块的地址空间全部映 射到局部共享存储单元, 或将功能模块的地址空间划分为多个区域, 将多 个区域的地址空间分别映射到局部共享存储单 元和全局共享存储单元, 或 存在多个局部互连网络及局部共享存储单元时 , 可以将功能模块的地址空 间划分为多个区域, 将这些区域的地址空间分别映射到不同的局部 共享存 储单元, 这样, 映射到同一共享存储单元的多个功能模块之间 就可以共享 该局部共享存储单元; 局部共享存储单元既可以独立存在, 也可以与其他 共享存储单元构成更大的局部共享存储空间而 联合工作; 其中, 所述划分 既可以通过利用软件编程配置存储管理单元的 方式实现, 也可以通过增加 硬件的存储单元来实现。

步驟 303 ,至少两个功能模块中的第一功能模块将处理 的初始数据通 过局部互连网络写入局部共享存储单元;

具体的, 至少两个功能模块中的第一功能模块从芯片的 外部接口或全 局共享存储单元获取初始数据, 并对该初始数据进行处理, 通过与自身连 接的局部互连网络, 将处理后的初始数据写入与该局部互连网络连 接的局 部共享存储单元; 其中, 针对不同的功能模块, 获取的初始数据不同, 例 如所述功能模块是无线链路数据处理器模块时 , 初始数据可以是语音数据, 所述处理指的是对初始数据进行运算操作, 获取初始数据和对初始数据进 行处理属于现有技术, 这里不再赘述。

步驟 304,至少两个功能模块中的第二功能模块通过 部互连网络从局 部共享存储单元中获取数据;

具体的, 至少两个功能模块中的第二功能模块通过局部 互连网络从局 部共享存储器中获取数据, 并对获取的数据进行处理, 所述处理同第一功 能模块的处理, 这里不再赘述。

多处理器共享存储系统中存在多个局部互连网 络以及多个局部共享存 储单元, 且多个局部互连网络间有交叉时, 该方法还可以包括:

步驟 305 , 第二功能模块通过与自身连接的其他局部互连 网络,将处理 后的数据写入与该其他局部互连网络连接的局 部共享存储单元。 实施例

下面以两个局部互连网络、 三个功能模块、 两个局部共享存储单元为 例进行说明, 如图 5和图 7所示, 设置局部互连网络 1和局部互连网络 2, 功能模块 1和功能模块 2都与局部互连网络 1相连, 功能模块 2和功能模 块 3都与局部互连网络 2相连。

局部共享存储单元 1与局部互连网络 1连接, 局部共享存储单元 2与 局部互连网络 2连接; 这样, 功能模块 1和功能模块 2可以通过局部互连 网络 1连接到局部共享存储单元 1 , 并共享局部共享存储单元 1 , 功能模块 2和功能模块 3可以通过局部互连网络 2连接到局部共享存储单元 2, 并共 享局部共享存储单元 2。

功能模块 1从芯片的外部接口或全局共享存储单元获取 始数据, 在 对初始数据进行处理后, 将处理后的初始数据写入局部共享存储单元 1。

功能模块 2通过局部互连网络 1从局部共享存储单元 1中获取数据, 对获取的数据进行处理, 将处理后的数据通过局部互连网络 2写入局部共 享存储单元 2;功能模块 3通过局部互连网络 2从局部共享存储单元 2中读 取数据, 对读取的数据进行处理, 以此类推, 这样, 可以避免每次读取 /写 入操作都需要访问全局共享存储单元, 同时, 各个功能模块之间还能够并 行访问局部共享存储单元, 存储带宽大大提高, 延迟大大减少。

为实现上述方法, 本发明还提供一种多处理器共享存储系统, 图 8是 本发明实现多处理器共享存储系统的结构示意 图, 如图 8所示, 该系统包 括: 至少一个多处理器共享存储子系统; 所述多处理器共享存储子系统包 括: 一个局部互连网络、 与所述局部互连网络相连的至少两个功能模块 、 与所述局部互连网络连接的局部共享存储单元 ; 其中,

至少两个功能模块中的第一功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于将处理后的初始数据通过所述局部互连 网 络写入所述局部共享存储单元;

至少两个功能模块中的第二功能模块, 用于将自身的地址空间映射到 所述局部共享存储单元; 还用于通过所述局部互连网络从所述局部共享 存 储单元中获取数据。

图 9是本发明实现多处理器共享存储系统的实施 一的结构示意图, 如图 9所示, 基于上述多处理器共享存储系统, 该系统包括多个多处理器 共享存储子系统时, 所述至少两个功能模块中的至少一个功能模块 与至少 两个局部互连网络相连。

其中, 所述第二功能模块, 还用于对获取的数据进行处理, 并通过与 自身连接的其他局部互连网络, 将处理后的数据写入与该其他局部互连网 络连接的局部共享存储单元。

图 10是本发明实现多处理器共享存储系统的实施 二的结构示意图, 如图 10所示, 基于上述多处理器共享存储系统, 该系统包括多个多处理器 共享存储子系统, 且多个多处理器共享存储子系统中的局部互连 网络间没 有共同的功能模块时, 该系统还包括全局互连网络, 其中, 每个局部互连 网络连接的至少两个功能模块中, 至少一个功能模块与全局互连网络相连。

上述系统中, 所述功能模块将自身的地址空间映射到所述局 部共享存 储单元为:

将功能模块的地址空间全部映射到局部共享存 储单元; 或,

将功能模块的地址空间划分为多个区域, 将多个区域的地址空间分别 映射到局部共享存储单元和全局共享存储单元 ; 或,

存在多个局部互连网络及局部共享存储单元时 , 将功能模块的地址空 间划分为多个区域, 将多个区域的地址空间分别映射到不同的局部 共享存 储单元。

以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围, 凡在本发明的精神和原则之内所作的任何修改 、 等同替换和改进 等, 均应包含在本发明的保护范围之内。