太阳城集团

  • / 17
  • 下载费用:30 金币  

用于分布式系统的主节点和从节点的并行处理方法和设备.pdf

摘要
申请专利号:

CN201611092955.X

申请日:

2016.12.01

公开号:

CN106776018A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/50申请日:20161201|||公开
IPC分类号: G06F9/50 主分类号: G06F9/50
申请人: 三星(中国)半导体有限公司; 三星电子株式会社
发明人: 王磊; 高倩
地址: 710000 陕西省西安市高新区洨河北路1999号
优先权:
专利代理机构: 北京铭硕知识产权代理有限公司 11286 代理人: 王兆赓;张川绪
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201611092955.X

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2017.06.23|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

提供一种用于分布式系统的主节点和从节点的并行处理方法和设备,其中,主节点的并行处理方法包括:确定多个子线程中的每个子线程所对应的从节点;将每个子线程的线程太阳城集团发送到对应的从节点,以使所述对应的从节点根据接收到的线程太阳城集团来恢复每个子线程;从所述从节点接收用于指示所述从节点完成所述恢复的通知;向所述从节点发送用于执行恢复的子线程的控制指令。上述用于分布式系统的主节点和从节点的并行处理方法和设备,能够支持在分布式系统上直接运行传统POSIX多线程程序,提高了分布式系统的兼容性。

权利要求书

1.一种用于分布式系统的主节点的并行处理方法,所述方法包括:
确定多个子线程中的每个子线程所对应的从节点;
将每个子线程的线程太阳城集团发送到对应的从节点,以使所述对应的从节点根据接收到的
线程太阳城集团来恢复每个子线程;
从所述从节点接收用于指示所述从节点完成所述恢复的通知;
向所述从节点发送用于执行恢复的子线程的控制指令。
2.如权利要求1所述的方法,还包括:
检测主节点的内核数据结构太阳城集团是否有改动;
如果所述内核数据结构太阳城集团发生改动,则向各从节点发送用于指示节点的内核数据结
构太阳城集团发生改动的广播,以使各从节点根据所述广播来修改各自节点的内核数据结构信
息。
3.如权利要求2所述的方法,其中,所述内核数据结构太阳城集团包括子线程的内存映射文
件、子线程的线程描述符和子线程的信号列表。
4.如权利要求1所述的方法,还包括:在主节点控制所述多个子线程停止工作。
5.如权利要求1所述的方法,其中,确定多个子线程中的每个子线程所对应的从节点的
步骤包括:根据预定映射关系表确定所述多个子线程中的每个子线程所对应的从节点,或
者,由主节点动态为所述多个子线程中的每个子线程分配对应的从节点。
6.如权利要求1所述的方法,其中,所述线程太阳城集团包括寄存器状态和线程描述符,所述
线程描述符包括任务名和内存状态。
7.如权利要求1所述的方法,还包括:响应于从任意一个从节点接收的用于读取数据的
请求,将所述请求所指示的数据或者所述请求所指示的数据的存储路径发送给所述任意一
个从节点。
8.如权利要求1所述的方法,还包括:根据从任意一个从节点接收的用于数据更新的广
播,将主节点中存储的与所述广播所指示的数据对应的数据删除,并将所述广播所指示的
数据的存储路径更新为所述任意一个从节点。
9.如权利要求1所述的方法,还包括:根据从任意一个从节点接收的用于指示节点的内
核数据结构太阳城集团发生改动的广播,修改主节点的内核数据结构太阳城集团。
10.一种用于分布式系统的从节点的并行处理方法,所述方法包括:
从主节点接收子线程的线程太阳城集团;
根据接收的所述线程太阳城集团恢复所述子线程;
向主节点发送用于指示所述从节点完成所述恢复的通知;
从主节点接收控制指令;
响应于所述控制指令来执行恢复的子线程。
11.如权利要求10所述的方法,其中,接收的所述线程太阳城集团包括寄存器状态和线程描述
符,所述线程描述符包括任务名和内存状态。
12.如权利要求11所述的方法,其中,根据接收的所述线程太阳城集团恢复所述子线程的步骤
包括:
创建一个新的子线程;
将所述寄存器状态、所述任务名和所述内存状态赋值给所述新的子线程,以将所述新
的子线程恢复为所述子线程。
13.如权利要求10所述的方法,还包括:向主节点发送用于读取数据的请求,并从主节
点接收所述请求所指示的数据,或者从主节点接收所述请求所指示的数据的存储路径,从
所述存储路径指示的节点读取所述数据。
14.如权利要求13所述的方法,其中,向主节点发送用于读取数据的请求的步骤包括:
检测本地是否存储了在执行所述子线程过程中所需的数据;
如果本地存储了所述数据,则从本地读取所述数据;
如果本地没有存储所述数据,则向主节点发送用于读取数据的请求。
15.如权利要求10所述的方法,还包括:向所有节点发送用于指示数据更新的广播,以
使主节点将所述广播所指示的数据的存储路径更新为所述从节点。
16.如权利要求10所述的方法,还包括:
检测所述从节点的内核数据结构太阳城集团是否有改动;
如果所述内核数据结构太阳城集团发生改动,则向所有节点发送用于指示节点的内核数据结
构太阳城集团发生改动的广播,以使各节点根据所述广播来修改各自节点的内核数据结构太阳城集团。
17.如权利要求16所述的方法,其中,所述内核数据结构太阳城集团包括子线程的内存映射文
件、子线程的线程描述符和子线程的信号列表。
18.如权利要求10所述的方法,还包括:根据从任意一个节点接收的用于指示节点的内
核数据结构太阳城集团发生改动的广播,修改所述从节点的内核数据结构太阳城集团。

说明书

用于分布式系统的主节点和从节点的并行处理方法和设备

技术领域

本发明总体说来涉及分布式系统的并行计算领域,更具体地说,涉及一种用于分
布式系统的主节点和从节点的并行处理方法和设备。

背景技术

分布式系统通常由多个节点组成,分布式系统的基本思想是用多个节点来协同求
解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的节点来并行处
理。

目前,主流的分布式并行处理架构通常不能够兼容传统的POSIX(Portable
Operating System Interface,可移植操作系统接口)多线程程序,即,无法使传统的POSIX
多线程程序直接运行在分布式系统的多个节点上。

发明内容

本发明的示例性实施例在于提供一种用于分布式系统的主节点和从节点的并行
处理方法和设备,以解决传统的POSIX多线程程序无法直接运行在分布式系统上的问题。

根据本发明示例性实施例的一方面,提供一种用于分布式系统的主节点的并行处
理方法,所述方法包括:确定多个子线程中的每个子线程所对应的从节点;将每个子线程的
线程太阳城集团发送到对应的从节点,以使所述对应的从节点根据接收到的线程太阳城集团来恢复每个
子线程;从所述从节点接收用于指示所述从节点完成所述恢复的通知;向所述从节点发送
用于执行恢复的子线程的控制指令。

可选地,所述方法可还包括:检测主节点的内核数据结构太阳城集团是否有改动;如果所
述内核数据结构太阳城集团发生改动,则向各从节点发送用于指示节点的内核数据结构太阳城集团发生
改动的广播,以使各从节点根据所述广播来修改各自节点的内核数据结构太阳城集团。

可选地,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程的线程描
述符和子线程的信号列表。

可选地,所述方法可还包括:在主节点控制所述多个子线程停止工作。

可选地,确定多个子线程中的每个子线程所对应的从节点的步骤可包括:根据预
定映射关系表确定所述多个子线程中的每个子线程所对应的从节点,或者,由主节点动态
为所述多个子线程中的每个子线程分配对应的从节点。

可选地,所述线程太阳城集团可包括寄存器状态和线程描述符,所述线程描述符包括任
务名和内存状态。

可选地,所述方法可还包括:响应于从任意一个从节点接收的用于读取数据的请
求,将所述请求所指示的数据或者所述请求所指示的数据的存储路径发送给所述任意一个
从节点。

可选地,所述方法可还包括:根据从任意一个从节点接收的用于数据更新的广播,
将主节点中存储的与所述广播所指示的数据对应的数据删除,并将所述广播所指示的数据
的存储路径更新为所述任意一个从节点。

可选地,所述方法可还包括:根据从任意一个从节点接收的用于指示节点的内核
数据结构太阳城集团发生改动的广播,修改主节点的内核数据结构太阳城集团。

根据本发明示例性实施例的另一方面,提供一种用于分布式系统的从节点的并行
处理方法,所述方法包括:从主节点接收子线程的线程太阳城集团;根据接收的所述线程太阳城集团恢复
所述子线程;向主节点发送用于指示所述从节点完成所述恢复的通知;从主节点接收控制
指令;响应于所述控制指令来执行恢复的子线程。

可选地,接收的所述线程太阳城集团可包括寄存器状态和线程描述符,所述线程描述符
包括任务名和内存状态。

可选地,根据接收的所述线程太阳城集团恢复所述子线程的步骤可包括:创建一个新的
子线程;将所述寄存器状态、所述任务名和所述内存状态赋值给所述新的子线程,以将所述
新的子线程恢复为所述子线程。

可选地,所述方法可还包括:向主节点发送用于读取数据的请求,并从主节点接收
所述请求所指示的数据,或者从主节点接收所述请求所指示的数据的存储路径,从所述存
储路径指示的节点读取所述数据。

可选地,向主节点发送用于读取数据的请求的步骤可包括:检测本地是否存储了
在执行所述子线程过程中所需的数据;如果本地存储了所述数据,则从本地读取所述数据;
如果本地没有存储所述数据,则向主节点发送用于读取数据的请求。

可选地,所述方法可还包括:向所有节点发送用于指示数据更新的广播,以使主节
点将所述广播所指示的数据的存储路径更新为所述从节点。

可选地,所述方法可还包括:检测所述从节点的内核数据结构太阳城集团是否有改动;如
果所述内核数据结构太阳城集团发生改动,则向所有节点发送用于指示节点的内核数据结构太阳城集团
发生改动的广播,以使各节点根据所述广播来修改各自节点的内核数据结构太阳城集团。

可选地,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程的线程描
述符和子线程的信号列表。

可选地,所述方法可还包括:根据从任意一个节点接收的用于指示节点的内核数
据结构太阳城集团发生改动的广播,修改所述从节点的内核数据结构太阳城集团。

根据本发明示例性实施例的再一方面,提供一种用于分布式系统的主节点的并行
处理设备,所述设备包括:线程处理单元,根据预定映射关系表,确定多个子线程中的每个
子线程所对应的从节点,并将每个子线程的线程太阳城集团发送到对应的从节点,以使所述对应
的从节点根据接收到的线程太阳城集团来恢复每个子线程;接收单元,从所述从节点接收用于指
示所述从节点完成所述恢复的通知;发送单元,向所述从节点发送用于执行恢复的子线程
的控制指令。

可选地,所述设备可还包括:检测单元,检测主节点的内核数据结构太阳城集团是否有改
动,其中,如果所述内核数据结构太阳城集团发生改动,则发送单元可向各从节点发送用于指示节
点的内核数据结构太阳城集团发生改动的广播,以使各从节点根据所述广播来修改各自节点的内
核数据结构太阳城集团。

可选地,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程的线程描
述符和子线程的信号列表。

可选地,线程处理单元可控制所述多个子线程停止工作。

可选地,线程处理单元可根据预定映射关系表确定所述多个子线程中的每个子线
程所对应的从节点,或者,可动态为所述多个子线程中的每个子线程分配对应的从节点。

可选地,所述线程太阳城集团可包括寄存器状态和线程描述符,所述线程描述符包括任
务名和内存状态。

可选地,发送单元可还响应于从任意一个从节点接收的用于读取数据的请求,将
所述请求所指示的数据或者所述请求所指示的数据的存储路径发送给所述任意一个从节
点。

可选地,所述设备可还包括:路径更新单元,根据从任意一个从节点接收的用于数
据更新的广播,将主节点中存储的与所述广播所指示的数据对应的数据删除,并将所述广
播所指示的数据的存储路径更新为所述任意一个从节点。

可选地,所述设备可还包括:内核数据结构更新单元,根据从任意一个从节点接收
的用于指示节点的内核数据结构太阳城集团发生改动的广播,修改主节点的内核数据结构太阳城集团。

根据本发明示例性实施例的再一方面,提供一种用于分布式系统的从节点的并行
处理设备,所述设备包括:太阳城集团接收单元,从主节点接收子线程的线程太阳城集团;线程恢复单元,
根据接收的所述线程太阳城集团恢复所述子线程;发送单元,向主节点发送用于指示所述从节点
完成所述恢复的通知;指令接收单元,从主节点接收控制指令;执行单元,响应于所述控制
指令来执行恢复的子线程。

可选地,太阳城集团接收单元可接收的所述线程太阳城集团包括寄存器状态和线程描述符,所
述线程描述符包括任务名和内存状态。

可选地,线程恢复单元可创建一个新的子线程,将所述寄存器状态、所述任务名和
所述内存状态赋值给所述新的子线程,以将所述新的子线程恢复为所述子线程。

可选地,发送单元可还向主节点发送用于读取数据的请求,其中,可还包括数据读
取单元,从主节点接收所述请求所指示的数据,或者从主节点接收所述请求所指示的数据
的存储路径,从所述存储路径指示的节点读取所述数据。

可选地,所述设备可还包括:第一检测单元,检测本地是否存储了在执行所述子线
程过程中所需的数据,其中,如果本地存储了所述数据,则数据读取单元可从本地读取所述
数据,如果本地没有存储所述数据,则发送单元可向主节点发送用于读取数据的请求。

可选地,发送单元可还向所有节点发送用于指示数据更新的广播,以使主节点将
所述广播所指示的数据的存储路径更新为所述从节点。

可选地,所述设备可还包括:第二检测单元,检测所述从节点的内核数据结构太阳城集团
是否有改动,其中,如果所述内核数据结构太阳城集团发生改动,则发送单元可向所有节点发送用
于指示节点的内核数据结构太阳城集团发生改动的广播,以使各节点根据所述广播来修改各自节
点的内核数据结构太阳城集团。

可选地,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程的线程描
述符和子线程的信号列表。

可选地,所述设备可还包括:内核数据结构更新单元,根据从任意一个节点接收的
用于指示节点的内核数据结构太阳城集团发生改动的广播,修改所述从节点的内核数据结构信
息。

上述用于分布式系统的主节点和从节点的并行处理方法和设备工作效率高,能够
支持在分布式系统上直接运行传统POSIX多线程程序,提高了分布式系统的兼容性。

附图说明

通过下面结合示例性地示出实施例的附图进行的详细描述,本发明示例性实施例
的上述和其它目的、特点和优点将会变得更加清楚,其中:

图1示出根据本发明示例性实施例的分布式系统中主节点与从节点之间太阳城集团交互
流程的示意图;

图2示出根据本发明示例性实施例的分布式系统中读取数据步骤的流程图;

图3示出根据本发明示例性实施例的分布式系统中写数据步骤的流程图;

图4示出根据本发明示例性实施例的用于分布式系统的主节点的并行处理设备的
框图;

图5示出根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备的
框图。

具体实施方式

现在,将参照附图更充分地描述不同的示例实施例,其中,一些示例性实施例在附
图中示出。

应理解,分布式系统可包括主节点和至少一个从节点,例如,可从分布式系统包含
的所有节点中选择一个节点作为主节点,分布式系统中除主节点之外的其他节点可作为从
节点。在本发明的示例性实施例中将以所述至少一个从节点中的任意一个从节点为例,来
详细介绍主节点与从节点之间的太阳城集团交互流程。

图1示出根据本发明示例性实施例的分布式系统中主节点与从节点之间太阳城集团交互
流程的示意图。

参照图1,在步骤S10中,主节点确定多个子线程中的每个子线程所对应的从节点。

例如,所述多个子线程可首先在主节点上加载并运行,然后主节点再将每个子线
程分配到对应的从节点,以使所有节点共同工作,来达到并行处理的目的。

在一个示例中,在执行步骤S10之前,主节点可预先设定预定映射关系表,所述预
定映射关系表中可包括所述多个子线程与所有从节点之间的映射关系,此时,主节点可根
据预定映射关系表,确定每个子线程所对应的从节点(即,确定每个子线程被分配执行的从
节点)。

在另一示例中,主节点可动态为所述多个子线程中的每个子线程分配对应的从节
点。例如,所述多个子线程可首先在主节点上加载并运行,主节点在各子线程运行过程中,
动态的将子线程分配给对应的从节点。

在步骤S20中,主节点将每个子线程的线程太阳城集团发送到对应的从节点,以使所述对
应的从节点根据接收到的线程太阳城集团来恢复每个子线程。

这里,根据本发明示例性实施例的分布式系统中主节点与从节点之间太阳城集团交互流
程可还包括:主节点控制所述多个子线程停止工作,而由主节点执行的子线程不被分配,继
续在主节点运行。

可选地,可在主节点将每个子线程的线程太阳城集团发送到对应的从节点之后,控制所
述多个子线程停止工作,或者,也可在主节点确定出多个子线程中的每个子线程所对应的
从节点之后,控制所述多个子线程停止工作,在控制所述多个子线程停止工作之后,可将所
述多个子线程挂起,移出主节点的执行队列,进入主节点的待执行队列中。

在步骤S30中,从节点从主节点接收子线程的线程太阳城集团,并根据接收的所述线程信
息恢复所述子线程。

作为示例,接收的子线程的线程太阳城集团可包括寄存器状态和线程描述符,所述线程
描述符可包括任务名和内存状态。

优选地,在本发明示例性实施例中,根据接收的所述线程太阳城集团恢复所述子线程的
步骤可包括:创建一个新的子线程;将所述寄存器状态、所述任务名和所述内存状态赋值给
所述新的子线程,以将所述新的子线程恢复为所述子线程。

在步骤S40中,从节点向主节点发送用于指示所述从节点完成子线程恢复的通知。
这里,当从节点完成恢复子线程的操作之后,可向主节点发送用于指示所述从节点完成子
线程恢复的通知。

在步骤S50中,主节点判断是否所有从节点均完成子线程恢复任务,即,主节点可
确定是否从所有从节点均接收到用于指示从节点完成子线程恢复任务的通知。

如果所有从节点没有均完成子线程恢复任务,则返回步骤S50,继续进行判断。

如果所有从节点均完成子线程恢复任务,则执行步骤S60:主节点向从节点发送用
于执行恢复的子线程的控制指令。这里,主节点向所有从节点均发送所述控制指令,作为示
例,所述控制指令可指示从节点开始执行对应的子线程。

在步骤S70中,从节点从主节点接收控制指令,并响应于所述控制指令来执行恢复
的子线程。

应理解,在分布式系统中主节点和从节点在执行子线程时,还包括读取数据和写
数据的操作,下面参照图2来详细描述分布式系统中读取数据步骤的流程。

图2示出根据本发明示例性实施例的分布式系统中读取数据步骤的流程图。

在步骤S201中,从节点检测本地是否存储了在执行子线程过程中所需的数据。

如果从节点检测到本地存储了所述数据,则执行步骤S202:从节点从本地读取所
述数据。

如果从节点没有检测到本地存储了所述数据,则执行步骤S203:从节点向主节点
发送用于读取数据的请求。

在步骤S204中,主节点响应于从所述从节点接收的用于读取数据的请求,确定所
述请求所指示的数据的存储路径,即,确定所述存储路径所指向的节点。

在步骤S205中,主节点确定所述请求所指示的数据的存储路径是否指向主节点。

如果主节点确定所述存储路径指向主节点,则执行步骤S206:主节点将所述请求
所指示的数据发送给从节点。

这里,可在主节点中存储了用于执行多个子线程所需的数据,当从节点首次执行
与其具有映射关系的子线程时,可从主节点读取所述数据。

如果主节点确定所述存储路径不指向主节点,则执行步骤S207:主节点将所述请
求所指示的数据的存储路径发送给从节点。

例如,主节点中可存储一数据结构表,该数据结构表为数据和所述数据的存储路
径之间的对应关系表,主节点可根据所述请求所指示的数据从数据结构表中找到与所述数
据对应的数据的存储路径,并将找到的存储路径发送给从节点。

这里,仅在主节点中存储该数据结构表,各从节点读取数据时均可向主节点发送
用于读取数据的请求,以由主节点响应于该请求来查找数据结构表,从而保证所有节点读
取数据的内容一致性。

在步骤S208中,从节点从所述存储路径指示的节点读取所述数据。

应理解,图2所示为从节点在执行子线程过程中读取所需数据的过程,主节点在执
行子线程过程中读取所需数据的过程与从节点读取数据的过程类似,例如,主节点可检测
本地是否存储了在执行子线程过程中所需的数据,如果主节点检测到本地存储了所述数
据,则主节点从本地读取所述数据,如果主节点没有检测到本地存储了所述数据,则主节点
通过查找数据结构表确定所述数据的存储路径,并从所述存储路径指示的节点读取所述数
据。

下面参照图3来详细描述分布式系统中写数据步骤的流程。

图3示出根据本发明示例性实施例的分布式系统中写数据步骤的流程图。

在步骤S301中,当从节点在执行子线程过程中执行了写数据操作(即,对数据进行
了更新,例如,产生了新数据或对数据进行了修改)时,从节点将更新后的数据存储在从节
点的本地。

在步骤S302中,从节点向所有节点发送用于指示数据更新的广播。这里,所有节点
可指主节点和所述至少一个从节点中除所述从节点之外的其他从节点。

在步骤S303中,主节点检测本地是否存储了所述广播所指示的数据。例如,所述广
播所指示的数据可指与从节点更新后的数据对应的更新前的数据。

如果主节点检测到本地存储了所述广播所指示的数据,则执行步骤S304:主节点
删除主节点本地存储的所述广播所指示的数据。

这里,如果主节点没有检测到本地存储了所述广播所指示的数据,则可直接执行
步骤S305。

在步骤S305中,主节点更新所述广播所指示的数据的存储路径,即,将将所述广播
所指示的数据的存储路径更新为指向所述从节点。

例如,主节点可将数据结构表中与所述广播所指示的数据对应的存储路径所指向
的节点更新为所述从节点(即,发送所述广播的从节点)。

