CN107665154A - 基于rdma与消息传递的可靠数据分析方法 - Google Patents

基于rdma与消息传递的可靠数据分析方法 Download PDF

Info

Publication number
CN107665154A
CN107665154A CN201610605922.4A CN201610605922A CN107665154A CN 107665154 A CN107665154 A CN 107665154A CN 201610605922 A CN201610605922 A CN 201610605922A CN 107665154 A CN107665154 A CN 107665154A
Authority
CN
China
Prior art keywords
data
node
rdma
backup
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610605922.4A
Other languages
English (en)
Other versions
CN107665154B (zh
Inventor
陈康
武永卫
王彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangtze Delta Region Institute of Tsinghua University Zhejiang
Original Assignee
Innovation Center Of Yin Zhou Qinghua Changsanjiao Research Inst Zhejiang
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innovation Center Of Yin Zhou Qinghua Changsanjiao Research Inst Zhejiang filed Critical Innovation Center Of Yin Zhou Qinghua Changsanjiao Research Inst Zhejiang
Priority to CN201610605922.4A priority Critical patent/CN107665154B/zh
Publication of CN107665154A publication Critical patent/CN107665154A/zh
Application granted granted Critical
Publication of CN107665154B publication Critical patent/CN107665154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出一种基于RDMA与消息传递的可靠数据分析方法,包括以下步骤:提供Allreduce和Broadcast函数,根据Allreduce函数进行集群节点的数据归约计算,根据Broadcast函数进行集群节点的数据广播操作;生成基于应用级检查点技术的容错机制,以进行数据的备份和恢复;通过RDMA技术进行本地数据的备份与恢复,其中,在数据备份时,利用RDMA技术的单边写特性将本地数据直接写入若干远程机器的相应地址,在数据恢复时,利用RDMA的单边读特性直接从若干远程机器读入数据恢复本地副本空间。本发明能够简化程序编写和提高计算效率,满足一部分分布式机器学习程序的计算需求,并且具备容错性。

Description

基于RDMA与消息传递的可靠数据分析方法
技术领域
本发明涉及并行计算技术领域,特别涉及一种基于RDMA与消息传递的可靠数据分析方法。
背景技术
随着信息数据的海量增长,企业越来越多的需要将杂乱无序的大数据转化成有价值的信息,目前,原始的大数据基本都是非结构化数据,难以从中直接推测规律,需要通过一定的数据分析方法处理数据得到有价值的结论。
机器学习算法即是从原始的数据中通过不断的迭代学习运算获得规律,并利用规律对未知数据进行结论预测的算法,在数据挖掘、计算机视觉、自然语言处理等领域都有及其重要的应用。大规模及其学习对于公司、政府和机构来说都有非常重大的意义,这也意味着大数据处理的效率和及其学习算法的高效开发具有极高要求。
目前大多数厂商选用标准的信息传递接口MPI库作为分布式机器学习程序的编程库,MPI能支持包括Fortran,C和C++在内的多重编程语言,同时支持Windows、UNIX等多重操作系统,在硬件上支持集群和多核处理机等平台,具有良好的移植性和较强的扩展性。MPI提供了丰富的消息通信接口,包括点对点发送数据和接收数据的通信,节点对集群的散发函数和广播函数,集群所有节点的协同完成的归约函数和聚集函数等。为用户编程提供了便利。
但对于常用的分布式机器学习应用而言,标准的MPI同样有一些严重的问题。首先MPI不具备容错性,当集群中有节点发生故障并重启时,作业必须重新开始。而大规模机器学习应用中由于数据量大,节点较多导致节点发生故障的概率较高,同时作业一般运行时间都较长,无法容错导致系统资源极大的浪费。
其次,传统的MPI库提供了巨大繁杂的消息通信接口,但对于一部分常用的分布式机器学习程序而言,只需要用到其通信库的一个子集。但目前并没有一个针对分布式机器学习程序开发提供的精简的和优化的消息通信库。
因此,如何提供一个轻量级的类MPI通信库,使其专用于某一类具有共同特征的分布式机器学习应用并具有较高的运算性能,同时让通信库具备容错性,是一个亟待解决的技术问题。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的目的在于提出一种基于RDMA(Remote Direct Memory Access,远程直接数据存取)与消息传递的可靠数据分析方法,该方法能够简化程序编写和提高计算效率,满足一部分分布式机器学习程序的计算需求,并且具备容错性。
为了实现上述目的,本发明的实施例提出了一种基于RDMA与消息传递的可靠数据分析方法,包括以下步骤:S1:提供Allreduce和Broadcast函数,并根据所述Allreduce函数进行集群节点的数据归约计算,以及根据所述Broadcast函数进行集群节点的数据广播操作;S2:生成基于应用级检查点技术的容错机制,以进行数据的备份和恢复;S3:通过RDMA技术进行本地数据的备份与恢复,其中,在数据备份时,利用RDMA技术的单边写特性将本地数据直接写入若干远程机器的相应地址,在数据恢复时,利用RDMA的单边读特性直接从若干远程机器读入数据恢复本地副本空间。
另外,根据本发明上述实施例的基于RDMA与消息传递的可靠数据分析方法还可以具有如下附加的技术特征:
在一些示例中,所述基于应用级检查点技术的容错机制包括:针对全局数据,采用序列化存储在本地内存中的方式进行备份,并在恢复时,使用路由算法探索出集群中拥有该全局数据的节点并利用所述节点恢复数据;针对本地数据,采用远程机器多副本存储的方式进行备份,并在恢复时,使用环形传递算法利用待恢复节点的若干后续节点和前驱节点的数据信息进行恢复,以完成当前节点的数据恢复。
在一些示例中,在根据所述Allreduce函数进行集群节点的数据归约计算过程中,在数据量小于预设值时,使用树形算法进行计算,在数据量大于预设值时,使用环形算法进行计算;在根据所述Broadcast函数进行集群节点的数据广播操作过程中,采用树形算法进行计算,数据从根节点流出,从所有非根节点进行广播,直至所有节点接收到数据。
在一些示例中,所述S1进一步包括:S11:判断用户输入数据量的大小,并在数据量小于预设值时,执行步骤S12,在数据大于预设值时,执行步骤S16;S12:当前节点监测与其孩子节点的通信状态,若为可读状态,则持续从所述孩子节点读入数据并完成局部的数据规约运算;S13:当前节点监测与其父节点的通信状态,若为可写状态,则将规约好的局部数据持续发送给所述父节点,直到无数据可发送;S14:当前节点监测与其父节点的通信状态,若为可读状态,则持续从所述父节点读入规约好的全局数据并存入结果空间;S15:当前节点监测与其孩子节点的通信状态,若为可写状态,则将结果空间的全局规约结果发送给所有孩子节点,直到无数据可发送;S16:当前节点将待归约数据空间按照集群节点数均分;S17:当前节点计算自己的读数据开始地址和写数据开始地址,以及自己的读数据结束地址和写数据结束地址;S18:当前节点从其后继节点接收数据,从读数据开始地址开始,到读数据结束地址结束;S19:当前节点将结果空间的数据发送给其前驱节点,从写数据开始地址开始,到写数据结束地址结束。
在一些示例中,所述S2进一步包括:S21:创建一个调度器,用于初始化和恢复集群网络的拓扑结构,所述集群网络的拓扑结构包括一个树形结构和一个环形结构;S22:用户在多个节点提交作业请求,所述作业请求包括应用程序、连入的所述调度器的网络地址和端口、以及用户的作业ID号;S23:所述调度器根据节点连入的顺序分配编号,维护编号和节点网络地址的映射表,同时根据初始化的网络拓扑结构帮助节点构建正确的网络连接;S24:当所有节点网络连接完成后,开始集群节点间的协同操作,其中,在全局数据备份时,将数据复制多个副本保存在本地,在本地数据备份时,采用环形传递的方式,将节点的备份数据发给后续的若干节点进行备份;S25:当有节点发生故障并恢复重启作业时,连接到所述调度器,并利用所述调度器存储的网络拓扑结构的连接信息帮助恢复网络连接;S26:故障节点执行恢复函数,其中,对于全局数据,采用路由探索的方式找到数据备份点并获取数据用于恢复,对于本地数据,采用环形传递的方式,利用故障节点的若干前驱节点和后继节点提供的有效的本地数据信息进行恢复;S27:数据恢复后,故障节点从最近的故障现场继续执行,当遇到已经执行过的Allreduce和Broadcast协同操作时,直接从任一个远程机器取回相应的计算结果,避免重复计算。
在一些示例中,所述S3进一步包括:S31:在数据备份时,集群节点采用环形传递的方式,得到需要备份数据的若干节点的本地数据大小,以及这些节点的网络地址,其中,每个节点计算各自需要存储的备份副本的空间大小,并开辟相应的空间;S32:采用环形传递的方式得到需要备份数据的若干节点的空间起始地址,并计算出需要备份数据的目标偏移地址;S33:利用远程机器的网络地址和目标偏移地址,将本地数据发送到相应的远程机器的内存空间以实现备份;S34:在数据恢复时,采用环形传递的方式从后往前传递若干节点的副本空间大小,并确定能提供最多恢复数据的节点;S35:采用环形传递的方式从前往后测试每个节点的副本空间是否为零,由此确定前驱节点能提供的最多有效恢复数据;S36:利用RDMA技术,直接从后继节点中能恢复最多数据的节点和所有的有效前驱节点中读取数据,用于当前节点副本数据的恢复。
根据本发明实施例的基于RDMA与消息传递的可靠数据分析方法,首先实现一个精简的类MPI库,只提供Allreduce和Broadcast函数来精确解决一部分数据分析应用;采用应用级检查点的容错技术,针对全局数据模型和本地数据均提供可靠的备份和恢复机制;在本地数据模型的备份和恢复过程中,使用RDMA技术进行优化来提高系统性能。即,该方法提供轻量级的消息通信库来简化程序编写和提高计算效率,满足一部分分布式机器学习程序的计算需求,采用应用级检查点技术来实现系统的容错功能,具备容错性,并对容错的性能瓶颈部分采用RDMA技术进行性能优化。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的基于RDMA与消息传递的可靠数据分析方法的流程图;
图2是根据本发明一个实施例的根据Allreduce函数进行集群节点的数据归约计算的流程示意图;以及
图3是根据本发明一个实施例的通过RDMA技术进行本地数据的备份与恢复的示意图。
具体实施方式
下面详细描述本发明的实施方法,通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。以下结合附图描述根据本发明实施例的基于RDMA与消息传递的可靠数据分析方法。
图1是根据本发明进行实施的各部分功能与执行流程。图2是实际上依据本发明的方法所需要进行的函数调用的流程。如图1所示,并结合图2,该方法包括以下步骤:
步骤S1:提供Allreduce和Broadcast函数,并根据Allreduce函数进行集群节点的数据归约计算,以及根据Broadcast函数进行集群节点的数据广播操作。
具体地说,标准的MPI库提供了庞大的消息通信函数,没有针对机器学习应用的特征进行简化和优化,因此不够高效。本发明的实施例提供了一个高效精简的消息通信库,仅提供一部分分布式机器学习程序所必要的Allreduce接口和Broadcast接口,进而通过轻量级的消息通信库,来保证程序计算的高效性和容错的高效性。换言之,即提供Allreduce和Broadcast计算功能给用户,用户使用Allreduce功能进行集群节点的数据归约计算,使用Broadcast功能进行集群节点的数据广播操作。进而,用户基于这些功能函数对单机的数据分析程序进行修改,得到相应的并行分布式版本的应用。
在本发明的一个实施例中,在根据Allreduce函数进行集群节点的数据归约计算过程中,在数据量小于预设值(即数据量较小)时,使用树形算法进行计算,在数据量大于预设值(即数据量较大)时,使用环形算法进行计算。在根据Broadcast函数进行集群节点的数据广播操作过程中,采用树形算法进行计算,数据从根节点流出,从所有非根节点进行广播,直至所有节点接收到数据。
基于此,在本发明的一个实施例中,结合图2所示,步骤S1进一步包括:
S11:判断用户输入数据量的大小,并在数据量小于预设值(即数据量较小)时,执行步骤S12中的树形计算过程,在数据大于预设值时,执行步骤S16中的环形计算过程。
S12:当前节点监测与其孩子节点的通信状态,若为可读状态,则持续从孩子节点读入数据并完成局部的数据规约运算。
S13:当前节点监测与其父节点的通信状态,若为可写状态,则将规约好的局部数据持续发送给父节点,直到无数据可发送。
S14:当前节点监测与其父节点的通信状态,若为可读状态,则持续从父节点读入规约好的全局数据并存入结果空间。
S15:当前节点监测与其孩子节点的通信状态,若为可写状态,则将结果空间的全局规约结果发送给所有孩子节点,直到无数据可发送。
S16:当前节点将待归约数据空间按照集群节点数均分。
S17:当前节点计算自己的读数据开始地址和写数据开始地址,以及自己的读数据结束地址和写数据结束地址。
S18:当前节点从其后继节点接收数据,从读数据开始地址开始,到读数据结束地址结束。
S19:当前节点将结果空间的数据发送给其前驱节点,从写数据开始地址开始,到写数据结束地址结束。
步骤S2:生成基于应用级检查点技术的容错机制,以进行数据的备份和恢复。
具体地说,目前的主流MPI库均不具备容错性,当集群节点发生故障并重启后,只能选择重新开始执行作业,极大的浪费了时间和系统资源。本发明的实施例针对机器学习中不同的数据类型的特征进行容错,采用了一种基于应用级检查点技术的容错方案,使应用具备了容错性,提高了系统性能。其中,基于应用级检查点技术的容错机制例如包括:针对全局数据,采用序列化存储在本地内存中的方式进行备份,并在恢复时,使用路由算法探索出集群中拥有该全局数据的节点并利用所述节点恢复数据;针对本地数据,采用远程机器多副本存储的方式进行备份,并在恢复时,使用环形传递算法利用待恢复节点的若干后续节点和前驱节点的数据信息进行恢复,以完成当前节点的数据恢复。
基于此,在本发明的一个实施例中,步骤S2进一步包括:
S21:创建一个调度器,用于初始化和恢复集群网络的拓扑结构,集群网络的拓扑结构包括一个树形结构和一个环形结构。
S22:用户在多个节点提交作业请求,作业请求包括应用程序、连入的调度器的网络地址和端口、以及用户的作业ID号。
S23:调度器根据节点连入的顺序分配编号,维护编号和节点网络地址的映射表,同时根据初始化的网络拓扑结构帮助节点构建正确的网络连接。
S24:当所有节点网络连接完成后,开始集群节点间的协同操作,其中,在全局数据备份时,将数据复制多个副本保存在本地,在本地数据备份时,采用环形传递的方式,将节点的备份数据发给后续的若干节点进行备份。
S25:当有节点发生故障并恢复重启作业时,连接到调度器,并利用调度器存储的网络拓扑结构的连接信息帮助恢复网络连接。
S26:故障节点执行恢复函数,其中,对于全局数据,采用路由探索的方式找到数据备份点并获取数据用于恢复,对于本地数据,采用环形传递的方式,利用故障节点的若干前驱节点和后继节点提供的有效的本地数据信息进行恢复。
S27:数据恢复后,故障节点从最近的故障现场继续执行,当遇到已经执行过的Allreduce和Broadcast协同操作时,直接从任一个远程机器取回相应的计算结果,避免重复计算。
步骤S3:通过RDMA技术进行本地数据的备份与恢复,其中,在数据备份时,利用RDMA技术的单边写特性将本地数据直接写入若干远程机器的相应地址,在数据恢复时,利用RDMA的单边读特性直接从若干远程机器读入数据恢复本地副本空间。换言之,该步骤即容错方案与RDMA技术相结合的优化。采用基于应用级检查点技术的容错方案后,针对本地数据在容错时可能会出现开销较大的情况,利用RDMA技术进行容错性能的优化。在本地数据的备份时利用RDMA技术的单边写特性将数据存储到多个远程机器;在本地数据的恢复时利用RDMA技术的直接读取多个远程机器的有效副本数据到本地内存中。
在本发明的一个实施例中,结合图3所示,步骤S3进一步包括:
S31:在数据备份时,集群节点采用环形传递的方式,得到需要备份数据的若干节点的本地数据大小,以及这些节点的网络地址,其中,每个节点计算各自需要存储的备份副本的空间大小,并开辟相应的空间。
S32:采用环形传递的方式得到需要备份数据的若干节点的空间起始地址,并计算出需要备份数据的目标偏移地址。
S33:利用远程机器的网络地址和目标偏移地址,将本地数据发送到相应的远程机器的内存空间以实现备份。
S34:在数据恢复时,采用环形传递的方式从后往前传递若干节点的副本空间大小,并确定能提供最多恢复数据的节点。
S35:采用环形传递的方式从前往后测试每个节点的副本空间是否为零,由此确定前驱节点能提供的最多有效恢复数据。
S36:利用RDMA技术,直接从后继节点中能恢复最多数据的节点和所有的有效前驱节点中读取数据,用于当前节点副本数据的恢复。
综上,根据本发明实施例的基于RDMA与消息传递的可靠数据分析方法,首先实现一个精简的类MPI库,只提供Allreduce和Broadcast函数来精确解决一部分数据分析应用;采用应用级检查点的容错技术,针对全局数据模型和本地数据均提供可靠的备份和恢复机制;在本地数据模型的备份和恢复过程中,使用RDMA技术进行优化来提高系统性能。即,该方法提供轻量级的消息通信库来简化程序编写和提高计算效率,满足一部分分布式机器学习程序的计算需求,采用应用级检查点技术来实现系统的容错功能,具备容错性,并对容错的性能瓶颈部分采用RDMA技术进行性能优化。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

Claims (6)

1.一种基于RDMA与消息传递的可靠数据分析方法,其特征在于,包括以下步骤:
S1:提供Allreduce和Broadcast函数,并根据所述Allreduce函数进行集群节点的数据归约计算,以及根据所述Broadcast函数进行集群节点的数据广播操作;
S2:生成基于应用级检查点技术的容错机制,以进行数据的备份和恢复;
S3:通过RDMA技术进行本地数据的备份与恢复,其中,在数据备份时,利用RDMA技术的单边写特性将本地数据直接写入若干远程机器的相应地址,在数据恢复时,利用RDMA的单边读特性直接从若干远程机器读入数据恢复本地副本空间。
2.根据权利要求1所述的基于RDMA与消息传递的可靠数据分析方法,其特征在于,所述基于应用级检查点技术的容错机制包括:
针对全局数据,采用序列化存储在本地内存中的方式进行备份,并在恢复时,使用路由算法探索出集群中拥有该全局数据的节点并利用所述节点恢复数据;
针对本地数据,采用远程机器多副本存储的方式进行备份,并在恢复时,使用环形传递算法利用待恢复节点的若干后续节点和前驱节点的数据信息进行恢复,以完成当前节点的数据恢复。
3.根据权利要求1所述的基于RDMA与消息传递的可靠数据分析方法,其特征在于,
在根据所述Allreduce函数进行集群节点的数据归约计算过程中,在数据量小于预设值时,使用树形算法进行计算,在数据量大于预设值时,使用环形算法进行计算;
在根据所述Broadcast函数进行集群节点的数据广播操作过程中,采用树形算法进行计算,数据从根节点流出,从所有非根节点进行广播,直至所有节点接收到数据。
4.根据权利要求3所述的基于RDMA与消息传递的可靠数据分析方法,其特征在于,所述S1进一步包括:
S11:判断用户输入数据量的大小,并在数据量小于预设值时,执行步骤S12,在数据大于预设值时,执行步骤S16;
S12:当前节点监测与其孩子节点的通信状态,若为可读状态,则持续从所述孩子节点读入数据并完成局部的数据规约运算;
S13:当前节点监测与其父节点的通信状态,若为可写状态,则将规约好的局部数据持续发送给所述父节点,直到无数据可发送;
S14:当前节点监测与其父节点的通信状态,若为可读状态,则持续从所述父节点读入规约好的全局数据并存入结果空间;
S15:当前节点监测与其孩子节点的通信状态,若为可写状态,则将结果空间的全局规约结果发送给所有孩子节点,直到无数据可发送;
S16:当前节点将待归约数据空间按照集群节点数均分;
S17:当前节点计算自己的读数据开始地址和写数据开始地址,以及自己的读数据结束地址和写数据结束地址;
S18:当前节点从其后继节点接收数据,从读数据开始地址开始,到读数据结束地址结束;
S19:当前节点将结果空间的数据发送给其前驱节点,从写数据开始地址开始,到写数据结束地址结束。
5.根据权利要求1所述的基于RDMA与消息传递的可靠数据分析方法,其特征在于,所述S2进一步包括:
S21:创建一个调度器,用于初始化和恢复集群网络的拓扑结构,所述集群网络的拓扑结构包括一个树形结构和一个环形结构;
S22:用户在多个节点提交作业请求,所述作业请求包括应用程序、连入的所述调度器的网络地址和端口、以及用户的作业ID号;
S23:所述调度器根据节点连入的顺序分配编号,维护编号和节点网络地址的映射表,同时根据初始化的网络拓扑结构帮助节点构建正确的网络连接;
S24:当所有节点网络连接完成后,开始集群节点间的协同操作,其中,在全局数据备份时,将数据复制多个副本保存在本地,在本地数据备份时,采用环形传递的方式,将节点的备份数据发给后续的若干节点进行备份;
S25:当有节点发生故障并恢复重启作业时,连接到所述调度器,并利用所述调度器存储的网络拓扑结构的连接信息帮助恢复网络连接;
S26:故障节点执行恢复函数,其中,对于全局数据,采用路由探索的方式找到数据备份点并获取数据用于恢复,对于本地数据,采用环形传递的方式,利用故障节点的若干前驱节点和后继节点提供的有效的本地数据信息进行恢复;
S27:数据恢复后,故障节点从最近的故障现场继续执行,当遇到已经执行过的Allreduce和Broadcast协同操作时,直接从任一个远程机器取回相应的计算结果,避免重复计算。
6.根据权利要求1所述的基于RDMA与消息传递的可靠数据分析方法,其特征在于,所述S3进一步包括:
S31:在数据备份时,集群节点采用环形传递的方式,得到需要备份数据的若干节点的本地数据大小,以及这些节点的网络地址,其中,每个节点计算各自需要存储的备份副本的空间大小,并开辟相应的空间;
S32:采用环形传递的方式得到需要备份数据的若干节点的空间起始地址,并计算出需要备份数据的目标偏移地址;
S33:利用远程机器的网络地址和目标偏移地址,将本地数据发送到相应的远程机器的内存空间以实现备份;
S34:在数据恢复时,采用环形传递的方式从后往前传递若干节点的副本空间大小,并确定能提供最多恢复数据的节点;
S35:采用环形传递的方式从前往后测试每个节点的副本空间是否为零,由此确定前驱节点能提供的最多有效恢复数据;
S36:利用RDMA技术,直接从后继节点中能恢复最多数据的节点和所有的有效前驱节点中读取数据,用于当前节点副本数据的恢复。
CN201610605922.4A 2016-07-27 2016-07-27 基于rdma与消息传递的可靠数据分析方法 Active CN107665154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610605922.4A CN107665154B (zh) 2016-07-27 2016-07-27 基于rdma与消息传递的可靠数据分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610605922.4A CN107665154B (zh) 2016-07-27 2016-07-27 基于rdma与消息传递的可靠数据分析方法

Publications (2)

Publication Number Publication Date
CN107665154A true CN107665154A (zh) 2018-02-06
CN107665154B CN107665154B (zh) 2020-12-04

Family

ID=61114324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610605922.4A Active CN107665154B (zh) 2016-07-27 2016-07-27 基于rdma与消息传递的可靠数据分析方法

Country Status (1)

Country Link
CN (1) CN107665154B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167690A (zh) * 2018-09-25 2019-01-08 郑州云海信息技术有限公司 一种分布式系统中节点服务的恢复方法、装置及相关设备
CN109918229A (zh) * 2019-02-18 2019-06-21 国家计算机网络与信息安全管理中心 非日志模式的数据库集群副本构建方法及装置
CN111459418A (zh) * 2020-05-15 2020-07-28 南京大学 一种基于rdma的键值存储系统传输方法
US11010370B2 (en) 2018-04-30 2021-05-18 Hewlett Packard Enterprise Development Lp System and method of decentralized management of multi-owner nodes using blockchain
CN113138832A (zh) * 2020-01-17 2021-07-20 深圳致星科技有限公司 一种基于重置训练数据传输网络的分布式训练方法及系统
CN113194045A (zh) * 2020-01-14 2021-07-30 阿里巴巴集团控股有限公司 数据流量分析方法、装置、存储介质及处理器
CN113196256A (zh) * 2018-12-13 2021-07-30 华为技术有限公司 用于在数据通信网络中执行集合通信操作的装置、方法和计算机程序产品
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11330019B2 (en) 2018-04-30 2022-05-10 Hewlett Packard Enterprise Development Lp System and method of decentralized management of device assets outside a computer network
US11436692B2 (en) 2020-01-27 2022-09-06 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11605013B2 (en) 2018-04-30 2023-03-14 Hewlett Packard Enterprise Development Lp System and method of decentralized machine learning using blockchain
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369241A (zh) * 2007-09-21 2009-02-18 中国科学院计算技术研究所 一种机群容错系统、装置及方法
CN102404139A (zh) * 2011-10-21 2012-04-04 浪潮电子信息产业股份有限公司 一种提高容错服务器应用层级容错性能的方法
CN102981928A (zh) * 2012-10-30 2013-03-20 清华大学 一种状态机复制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369241A (zh) * 2007-09-21 2009-02-18 中国科学院计算技术研究所 一种机群容错系统、装置及方法
CN102404139A (zh) * 2011-10-21 2012-04-04 浪潮电子信息产业股份有限公司 一种提高容错服务器应用层级容错性能的方法
CN102981928A (zh) * 2012-10-30 2013-03-20 清华大学 一种状态机复制方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748337B2 (en) 2018-04-30 2023-09-05 Hewlett Packard Enterprise Development Lp System and method of decentralized management of multi-owner nodes using blockchain
US11010370B2 (en) 2018-04-30 2021-05-18 Hewlett Packard Enterprise Development Lp System and method of decentralized management of multi-owner nodes using blockchain
US11330019B2 (en) 2018-04-30 2022-05-10 Hewlett Packard Enterprise Development Lp System and method of decentralized management of device assets outside a computer network
US11605013B2 (en) 2018-04-30 2023-03-14 Hewlett Packard Enterprise Development Lp System and method of decentralized machine learning using blockchain
CN109167690A (zh) * 2018-09-25 2019-01-08 郑州云海信息技术有限公司 一种分布式系统中节点服务的恢复方法、装置及相关设备
CN113196256A (zh) * 2018-12-13 2021-07-30 华为技术有限公司 用于在数据通信网络中执行集合通信操作的装置、方法和计算机程序产品
CN113196256B (zh) * 2018-12-13 2023-11-17 华为技术有限公司 用于在数据通信网络中执行集合通信操作的装置、方法和计算机程序产品
CN109918229A (zh) * 2019-02-18 2019-06-21 国家计算机网络与信息安全管理中心 非日志模式的数据库集群副本构建方法及装置
CN109918229B (zh) * 2019-02-18 2021-03-30 国家计算机网络与信息安全管理中心 非日志模式的数据库集群副本构建方法及装置
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain
CN113194045A (zh) * 2020-01-14 2021-07-30 阿里巴巴集团控股有限公司 数据流量分析方法、装置、存储介质及处理器
CN113194045B (zh) * 2020-01-14 2023-11-17 阿里巴巴集团控股有限公司 数据流量分析方法、装置、存储介质及处理器
CN113138832A (zh) * 2020-01-17 2021-07-20 深圳致星科技有限公司 一种基于重置训练数据传输网络的分布式训练方法及系统
CN113138832B (zh) * 2020-01-17 2024-03-01 深圳致星科技有限公司 一种基于重置训练数据传输网络的分布式训练方法及系统
US11748835B2 (en) 2020-01-27 2023-09-05 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11436692B2 (en) 2020-01-27 2022-09-06 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11876891B2 (en) 2020-01-27 2024-01-16 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11887204B2 (en) 2020-01-27 2024-01-30 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
CN111459418A (zh) * 2020-05-15 2020-07-28 南京大学 一种基于rdma的键值存储系统传输方法

Also Published As

Publication number Publication date
CN107665154B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN107665154A (zh) 基于rdma与消息传递的可靠数据分析方法
CN101086714B (zh) 用于实施远程镜像操作的系统和方法
US9589069B2 (en) Platform for continuous graph update and computation
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
US7487393B2 (en) Template based parallel checkpointing in a massively parallel computer system
Dahiphale et al. An advanced mapreduce: cloud mapreduce, enhancements and applications
JP2022008781A (ja) 分散型トレーニング方法、システム、デバイス、記憶媒体、及びプログラム
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
Alqahtani et al. Performance analysis and comparison of distributed machine learning systems
CN105871603A (zh) 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法
CN103678051B (zh) 一种集群数据处理系统中的在线故障容错方法
CN106354563B (zh) 用于3d重建的分布式计算系统以及3d重建方法
CN111316241A (zh) 使用复制的任务结果管理计算集群
CN102521073B (zh) 在故障恢复期间增加数据库的可用性
CN106101213A (zh) 信息分布式存储方法
CN112395269B (zh) MySQL高可用组的搭建方法及装置
CN107291821A (zh) 一种同城双活架构快速切换的方法
US20100262871A1 (en) Method for implementing highly available data parallel operations on a computational grid
CN110941420A (zh) 一种基于Actor模型的规则引擎系统及其方法
CN114816820A (zh) chproxy集群故障修复方法、装置、设备及存储介质
CN116701043A (zh) 面向异构计算系统的故障节点切换方法、装置和设备
Tran et al. Proactive stateful fault-tolerant system for kubernetes containerized services
CN105827744A (zh) 云存储平台的数据处理方法
WO2024041363A1 (zh) 无服务器架构分布式容错系统、方法、装置、设备及介质
CN116954944A (zh) 基于内存网格的分布式数据流处理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20191219

Address after: 314001 9F, No. 705, Asia Pacific Road, Nanhu District, Jiaxing City, Zhejiang Province

Applicant after: Qinghua Changsanjiao Research Inst., Zhejiang

Address before: 315105 Zhejiang city of Ningbo province Yinzhou District Qiming Road No. 818 building 14, No. 108

Applicant before: Innovation center of Yin Zhou Qinghua Changsanjiao Research Inst., Zhejiang

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant