一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种大数据分布式计算过程中样本数据/参数的传递方法与流程

2022-03-01 18:09:41 来源:中国专利 TAG:


1.本发明涉及大数据分布式计算过程中样本数据/参数的通信技术领域,具体地,涉及一种大数据分布式计算过程中样本数据/参数的传递方法。


背景技术:

2.现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活越来越方便,大数据就是这个高科技时代的产物。基于此,有人更是断言:未来的时代将不是it时代,而是dt的时代,dt就是data technology数据科技。如果说把数据比喻为蕴藏的煤矿;那么,如同煤炭按其燃烧程度等有焦煤、肥煤、瘦煤、贫煤等品级优劣之分、煤矿按其开采难度有露天煤矿、地下煤矿之分(显然不同类型矿区的原煤挖掘成本差别极大)一样,大数据并不只在于其“储量大”,而更重要的还是在于“有用”。因此,在大数据领域,数据的价值含量、挖掘成本维度的属性往往比单纯地数据量更为重要;对于大多数的从业者,如何高效地利用其掌握的大规模数据资源,才是赢得竞争的关键。
3.虽然,广义的大数据技术包括了存储、计算和分析等一系列庞杂的技术,但下游的计算、分析一直是实现大数据之“用”的关键,尤其是其中的实现大数据深度利用的分布式计算一直是大数据技术的核心。而要了解大数据领域的分布式计算技术,则不妨以mapreduce分布式计算模型为例开始。mapreduce理论模型自被提出以来,经过十多年的发展,已经成为了当前大数据生态的基石。概而言之,mapreduce主要分成map(映射)和reduce(归约)两部分;一般来说,通过map()和reduce()两个函数即可实现分布式计算。例如,当向mapreduce框架提交一个计算作业(job)时,mapreduce框架首先会通过分布式计算集群中的任务调度节点将该计算作业分成若干个map任务(task);然后将map任务分配到不同的计算节点(映射)上去执行,每一个map任务处理对应当前计算作业的全部输入样本数据的一部分;当map任务完成后会生成一些中间数据对象(其通常也被称为参数),这些中间数据对象将会作为reduce任务的输入数据;而reduce任务即是将前面对应的若干个map的数据汇总到一起并输出,而在reduce阶段,也可以分成若干个任务(task)分开由对应的不同计算节点(归约)执行并最终汇总。而在上述的整个过程中,无论是map阶段,还是reduce阶段,在mapreduce框架中的计算节点间以及计算节点与其他节点间,都存在着大量的数据通信需求。然而,现有的应用程序跨端通信模块都是围绕着tcp/ip协议构建的。在低速的网络中(网络协议栈通常即是前面述及的tcp/ip/以太网),其数据拷贝开销等相对网络硬件传输的时间而言尚不显著,然而当普遍带宽达到40gb/s-300gb/s的网络设备被应用在用于大数据处理的商用集群时,tcp通道就成了集群数据传输的通信瓶颈了。此外,即便是被认为是更为高效的rdma替换传统的tcp协议,并假定其能落实到工程实践,考虑到rdma通信bypass内核的特性,即便是直接存取相关的数据对象,收到样本数据/参数的一端的应用程序也无法及时响应。


技术实现要素:

4.有鉴于此,本发明提供一种大数据分布式计算过程中样本数据/参数的传递方法。
5.一方面,本发明实施例提供一种大数据分布式计算过程中样本数据/参数的传递方法,应用于例如基于mapreduce等大数据分布式计算框架,通过为分布式计算过程中的样本数据/参数提供更为高效rdma传输以及及时响应,以期在提高分布式计算过程中样本数据/参数的传输效率的基础上进而提高整个分布式计算框架的效率。
6.上述的大数据分布式计算过程中样本数据/参数的传递方法,包括:当一个计算作业被提交给分布式计算框架,在执行分布式计算过程中,其中需要跨端传输的样本数据/参数被配置为rdma传输,例如在任务调度节点与任务计算节点间的,或者任务计算节点与任务结算节点间的样本数据/参数跨端传输;当所述样本数据/参数请求跨端传输过程时,生成所述样本数据或参数的rdma通道元信息,并通过tcp通道跨端传输所述rdma通道元信息中的所述rdma通道信使元信息,根据维持在通信两端的rdma通道连接以及rdma通道元信息,为所述样本数据/参数提供rdma通道,并以所述rdma通道传输所述的样本数据/参数及其对应的任务标识;其中,所述的rdma通道连接在当前样本数据/参数请求通信前在集群节点部署初始化时或应请求建立,能够更高效地为所述样本数据/参数提供rdma通道;其中,所述的rdma通道元信息主要包括:传输两端的注册内存地址和所述的rdma通道信使元信息;其中,所述的rdma通道信使元信息包括对应当前数据对象,即样本数据/参数,的远程内存识别标志;所述的远程内存识别标志,被提供给远程主机节点的通道适配器(hca),用于在rdma操作期间允许远程进程访问本地的系统内存;在rdma操作期间,通过注册内存地址和远程内存识别标志形成rdma通道来实现远端内存的读/写;所述的任务标识主要用于标识被传输的样本数据/参数;例如标识所述样本数据/参数在分布式计算过程中所属的任务等,以便所述样本数据/参数能够被分布式计算框架识别和作为输入参与相应的计算(包括归约计算)中;在rdma传输完成后,经tcp通道发出传输完成消息到接收所述样本数据/参数的一侧,以及时响应。
7.在第一方面的各实施例中,其中的一些作为一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,其中的任务标识还包括获取路径、所处分布式计算阶段等信息中的一种或几种;其中,所述的获取路径即所述样本数据/参数的获取路径,所述的所处分布式计算阶段是指样本数据/参数作为输入将参与的分布式计算阶段。
8.在第一方面的各实施例中,其中的一些作为一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,其中的rdma通道连接,可以用于所述节点间的一个任务、多个任务甚至是全部任务的部分或全部样本数据/参数及其对应的任务标识的通信。
9.在第一方面的各实施例中,其中的一些作为一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,考虑到rdma通信的开销及通信收益等,优选地,若所述样本数据/参数小于预设数据长度,则仍通过tcp通道传输。
10.在第一方面的各实施例中,其中的一些作为又一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,通过远程过程调用(rpc)执行分布式计算过程中rmda通道信使元信息等的跨端传输,以提高两端的响应速度,继而整体提高
通信效率。
11.在第一方面的各实施例中,其中的一些作为一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,其中的传输完成消息将通过远程过程调用(rpc)的方式发送到接收所述样本数据/参数的一侧,以提供响应。
12.在第一方面的各实施例中,其中的一些作为又一种可能的实现方式,其所提供的大数据分布式计算过程中样本数据/参数的传递方法中,所述的rdma通道的提供,包括但不仅限于:在任务调度节点与任务计算节点间,以及任务计算节点与任务结算节点间。
13.另一方面,本发明实施例提供一种大数据分布式计算系统,其基于例如mapreduce等的大数据分布式计算框架,其中包括若干个任务处理节点(例如任务调度节点、任务计算节点等)其中通过为分布式计算过程中的样本数据/参数提供更为高效rdma传输以及及时响应,以期在提高分布式计算过程中样本数据/参数的传输效率的基础上进而提高整个分布式计算框架的效率。
14.结合第一方面,上述的大数据分布式计算系统包括:内存管理模块、通信服务模块等;其中,内存管理模块用于分布式计算过程中的样本数据/参数的内存分配;而其中的被配置为rdma传输的样本数据/参数,即由所述内存管理模块注册其为rdma内存;通信服务模块用于为分布式计算过程提供通信服务;其能够提供包括tcp通道和rdma通道,以及提供和维持可复用的rdma通道连接以便于更容易和高效地提供rdma传输服务;其中,rdma通道被用于所述的样本数据/参数及其对应的任务标识的通信;tcp通道主要被用于对应每个具体的样本数据/参数的rdma通道元信息和传输完成消息以及其他控制消息等的通信;其中,所述rdma通道元信息,主要包括:注册内存地址和远程内存识别标志等;其中的远程内存识别标志,被提供给远程主机节点的通道适配器(hca),用来在rdma操作期间允许远程进程访问本地的系统内存;而在rdma操作期间,通过注册内存地址和远程内存识别标志实现远端内存的读/写;所述的传输完成消息,用于在所述样本数据/参数的rdma传输完成后,经tcp通道跨端传输通知所述样本数据/参数传输完成;
15.在被配置为通过rdma传输的样本数据/参数请求通信时,所述的内存管理模块、通信服务模块能够执行第一方面述及的大数据分布式计算过程中样本数据/参数的传递方法。
16.在第二方面的各实施例中,其中的一些作为一种可能的实现方式,其所提供的大数据分布式计算系统中,还包括rdma传输管理模块,用于在所述样本数据/参数经rdma通道传输完成后,生成传输完成消息经tcp通道跨端传输通知所述样本数据/参数传输完成以及通过远程过程调用(rpc)执行所述消息通知并启动对端后续操作,以提高分布式计算效率。
17.再一方面,本发明实施例提供一种计算机可读存储介质。
18.上述的计算机可读存储介质中存储有用于执行分布式计算过程中样本数据或参数的跨端传输的代码,其中包括:用于执行第一方面述及的大数据分布式计算过程中样本数据/参数的传递方法操作的指令。
19.上述诸实施例提供的大数据分布式计算过程中样本数据/参数的传递方法,以及基于此的大数据分布式计算系统相关的计算机可读存储介质,通过提供高效可复用的rdma通道连接等为任务调度引擎与任务计算引擎或任务计算引擎与任务计算引擎间的样本数据/参数提供高效的rdma通道,以及在传输完成后又有通过tcp通道传输通知消息以进一步
提高分布式计算系统的效率。
20.下面通过附图、具体实施例对本发明的技术方案做进一步的描述。
附图说明
21.为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例或现有技术描述中涉及的附图做简单介绍。
22.图1为本发明一实施例提供的一种于大数据分布式计算过程中中样本数据/参数跨端传输的流程示意图。
具体实施方式
23.下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.在大数据分布式计算过程中,无疑是需要产生大量的跨端通信的,其中不仅可能涉及样本数据的跨端通信,还将涉及分布式计算过程中中间过程运算结果(一般表现为一定格式的参数形式)的通信。若以mapreduce分布式计算模型为例的话,即在mapreduce的map(映射)和reduce(归约)两个阶段,都将产生相应的通信需求:
25.当向mapreduce框架提交一个计算作业(job),mapreduce框架在map阶段即将该计算作业分成若干个map任务(task),并通过map()函数将其分配到不同的计算节点(映射)上去执行,如此过程一定是需要大量跨端通信方能完成的;而经处理的每个map任务都将生成各自的结果——即一些中间数据对象(其通常也被称为参数),它们又需要reduce()函数汇总到一起并输出,即reduce阶段,而上述的汇总过程,无疑也将产生大量的通信。而这些通信在现有的分布式计算应用程序中的实现中,其通信模块又块都是围绕着tcp/ip协议构建的;而在带宽达到40gb/s-300gb/s的网络设备被应用在用于大数据处理的商用集群时,tcp通道就成了集群数据传输的通信瓶颈了。此外,即便是能够通过rdma获得高效跨端传输效果,但rdma通信的数据对象并不能被对端及时感知。
26.于是,本发明提供一种大数据分布式计算过程中样本数据/参数的传递方法。
27.以下为本发明的一些优选实施例。其中,
28.本发明的一些优选实施例提供一种大数据分布式计算过程中样本数据/参数的传递方法,应用于例如基于mapreduce等大数据分布式计算框架。如图1所示,该方法包括:当一个计算作业被提交给分布式计算框架,在执行分布式计算过程中,其中需要跨端传输的样本数据/参数被配置为rdma传输,例如在任务调度节点与任务计算节点间的,或者任务计算节点与任务结算节点间的样本数据/参数跨端传输;当所述样本数据/参数请求跨端传输过程时,生成所述样本数据或参数的rdma通道元信息,并通过tcp通道跨端传输所述rdma通道元信息中的所述rdma通道信使元信息,根据维持在通信两端的rdma通道连接以及rdma通道元信息,为所述样本数据/参数提供rdma通道,并以所述rdma通道传输所述的样本数据/参数及其对应的任务标识;其中,所述的rdma通道连接在当前样本数据/参数请求通信前在集群节点部署初始化时或应请求建立,能够更高效地为所述样本数据/参数提供rdma通道;
其中,所述的rdma通道元信息主要包括:传输两端的注册内存地址和所述的rdma通道信使元信息;其中,所述的rdma通道信使元信息包括对应当前数据对象,即样本数据/参数,的远程内存识别标志;所述的远程内存识别标志,被提供给远程主机节点的通道适配器(hca),用于在rdma操作期间允许远程进程访问本地的系统内存;在rdma操作期间,通过注册内存地址和远程内存识别标志形成rdma通道来实现远端内存的读/写;所述的任务标识主要用于标识被传输的样本数据/参数;例如标识所述样本数据/参数在分布式计算过程中所属的任务等,以便所述样本数据/参数能够被分布式计算框架识别和作为输入参与相应的计算(包括归约计算)中;在rdma传输完成后,经tcp通道发出传输完成消息到接收所述样本数据/参数的一侧,以及时响应。
29.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:其中的任务标识还包括获取路径、所处分布式计算阶段等信息中的一种或几种;其中,所述的获取路径即所述样本数据/参数的获取路径,所述的所处分布式计算阶段是指样本数据/参数作为输入将参与的分布式计算阶段。
30.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:其中的rdma通道连接,可以用于所述节点间的一个任务、多个任务甚至是全部任务的部分或全部样本数据/参数及其对应的任务标识的通信。
31.考虑到rdma通信的开销及通信收益等,在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:若所述样本数据/参数小于预设数据长度,则仍通过tcp通道传输。
32.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:通过远程过程调用(rpc)执行分布式计算过程中rmda通道信使元信息等的跨端传输,以提高两端的响应速度,继而整体提高通信效率。
33.在上述优选实施例中的一些中,还提供一种优选的实现方式,同样地:其中的传输完成消息也将通过远程过程调用(rpc)的方式发送到接收所述样本数据/参数的一侧,以提供响应。
34.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:通过远程过程调用(rpc)执行分布式计算过程中rmda通道信使元信息等的跨端传输,以提高两端的响应速度,继而整体提高通信效率。
35.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:通过远程过程调用(rpc)执行分布式计算过程中传输完成消息等的跨端传输,以提高两端的响应速度,继而整体提高通信效率。
36.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:所述的rdma通道的提供,包括但不仅限于:在任务调度节点与任务计算节点间,以及任务计算节点与任务结算节点间。
37.本发明的另一些优选实施例提供一种大数据分布式计算系统,其基于mapreduce等大数据分布式计算框架设计,其中包括若干个任务处理节点(例如任务调度节点、任务计算节点等)其中通过为分布式计算过程中的样本数据/参数提供更为高效rdma传输以及及时响应,以期在提高分布式计算过程中样本数据/参数的传输效率的基础上进而提高整个分布式计算框架的效率。该大数据分布式计算系统包括:内存管理模块、通信服务模块等;
其中,内存管理模块用于分布式计算过程中的样本数据/参数的内存分配;而其中的被配置为rdma传输的样本数据/参数,即由所述内存管理模块注册其为rdma内存;通信服务模块用于为分布式计算过程提供通信服务;其能够提供包括tcp通道和rdma通道,用于具体以及提供和维持可复用的rdma通道连接以便于更容易和高效地提供rdma传输服务;其中,rdma通道被用于所述的样本数据/参数及其对应的任务标识的通信;tcp通道主要被用于对应每个具体的样本数据/参数的rdma通道元信息和传输完成消息以及其他控制消息等的通信;其中,所述rdma通道元信息,主要包括:注册内存地址和远程内存识别标志等;其中的远程内存识别标志,被提供给远程主机节点的通道适配器(hca),用来在rdma操作期间允许远程进程访问本地的系统内存;而在rdma操作期间,通过注册内存地址和远程内存识别标志实现远端内存的读/写;所述的传输完成消息,用于在所述样本数据/参数的rdma传输完成后,经tcp通道跨端传输通知所述样本数据/参数传输完成;
38.在被配置为通过rdma传输的样本数据/参数请求通信时,所述的内存管理模块、通信服务模块能够执行上述实施例述及的大数据分布式计算过程中样本数据/参数的传递方法。
39.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:其所提供的大数据分布式计算系统中,还包括rdma传输管理模块,用于用于在所述样本数据/参数经rdma通道传输完成后,生成传输完成消息经tcp通道跨端传输通知所述样本数据/参数传输完成以及通过远程过程调用(rpc)执行所述消息通知并启动对端后续操作,以提高分布式计算效率。
40.本发明的再一些优选实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于执行分布式计算过程中样本数据或参数的跨端传输的代码,其中包括了用于执行上述任一实施例中述及的大数据分布式计算过程中样本数据/参数的传递方法的指令。
41.以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献