在步骤S306中,其他从节点接收到所述广播之后,可检测本地是否存储了所述广
播所指示的数据。

如果所述其他从节点检测到本地存储了所述广播所指示的数据,则执行步骤
S307:所述其他从节点删除本地存储的所述广播所指示的数据。

这里,如果所述其他从节点没有检测到本地存储了所述广播所指示的数据,则所
述其他从节点不对接收到的广播进行处理。

应理解,图3所示为从节点在执行子线程过程中写数据的过程,主节点在执行子线
程过程中写数据的过程与从节点写数据的过程类似,例如,当主节点在执行子线程过程中
执行了写数据操作时,主节点将更新后的数据存储在主节点的本地,并将数据结构表中与
所述更新后的数据对应的数据的存储路径更新为指向主节点,此外,主节点还向各从节点
发送用于指示数据更新的广播,各从节点响应于所述广播来删除本地存储的所述广播所指
示的数据。这里,图3所示的节点写数据过程,可确保数据仅存储在一个节点上,主节点中存
储了最新的数据的存储路径,有效确保所有节点读写数据的同步。

应理解,在分布式系统中主节点和从节点在执行子线程时,节点本地的内核数据
结构太阳城集团可能发生改动,下面来详细介绍修改内核数据结构太阳城集团的过程。

例如,以主节点为例,可检测主节点本地的内核数据结构太阳城集团是否有改动,如果主
节点的内核数据结构太阳城集团发生改动,则向各从节点发送用于指示节点的内核数据结构太阳城集团
发生改动的广播,作为示例,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程
的线程描述符和子线程的信号列表,所述广播中携带了指示内核数据结构太阳城集团中包含的哪
部分内容被改动的太阳城集团,各从节点在接收到所述广播之后,对所述广播进行解析,并在节点
本地根据从所述广播中解析出的太阳城集团来修改各自的内核数据结构太阳城集团,以使得所有节点的
内核数据结构太阳城集团保持一致。

类似地,如果检测到从节点本地的内核数据结构太阳城集团发生改动,则所述从节点可
向所有节点(即,分布式系统中除该从节点之外的其他节点)发送用于指示节点的内核数据
结构太阳城集团发生改动的广播,所述广播中携带了指示内核数据结构太阳城集团中包含的哪部分内容
被改动的太阳城集团,各节点在接收到所述广播之后,对所述广播进行解析,并在节点本地根据从
所述广播中解析出的太阳城集团来修改各自的内核数据结构太阳城集团,以使得所有节点的内核数据结
构太阳城集团保持一致。

这里,应理解,传统的、运行在单一SMP(Symmetrical Multi-Processing)节点的
POSIX多线程程序可以充分利用单一节点上多个CPU的计算能力完成并行计算任务。传统的
POSIX多线程程序开发简单、运行效率高,且已经有很多现成的应用程序,但是它们都无法
直接运行在分布式系统上,为使得传统的POSIX多线程程序可运行在分布式系统上,现有技
术中通常需借助于MPI(太阳城集团传递接口)。现有的MPI是运行在分布式系统的内核之上,即,通
过修改系统上层的应用程序来实现多线程运行,MPI的每个节点都需要建立自身的软件库,
由软件工程师通过各种并行处理方案的编程技巧来实现分发和数据同步。

根据本发明的示例性实施例的用于分布式系统的主节点和从节点的并行处理方
法和设备,通过对现有的分布式系统中各节点的内核数据结构太阳城集团的修改可实现在分布式
系统上直接运行POSIX多线程程序。

图4示出根据本发明示例性实施例的用于分布式系统的主节点的并行处理设备的
框图。如图4所示,根据本发明示例性实施例的用于分布式系统的主节点的并行处理设备包
括:线程处理单元10、接收单元20和发送单元30。

图5示出根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备的
框图。如图5所示,根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备包
括:太阳城集团接收单元100、线程恢复单元200、发送单元300、指令接收单元400和执行单元500。
下面结合图4和图5来详细介绍分布式系统中主节点与从节点之间太阳城集团交互过程。

具体说来,线程处理单元10确定多个子线程中的每个子线程所对应的从节点,并
将每个子线程的线程太阳城集团发送到对应的从节点,以使所述对应的从节点根据接收到的线程
太阳城集团来恢复每个子线程。

例如,所述多个子线程可首先在主节点上加载并运行,然后线程处理单元10再将
每个子线程分配到对应的从节点,以使所有节点共同工作,来达到并行处理的目的。

