基于可编程交换机的分布式图计算网内聚合方法及系统技术方案

技术编号:39276297 阅读:10 留言:0更新日期:2023-11-07 10:53
本发明专利技术提出一种基于可编程交换机的分布式图计算网内聚合方法和系统,包括:将图计算任务中各图节点计算任务对应划分给分布式图计算系统的计算终端;在该分布式图计算系统内可编程交换机维护一个数组,用于记载计算终端需要聚合的图节点ID作为当前待聚合ID;计算终端判断该当前待聚合ID是否为计算终端本地需要聚合的节点ID,若是则将其负责的当前待聚合ID上的消息发送到该可编程交换机;该可编程交换机收到来自各计算终端的当前待聚合ID上的信息,执行网内聚合操作,得到当前待聚合ID的聚合结果,将该聚合结果发送给与其对应的计算终端执行当前待聚合ID的图计算。终端执行当前待聚合ID的图计算。终端执行当前待聚合ID的图计算。

【技术实现步骤摘要】
基于可编程交换机的分布式图计算网内聚合方法及系统


[0001]本专利技术涉及可编程交换机和分布式图计算系统
,并特别涉及一种基于P4可编程交换机的分布式图计算网内聚合方法及系统。

技术介绍

[0002]随着互联网基础设施的高速发展,互联网服务提供商采集到的服务数据和用户数据日益增多。为了挖掘数据中的潜在价值、充分利用这些数据,将大量的半结构化数据组织成图数据,并在图数据上进行图计算成为一种重要趋势。分布式图计算系统作为实现这一目标的基础计算设施,成为互联网服务提供商进行大规模图计算必不可少的重要系统。然而随着分布式集群和图计算数据集规模的扩大,分布式图计算系统面临着任务分配不均衡、计算负载过重、通信开销过大、网络资源浪费等挑战。
[0003]因此,在大规模图数据上进行图计算成为一种重要趋势,针对图数据在存储、访存、计算和通信等方面的特性进行优化成为学术界和工业界一个新的研究热点。
[0004]为了搭建大规模图数据的高效计算系统,研究人员一方面不断优化单机内存和计算上的资源利用,提升单机图计算的性能。例如,一些研究工作提出基于三位堆叠、PCM等提升内存存储空间利用效率的改进方法;Bulu搭建的高性能图计算引擎,则是利用图数据结构和稀疏矩阵在数学上的等价关系,将图计算问题转化为矩阵计算问题,再应用高性能计算领域已有的诸多矩阵计算优化技巧进行优化;或是基于存上计算(PIM,Process

in

Memory)的新型体系结构直接在内存上进行预处理提升系统的效率。这些基于单机的研究工作限制在较小规模的图计算场景,能够更加高效地探索出新的图计算特性加以利用。
[0005]另一方面,适合大规模图数据计算的分布式图计算系统也吸引了学术界和工业界的大量关注。在Pregel解决了大规模图计算系统的扩展性和易用性后,越来越多的研究开始关注分布式图计算过程中的资源利用问题。微软提出COST(ConfigurationthatOutperformsaSingleThread)用于判别一个分布式系统对硬件资源的利用率。一个分布式系统的COST值为c意味着该系统只有在横向扩展到c个计算节点后性能才能超过一个经过仔细人工优化的单线程实现。根据测试,很多常用的分布式图计算系统的COST值都高达上百,如GraphX、GraphLab、X