在一个示例中,线程处理单元10可预先设定预定映射关系表,所述预定映射关系
表中可包括所述多个子线程与所有从节点之间的映射关系,然后线程处理单元10可根据预
定映射关系表,确定每个子线程所对应的从节点(即,每个子线程被分配执行的从节点)。

在另一示例中,线程处理单元10可动态为所述多个子线程中的每个子线程分配对
应的从节点。例如,所述多个子线程可在主节点上加载并运行,线程处理单元10在各子线程
运行过程中,动态的将子线程分配给对应的从节点。

这里,线程处理单元10可还控制所述多个子线程停止工作,而由主节点执行的子
线程不被分配,继续在主节点运行。

可选地,可在线程处理单元10将每个子线程的线程太阳城集团发送到对应的从节点之
后,线程处理单元10控制所述多个子线程停止工作,或者,也可在线程处理单元10确定出多
个子线程中的每个子线程所对应的从节点之后,线程处理单元10控制所述多个子线程停止
工作,在控制所述多个子线程停止工作之后,可将所述多个子线程挂起,移出主节点的执行
队列,进入主节点的待执行队列中。

太阳城集团接收单元100从主节点接收子线程的线程太阳城集团。作为示例,接收的子线程的线
程太阳城集团可包括寄存器状态和线程描述符,所述线程描述符可包括任务名和内存状态。

线程恢复单元200根据接收的所述线程太阳城集团恢复所述子线程。

优选地,线程恢复单元200可创建一个新的子线程,将所述寄存器状态、所述任务
名和所述内存状态赋值给所述新的子线程,以将所述新的子线程恢复为所述子线程。

发送单元300向主节点发送用于指示所述从节点完成子线程恢复的通知。这里,当
线程恢复单元200完成恢复子线程的操作之后,发送单元300可向主节点发送用于指示所述
从节点完成子线程恢复的通知。

接收单元20从所述从节点接收用于指示所述从节点完成子线程恢复的通知。

这里,接收单元20可判断是否所有从节点均完成子线程恢复任务,即,接收单元20
可确定是否从所有从节点均接收到用于指示从节点完成子线程恢复任务的通知。

如果所有从节点没有均完成子线程恢复任务,则接收单元20继续进行判断。

如果所有从节点均完成子线程恢复任务,则发送单元30向所述从节点发送用于执
行恢复的子线程的控制指令。这里,发送单元30向所有从节点均发送所述控制指令,作为示
例,所述控制指令可指示从节点开始执行对应的子线程。

指令接收单元400从主节点接收控制指令。

执行单元500响应于所述控制指令来执行恢复的子线程。

应理解,在分布式系统中主节点和从节点在执行子线程时,还包括读取数据和写
数据的操作,下面来详细描述分布式系统中读取数据的过程。

优选地,根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备可
还包括第一检测单元和数据读取单元(未示出),第一检测单元检测从节点本地是否存储了
在执行所述子线程过程中所需的数据。

如果第一检测单元检测到从节点本地存储了所述数据,则数据读取单元从从节点
本地读取所述数据。

如果第一检测单元没有检测到从节点本地存储了所述数据,则发送单元300还向
主节点发送用于读取数据的请求。

用于分布式系统的主节点的并行处理设备中的发送单元30响应于从所述从节点
接收的用于读取数据的请求,确定所述请求所指示的数据的存储路径,即,确定所述存储路
径所指向的节点。

发送单元30还确定所述请求所指示的数据的存储路径是否指向主节点。

如果确定所述存储路径指向主节点,则发送单元30将所述请求所指示的数据发送
给从节点。

如果确定所述存储路径不指向主节点,则发送单元30将所述请求所指示的数据的
存储路径发送给从节点。

例如,根据本发明示例性实施例的用于分布式系统的主节点的并行处理设备可还
包括存储单元,用于存储数据结构表,该数据结构表为数据和所述数据的存储路径之间的
对应关系表,发送单元30可根据所述请求所指示的数据从数据结构表中找到与所述数据对
应的数据的存储路径,并将找到的存储路径发送给从节点。

数据读取单元从所述存储路径指示的节点读取所述数据。

这里,仅在主节点中存储该数据结构表,各从节点读取数据时均可向主节点发送
用于读取数据的请求,以由发送单元30响应于该请求来查找数据结构表,从而保证所有节
点读取数据的内容一致性。

下面来详细描述分布式系统中写数据的过程。

根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备可还包括
存储单元,当从节点在执行子线程过程中执行了写数据操作(即,对数据进行了更新,例如,
产生了新数据或对数据进行了修改)时,存储单元将更新后的数据存储在从节点的本地。

发送单元300向所有节点发送用于指示数据更新的广播。这里,所有节点可指主节
点和所述至少一个从节点中除所述从节点之外的其他从节点。

根据本发明示例性实施例的用于分布式系统的主节点的并行处理设备可还包括
第二检测单元和路径更新单元,第二检测单元检测主节点本地是否存储了所述广播所指示
的数据。例如,所述广播所指示的数据可指与从节点更新后的数据对应的更新前的数据。

如果第二检测单元检测到主节点本地存储了所述广播所指示的数据,则路径更新
单元删除主节点本地存储的所述广播所指示的数据。并且,路径更新单元还更新所述广播
所指示的数据的存储路径,即,将所述广播所指示的数据的存储路径更新为指向所述从节
点。

例如,路径更新单元可将数据结构表中与所述广播所指示的数据的存储路径所指
向的节点更新为所述从节点(即,发送所述广播的从节点)。

这里,如果第二检测单元没有检测到主节点本地存储了所述广播所指示的数据,
则可直接更新所述广播所指示的数据的存储路径。

这里,当其他从节点接收到所述广播时,也可检测所述其他从节点本地是否存储
了所述广播所指示的数据,如果检测到所述其他从节点本地存储了所述广播所指示的数
据,则删除本地存储的所述广播所指示的数据,如果没有检测到所述其他从节点本地存储
了所述广播所指示的数据,则所述其他从节点不对接收到的广播进行处理。

应理解,在分布式系统中主节点和从节点在执行子线程时,节点本地的内核数据
结构太阳城集团可能发生改动,下面来详细介绍修改内核数据结构太阳城集团的过程。

例如,以主节点为例,根据本发明示例性实施例的用于分布式系统的主节点的并
行处理设备可还包括:第三检测单元和内核数据结构更新单元,第三检测单元可检测主节
点本地的内核数据结构太阳城集团是否有改动,如果主节点的内核数据结构太阳城集团发生改动,则发
送单元30可向各从节点发送用于指示节点的内核数据结构太阳城集团发生改动的广播,作为示
例,所述内核数据结构太阳城集团可包括子线程的内存映射文件、子线程的线程描述符和子线程
的信号列表,所述广播中携带了指示内核数据结构太阳城集团中包含的哪部分内容被改动的信
息,各从节点在接收到所述广播之后,内核数据结构更新单元可对所述广播进行解析,并在
节点本地根据从所述广播中解析出的太阳城集团来修改各自的内核数据结构太阳城集团,以使得所有节
点的内核数据结构太阳城集团保持一致。

类似地,根据本发明示例性实施例的用于分布式系统的从节点的并行处理设备可
还包括第四检测单元和内核数据结构更新单元,如果第四检测单元检测到从节点本地的内
核数据结构太阳城集团发生改动,则发送单元300可向所有节点(即,分布式系统中除该从节点之
外的其他节点)发送用于指示节点的内核数据结构太阳城集团发生改动的广播,所述广播中携带
了指示内核数据结构太阳城集团中包含的哪部分内容被改动的太阳城集团,各节点在接收到所述广播之
后,内核数据结构更新单元对所述广播进行解析,并在节点本地根据从所述广播中解析出
的太阳城集团来修改各自的内核数据结构太阳城集团,以使得所有节点的内核数据结构太阳城集团保持一致。

采用本发明示例性实施例的用于分布式系统的主节点和从节点的并行处理方法
和设备,不仅能够兼容传统POSIX多线程程序,且此并行处理架构不需要开发人员掌握复杂
的并行处理编程技巧就可以开发出高效的分布式应用程序,用户无需进行过多的安装和配
置就能够部署和使用分布式应用程序。

此外,根据本发明示例性实施例的用于分布式系统的主节点和从节点的并行处理
方法可以被实现为计算机可读记录介质中的计算机代码。本领域技术人员可以根据对上述
方法的描述来实现所述计算机代码。当所述计算机代码在计算机中被执行时实现本发明的
上述方法。

此外,根据本发明示例性实施例的用于分布式系统的主节点和从节点的并行处理
设备中的各个单元可被实现硬件组件。本领域技术人员根据限定的各个单元所执行的处
理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。

尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员
应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式
和细节上的各种改变。

关 键 词:
用于 分布式 系统 节点 并行 处理 方法 设备
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:用于分布式系统的主节点和从节点的并行处理方法和设备.pdf
链接地址:http://zh228.com/p-6019604.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');