Stream等。这意味着基于集群的分布式图计算方案尽管能够通过横向扩展的方式增加计算的规模,但是也因分布式计算过程中存在大量的协同、通信成本,而导致在运行效率方面存在非常大的优化空间。针对这一问题,有大量研究工作着力于提升分布式图计算系统的效率。PowerGraph提出基于定点的图切分方案,更适合服从幂律分布的图数据计算。PowerLyra进一步研究偏斜分布,提出组合顶点分割和边分割的混合方案。GraphX基于Spark设计了通用的流式图计算方案。Gemini基于MPI多核编程和NUMA存储优化了分布式图计算的并行度。总体上来看,由于图计算的高访存计算比,相关研究工作主要集中在改善计算过程中计算任务分配的均衡性,以及通过缓存、存储优化等方式改进计算的局部性。
[0006]伴随可编程网络的蓬勃发展,交换机等网络中间件具备了通信功能之外的灵活计
算能力。通过将部分依赖通信的计算任务卸载到网络中,能够进一步释放计算终端上的宝贵资源。同时网内聚合能够实现通信和计算的叠加,改善分布式计算的整体性能。iSwitch、SwitchML、ATP等采用可编程交换机的方案,直接通过将聚合逻辑在交换机上硬件化,实现高吞吐的线速度聚合。但是这些工作的应用场景是分布式机器学习中的梯度聚合任务。在按照数据并行的梯度聚合任务中,不同机器上的数据是一致的,在每一轮迭代中所有的数据都会发送到中间节点进行聚合。不同于该数据并行场景下聚合任务较为规整,分布式图计算将图数据按照以点划分或者以边划分的方式放到不同计算节点上,不同计算节点负责不同的数据。由于不同机器上划分的是图上不同部分的节点,连接不同节点的边是随机出现的,因此每轮聚合任务依赖的机器和节点都是动态变化的。
[0007]如图1举例来看,分布式图计算场景下,含有6个图节点的完整图数据被切分到3个计算节点上并行计算。本地节点维护白色图节点的状态,灰色节点为需要发送待聚合消息的目标图节点,如图1,图节点3由计算节点Node1维护,图节点3消息的更新需要来自Node0的图节点1和来自Node2的图节点5上的待聚合消息。所谓聚合任务以来的机器和节点的动态性是指节点依赖的待聚合消息来自的图节点是随机的,并且这些图节点在机器上的分布也是随机的,因此每个节点状态的更新以来的图节点和机器是动态变化的。
[0008]上述在网计算的相关工作由于忽视了图数据天然的稀疏性和幂律分布特性,并不能直接应用到图计算场景。因此在图计算场景下,必须结合图数据特性才能高效利用到网络可编程设备上的计算能力。
[0009]当前存在针对分布式图计算系统在单机计算优化以及多机并行优化上的改进主要在改进单机上的计算和访存效率、多机上场景下的任务均衡划分、通行和计算的并行,忽略了网络设备的计算能力。可编程交换机等网络中间设备目前具有了一定的计算能力,能够在数据包传输过程中完成计算功能,同时具备高吞吐和低延迟。
[0010]利用可编程交换机进行网内计算的方案iSwitch、SwitchML、ATP等面向的场景是分布式机器学习中全连接网络梯度反向传播的聚合任务,聚合的数据规整,并不适用于图计算场景下参与聚合的机器和待聚合的节点都动态变化场景。因此本专利技术提出适合分布式图计算场景的新算法,卸载分布式图计算场景下终端上的部分计算任务到可编程交换机上。
[0011]同时针对非理想网络情况下的丢包和延迟问题,网内聚合算法需要确保可靠性,即能够在丢包和延迟发生时保证任务的计算正确性。现有的iSwitch、SwitchML、ATP等方案面向的场景是分布式机器学习中全连接网络梯度反向传播的聚合任务,聚合的数据规整,每个终端发送和等待接收的数据是提前确定的,因此只需要在发送方没有接收到ack确认时重发数据包即可。但是,分布式图计算场景下的每个终端发送和接收的消息都是不确定的,现有的上述方案中的可靠性算法无法保障。因此本专利技术提出了适合分布式图计算场景的网内聚合可靠性算法。

技术实现思路

[0012]本专利技术的目的是优化分布式图计算系统的计算效率,通过在网计算的方式对分布式图计算系统中计算终端上的聚合任务进行卸载,降低计算终端负载和交换机到聚合结果接受方的下行数据通信量,从而提升分布式图计算系统的计算效率。
[0013]针对现有技术的不足,本专利技术提出一种基于可编程交换机的分布式图计算网内聚合方法,其中包括:
[0014]步骤1、获取包含多个图节点的图计算任务,将图计算任务中各图节点计算任务对应划分给分布式图计算系统的计算终端;在该分布式图计算系统内可编程交换机维护一个next[]数组,其大小为该分布式图计算系统中计算终端总数,next本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于可编程交换机的分布式图计算网内聚合方法,其特征在于,包括:步骤1、获取包含多个图节点的图计算任务,将图计算任务中各图节点计算任务对应划分给分布式图计算系统的计算终端;在该分布式图计算系统内可编程交换机维护一个next[]数组,其大小为该分布式图计算系统中计算终端总数,next[]数组用于记载计算终端需要聚合的图节点ID作为当前待聚合ID;步骤2、计算终端判断该当前待聚合ID是否为计算终端本地需要聚合的节点ID,若是则将其负责的当前待聚合ID上的消息发送到该可编程交换机;步骤3、该可编程交换机收到来自各计算终端的当前待聚合ID上的信息,执行网内聚合操作,得到当前待聚合ID的聚合结果,将该聚合结果发送给与其对应的计算终端;步骤4、该可编程交换机维护next[]数组,使next[i]指向下一轮要聚合的图节点ID作为该当前待聚合ID,并将该当前待聚合ID发送给所有计算终端,再次执行该步骤2,直到该图计算任务中最后一个图节点的网内聚合完成,将最后一个图节点的聚合结果发送给与其对应的计算终端,得到图计算任务的计算结果。2.如权利要求1所述的基于可编程交换机的分布式图计算网内聚合方法,其特征在于,该可编程交换机按照图节点id从小到大的顺序进行网内聚合,以确保该可编程交换机每次下发聚合结果数据包中的next_id递增。3.如权利要求1所述的基于可编程交换机的分布式图计算网内聚合方法,其特征在于,该计算终端在每次发送数据给该可编程交换机时开启一个定时器,并在接收到该可编程交换机返回的确认数据包时关闭定时器;如果定时器计数超出阈值后依然没有接收到确认数据包,则该计算终端发送端超时重发数据包;该可编程交换机接收并判断该超时重发数据包是否已经接收过,若是,则该可编程交换机重新发送上一轮的聚合结果,否则根据该超时重发数据包内容执行网内聚合操作。4.如权利要求1所述的基于可编程交换机的分布式图计算网内聚合方法,其特征在于,该步骤2包括计算终端将其下一个要聚合的图节点ID发送至该可编程交换机;该步骤4包括可编程交换机根据接收的所有计算终端传来的下一个要聚合的图节点ID的最小值,作为下一轮要聚合的图节点ID。5.一种基于可编程交换机的分布式图计算网内聚合系统,其特征在于,包括:模块1,用于获取包含多个图节点的图计算任务,将图计算任...

【专利技术属性】
技术研发人员:张俊山崔鹏来潘恒关洪涛
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1