Processing math: 21%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

硬件集合通信中聚合树构建方法

陈淑平, 尉红梅, 王飞, 李祎, 何王全, 漆锋滨

陈淑平, 尉红梅, 王飞, 李祎, 何王全, 漆锋滨. 硬件集合通信中聚合树构建方法[J]. 计算机研究与发展, 2024, 61(2): 503-517. DOI: 10.7544/issn1000-1239.202220684
引用本文: 陈淑平, 尉红梅, 王飞, 李祎, 何王全, 漆锋滨. 硬件集合通信中聚合树构建方法[J]. 计算机研究与发展, 2024, 61(2): 503-517. DOI: 10.7544/issn1000-1239.202220684
Chen Shuping, Wei Hongmei, Wang Fei, Li Yi, He Wangquan, Qi Fengbin. Method to Create Aggregate Tree for Hardware Supported Collectives[J]. Journal of Computer Research and Development, 2024, 61(2): 503-517. DOI: 10.7544/issn1000-1239.202220684
Citation: Chen Shuping, Wei Hongmei, Wang Fei, Li Yi, He Wangquan, Qi Fengbin. Method to Create Aggregate Tree for Hardware Supported Collectives[J]. Journal of Computer Research and Development, 2024, 61(2): 503-517. DOI: 10.7544/issn1000-1239.202220684
陈淑平, 尉红梅, 王飞, 李祎, 何王全, 漆锋滨. 硬件集合通信中聚合树构建方法[J]. 计算机研究与发展, 2024, 61(2): 503-517. CSTR: 32373.14.issn1000-1239.202220684
引用本文: 陈淑平, 尉红梅, 王飞, 李祎, 何王全, 漆锋滨. 硬件集合通信中聚合树构建方法[J]. 计算机研究与发展, 2024, 61(2): 503-517. CSTR: 32373.14.issn1000-1239.202220684
Chen Shuping, Wei Hongmei, Wang Fei, Li Yi, He Wangquan, Qi Fengbin. Method to Create Aggregate Tree for Hardware Supported Collectives[J]. Journal of Computer Research and Development, 2024, 61(2): 503-517. CSTR: 32373.14.issn1000-1239.202220684
Citation: Chen Shuping, Wei Hongmei, Wang Fei, Li Yi, He Wangquan, Qi Fengbin. Method to Create Aggregate Tree for Hardware Supported Collectives[J]. Journal of Computer Research and Development, 2024, 61(2): 503-517. CSTR: 32373.14.issn1000-1239.202220684

硬件集合通信中聚合树构建方法

基金项目: 国家重点研发计划项目(2020YFB0204602)
详细信息
    作者简介:

    陈淑平: 1983年生. 博士,副研究员. 主要研究方向为高性能计算、高速互连网络

    尉红梅: 1968年生. 研究员,博士生导师. CCF会员. 主要研究方向为并行计算、并行编译

    王飞: 1981年生. 副研究员. 主要研究方向为编译器设计及优化、人工智能

    李祎: 1994年生. 硕士,工程师. 主要研究方向为高性能计算、高速互连网络

    何王全: 1975年生. 博士,研究员. 主要研究方向为并行计算编程语言设计、编译器优化

    漆锋滨: 1966年生. 正高级工程师,博士生导师,CCF会士. 主要研究方向为高性能计算体系结构、编译器优化、并行算法

    通讯作者:

    漆锋滨(qifb116@sina.com

  • 中图分类号: TP393

Method to Create Aggregate Tree for Hardware Supported Collectives

Funds: This work was supported by the National Key Research and Development Program of China (2020YFB0204602).
More Information
    Author Bio:

    Chen Shuping: born in 1983. PhD, associate professor. His main research interests include high performance computing and interconnect networks

    Wei Hongmei: born in 1968. professor, PhD supervisor. Member of CCF. Her research interests include parallel computing and parallel compilation

    Wang Fei: born in 1981. Associate professor. His research interests include compiler design and optimization, and artificial intelligence

    Li Yi: born in 1994. Master, engineer. Her main research interests include high performance computing and high-speed interconnect networks

    He Wangquan: born in 1975. PhD, professor. His research interests include parallel programming language design and compiler optimization

    Qi Fengbin: born in 1966. Professor, PhD supervisor. Fellow of CCF. His research interests include high performance computing architecture, compiler optimization, and parallel algorithm

  • 摘要:

    传统的MPI (message passing interface)集合通信是基于点到点消息实现的,性能较低;而硬件集合通信具有性能高、CPU占用率低等优点,正受到越来越多的关注. 硬件集合通信中,聚合树对集合通信性能具有至关重要的影响. 研究了影响硬件集合通信性能的因素,提出了硬件集合通信开销模型,并以此为基础提出了构建硬件集合通信聚合树的方法. 该方法主要包括3个部分:1)根据操作类型、聚合数据包大小等确定聚合树类型及聚合树宽度,从而在网络传输开销与数据计算开销之间取得平衡;2)提出了最小高度分层k项Ⅰ型聚合树构建方法,降低了跨组聚合包的个数;3)提出了构建最小代价Ⅱ型聚合树的方法,减少所使用的交换机数量. 在神威互连网络中对聚合树构建方法进行了全面测试,当存在网络噪声的情况及分层k项Ⅰ型聚合树构建方法下的消息延迟相比传统构建方法下降了24%~89%;典型通信模式时,最小代价Ⅱ型聚合树使用的交换机聚合条目数相比优化前下降了约90%.

    Abstract:

    Traditional MPI (message passing interface) collectives are implemented by point-to-point messages, and have poor performance. Hardware supported collectives have attracted more and more attention due to their high performance and low CPU utilization. Aggregate tree has crucial impact on the performance of hardware supported collectives. We study the factors that affect the performance of hardware supported collectives, and propose a cost model for hardware supported collectives and an efficient method to create aggregate trees. The method includes three parts. Firstly, we choose appropriate aggregate tree type and breadth according to the operation type and the size of aggregate messages to do tradeoff between network transmission time and data processing time. Secondly, we propose a method to create hierarchical minimum height aggregate tree of type Ⅰ, which reduces the number of inter-group communication. Thirdly, we put forward a method to create the minimum cost aggregate tree of type Ⅱ, which minimizes the number of used switches. In the Sunway interconnection network, we test the proposals. In the presence of network noise, the message latency of the hierarchical minimum height aggregate tree of type Ⅰ is reduced by 24%−89% compared with that of the traditional method. The aggregate entries used by the minimum cost aggregate tree of type Ⅱ for typical communication patterns are reduced by 90% compared with that of the traditional method.

  • 随着人工智能与移动互联网的不断发展,远程智能监控[1]、自动驾驶[2]等为代表的新型业务应用大量涌现,这些应用通常需要消耗大量的计算资源[3]. 同时,随着应用越来越复杂,通常以微服务[4]的形式进行开发部署,此时一个应用往往可拆分成多个具有数据依赖与时序依赖关系的子任务集合,通常可表示为工作流结构[5]. 图1展示了2种典型的工作流结构:链式工作流应用和有向无环图(directed acyclic graph,DAG)式工作流应用. 链式工作流应用为一系列顺序执行的子任务,如:采用深度神经网络(deep neural network,DNN)模型(如VGG[6])对图像进行识别,其神经网络模型可表示为若干顺序执行的不同模型层次(如卷积层、池化层、全连接层等)[6-8],并可按层进行任务划分与卸载;而DAG式工作流[5,9-10]则通常由多个分支与汇聚结构组成,比如:智能道路监控需要并行执行多项子任务,可以用DAG图来描述.

    图  1  算力网络(CPN)环境下工作流执行场景
    Figure  1.  Workflow execution scenario in CPN environment

    目前终端设备由于计算能力有限,难以支撑工作流应用的执行[11],而云服务器虽然具有丰富的计算资源,但端云间较大的网络通信延迟[9]将极大降低工作流应用的执行性能. 边缘计算[12]通过将边缘服务器部署在靠近用户的网络边缘侧为用户提供计算资源,一方面补齐了终端算力不足的短板,另一方面降低了任务上云所带来的通信开销. 近年来已有不少相关工作[1,6-7,12-16]关注边缘计算场景下的任务卸载与执行优化问题,然而这种端边云之间的垂直协同模式通常仅考虑终端和相邻边缘计算资源的协同与卸载,无法有效融合广域范围内的算力资源,因此仍然难以满足复杂工作流的高效能、低延迟需求.

    近年来,边缘服务器在网络中的广泛部署,使得算力从集中走向分布,计算从“点”到“网”逐渐成为网络基础设施的重要组成部分. 算力网络[17]通过无处不在的网络感知并连接分布式的算力节点,基于软件定义网络(software defined network,SDN)[18]的思想将路由层分为控制面和转发面,综合考虑网络和计算资源状况,将业务调度到合适的计算资源节点上.

    然而,面对算力网络中网络环境高复杂强动态、算力资源高异构泛分布的特点,实现广域算网融合环境下的资源高效融合和协同是一项挑战. 具体表现在2个方面:

    1)计算模式方面. 许多新兴应用其源与目的不一定相同[8],如图1中的智能道路监控,橙色实线表示数据的传输路径,道路图像由路边的摄像头采集(源),而分析的结果需要传到监控中心(目的). 若采用传统侧重于靠近终端用户的边缘计算模式,将会在源端附近完成所有计算,然后再通过广域网络进行远距离传输. 由于无法有效融合广域范围内的算力与网络资源,将导致较差的任务执行性能. 因此算力网络环境中的工作流调度需要同时考虑任务在多边缘节点间的计算与传输开销的协同分配模式,实现边传边算,传算协同.

    2)问题求解方面. 广域算力网络环境和传统边缘计算环境相比,具有算力资源高异构、泛分布的特点,因此相较传统端边云间的任务卸载问题,算力网络下的任务卸载问题具有更高的复杂性(不仅需要考虑任务的卸载还要决策数据的传输路径). 除此之外,应用的复杂性和环境的动态性将进一步增加任务卸载与资源分配的求解难度.

    目前针对算力网络环境下的复杂工作流任务,协同优化的工作还很少,而传统边缘计算环境下的工作流卸载的工作[9-10,19-20]无法直接适用. 为此,本文研究了算力网络环境下工作流任务的卸载与资源分配优化问题,主要贡献有3个方面:

    1)分析了算力网络下的工作流任务卸载与执行模式,并提出了算力网络环境下工作流任务卸载与资源分配问题. 综合考虑了算力网络中的网络环境、计算资源以及工作流任务的拓扑信息,建立时延模型,为工作流任务卸载与资源分配问题提供优化目标.

    2)针对链式工作流任务,设计并实现了一种基于势博弈[21]的分布式工作流卸载(decentralized workload offloading,DWO)算法. 首先根据卸载决策通过凸优化[22]方法得到最优资源分配方案;然后将卸载决策建模为一个加权拥塞博弈问题,并证明了该博弈是一种势博弈(至少存在一个纳什均衡解)和无政府代价[21](price of anarchy,PoA)值. 另外,针对DAG工作流任务,设计并实现了一种基于动态资源权重的启发式工作流卸载(heuristic workflow offloading, Heu-WO)算法. 该算法将每个资源的占有情况记作资源权重,每个子任务基于资源权重选择完成时间最少的节点进行卸载,并动态更新资源权重.

    3)针对算力网络环境下工作流任务卸载和资源分配问题,为了验证本文所提算法的有效性,设计并实现了仿真实验. 相比较最优解,本文所提算法DWO降低了一个维度(用户维度)的时间复杂度,解的近似比高达94.6%,相比其他算法可以获得最高3.2x的加速比;本文所提算法Heu-WO的时间复杂度为多项式级别,相比其他算法可以获得最高2.8x的加速比. 从而验证了本文所提算法的有效性.

    为了解决终端计算能力的限制,文献[6, 13-15]从模型切分和卸载的角度出发,研究了将任务部分卸载到边缘服务器上处理来降低任务的计算时延. 其中LEIME[6]提出了一种基于多出口DNN的低延迟边缘智能方案来解决传统多出口DNN无法提供快速且一致的推理. 首先它在模型级别,提出了一种提前退出算法,以自动构建具有较低时间复杂度的最优 ME-DNN;在计算层面,提出了一种分布式卸载机制,在运行时微调任务调度,以维持动态环境中的高性能,具有接近最优性能保证的特性. Neurosurgeon[13]所考虑的计算任务是基于AlexNet,VGG这样的链式深度神经网络模型,并按照层来考虑切分点位置,综合网络环境和终端设备算力及边缘服务器的算力,找到一个最佳的切分位置使得总体的计算时延最低或者能量开销最低. 文献[14]提出了一种将 DNN 划分为多个分区的技术,这些分区可以在本地处理或卸载到一个或多个强大的节点. 通过设计自适应 DNN 分区方案和基于匹配游戏方法卸载计算的分布式算法来加快推理速度. 文献[15]在基于正交频分多址(orthogonal frequency division multiple access,OFDMA)的协同边缘计算场景下考虑了卸载决策、协作决策、计算资源分配和通信资源分配问题. 用户的延迟敏感任务可以在本地计算,或卸载到协作设备、MEC服务器. 目标是在延迟约束下最小化所有移动用户的总能量消耗,并提出了一种两级交替方法来解决公式化的混合整数非线性规划(mixed-integer nonlinear programming,MINLP)问题. 在上层,使用启发式算法来处理初始设置下的协作决策和卸载决策;在下层,基于当前卸载决策,通过深度强化学习更新功率、子载波和计算资源的分配. 但是由于启发式算法和深度强化学习的联合算法的算法复杂度会比较高,上述工作[6,13-15]基于传统深度学习模型具有链式的特点,在研究模型切分时对于链式任务的切分难以表达现在复杂工作流任务,呈现DAG的依赖关系.

    针对日益复杂的应用,文献[9-10, 19-20]研究了工作流任务的卸载问题. 其中,文献[9]研究了具有预算约束下最小化工作流任务完成时间问题,即每个移动设备的预算都是有限的,并且必须确定哪些子任务应该在本地计算或者应该发送到边缘服务器或云服务器,针对2种合作模式(单边缘服务器与云服务器协同和多边缘服务器协同),分别设计了基于贪心策略的任务卸载算法. 文献[10]研究了MEC 在依赖和服务缓存约束下的任务卸载问题,提出了一种基于表的启发式任务卸载算法,该算法能够预测卸载决策的影响. 通过使用时间消耗表来预测卸载某个子任务的影响力,从而做出卸载决策. 文献[19]研究了具有通信延迟和应用程序完成截止日期的异构处理器上的工作流任务调度,提出了一种启发式算法ITAGS,首先通过松弛原问题中的二元约束,转化成凸问题,并获得原问题最优目标的下界;然后为每个单独子任务分配截止时间;最后贪婪地优化每一子任务调度. 文献[20]提出了一种联合工作流任务卸载和流调度的启发式算法,利用每个任务图的知识和流程的开始时间来做出任务卸载决策. 文献[9-10, 19-20] 工作默认卸载是单跳的,没有考虑到算力网络环境中任务可以通过多跳的方式卸载到原本访问不到的算力节点上,即算力路由问题,难以有效利用网络中的算力资源.

    为了有效利用网络中的算力资源,文献[8, 23-25]研究了任务在多跳网络环境下的卸载问题. 其中,文献[8]介绍了一种低延迟自适应工作负载分配框架,首先通过一种自适应任务划分和放置算法来利用计算网络资源. 其次,为了解决复杂的 DAG 拓扑,设计了一种分区和放置的最优寻路算法用于联合优化计算寻路和工作负载分配. 文献[23]研究了工业物联网场景下多跳计算卸载中的计算卸载和通信路由问题,以最小化每个任务的计算时间和能量消耗为目标,将联合优化问题制定成一个势博弈问题;通过一种自由约束机制来确保有限的改进路径可以达到纳什均衡,提出了一种多跳协作消息传递机制并开发了2种可以实现纳什均衡的服务质量(quality of service,QoS)感知分布式算法. 文献[24]研究了联合多任务部分计算卸载和网络流调度问题,目标是最小化所有任务的平均完成时间,提出了一种联合部分卸载和流调度的启发式算法,通过考虑设备的等待时间和网络流的开始时间来决定部分卸载率;同时使用McCormick包络将公式化的MINLP问题松弛成线性规划(linear programming,LP)问题,以提供下界. 文献[25]提出了一种避免分割网络的启发式方法和一种可以优化多跳协作网络中计算任务分配的迭代任务分配算法,来评估多跳网络中计算卸载的效果. 上述工作[8, 23-25]聚焦卸载问题,没有考虑资源分配的问题,而是事先声明一个子任务需要多少的计算资源或者考虑排队、均匀分配资源,然而对于不同任务,适当的资源分配算法对满足延迟要求是至关重要的.

    综上,现有的研究工作难以适用于算力网络环境下的工作流卸载问题,因此本文以最小化平均工作流任务完成时间为目标,研究了算力网络环境下工作流任务卸载与资源分配问题.

    本文旨在研究一种算力网络环境下的通用工作流任务的执行优化机制,对于许多新兴业务应用其源与目的不一定相同[8],例如:智能安防、远程控制、增强现实应用等. 图2展示了算力网络环境下算力节点协作处理工作流任务的场景. 在这一场景中,算力节点高效协同,为低延时的工作流任务提供更好的性能保障. 如图2中任务执行路径所示,数据在终端设备(摄像头)上产生,需要经过多个算力节点协同分析处理,最终将数据的识别结果发送至远端的智能监控中心. 在这种执行模式下,数据源和目的之间的路径选择、工作流任务的卸载位置以及算力节点的资源分配情况都将影响应用的执行性能. 因此,本文研究的问题是在算力网络环境下联合任务卸载和资源分配优化问题,以最小化工作流任务的端到端延迟.

    图  2  整体框架
    Figure  2.  Overall framework

    1)系统建模. 我们把算力网络建模成一个有向无环图[5](DAG):GE=(M,ER),其中M表示算力节点的集合,ER表示算力节点之间物理链路的集合. 我们用Fm表示算力节点mM的计算能力(以FLOPS来衡量);Bm,n表示算力节点m到算力节点n之间的带宽.

    2)任务建模. U表示用户的集合,由于工作流任务由多个具有依赖关系的子任务构成,将任务建模成一个有向无环图:GT=(S,SR),其中S表示工作流任务中子任务的集合,SR表示子任务之间依赖关系集合. cu,s表示用户u中子任务s所需的计算量,du,s表示子任务s的中间数据/输出结果所需的数据传输量. 本文中主要符号及含义如表1所示.

    表  1  主要符号的含义
    Table  1.  Meaning of the Main Symbols
    符号含义
    Fm算力节点m的算力
    Bm,n算力节点mn之间的带宽
    cu,s用户u的子任务s的计算量
    du,s用户u的子任务s的数据量
    Au,s用户u的子任务s的卸载位置
    Au,t用户u的子任务t的卸载位置
    Pu,s分配给用户u的子任务s的算力比例
    Qu,s,t分配给用户u的子任务s到子任务t的带宽比例
    下载: 导出CSV 
    | 显示表格

    基于上述问题建模,本文研究的问题包含二维影响工作流任务执行性能的决策变量:卸载决策和资源分配决策. 卸载决策决定将工作流任务中的子任务提交到哪个算力节点Au,s上进行执行;资源分配决策决定工作流任务中提交的子任务分配计算资源的比例Pu,s,以及分配的带宽资源的比例Qu,s,t.

    工作流任务的处理延迟包括计算延时和中间数据/结果的传输时延2部分. 对于任意用户u的子任务s,其计算延时Tcompu,s可以通过其计算量和所分配的计算资源FAu,s×Pu,s表示:

    Tcompu,s=cu,sFAu,s×Pu,s. (1)

    本文用K表示子任务间的传输路径集合,Ku,s,t则表示用户u的子任务s到子任务t的传输路径,由卸载决策A决定,如式(2)所示:

    Ku,s,t=(Au,s,Au,t), (2)

    则子任务s到子任务t的传输时延Tcommu,s,t如式(3)所示,其中ds表示子任务BKu,s,t×Qu,s,t的中间数据量/输出结果数据量,BKu,s,t×Qu,s,t表示所分配的带宽资源.

    Tcommu,s,t=dsBKu,s,t×Qu,s,t. (3)

    结合式(1)和式(3)可以得出工作流任务的子任务s的完成时间为:

    Tu,s=max (4)

    其中,s. pre表示子任务s的前驱子任务集合.

    因此,工作流任务的完成时间即为最后一个子任务(s\_last)的完成时间:

    {T_u} = {T_{u,s\_last}}. (5)

    本文的研究问题,即联合优化工作流任务的卸载决策、资源分配决策来最小化所有用户的平均完成时间,该问题P可以表示的数学模型为:

    目标函数:

    \mathop {\min }\limits_{{{A,P,Q}}} \frac{1}{{\left| U \right|}}\sum_{u \in U} {{T_u}} . (6)

    约束条件:

    {P_{u,s}} \geqslant 0,\forall u \in U,\forall s \in {S_u}, (7)
    {Q_{u,s,t}} \geqslant 0,\forall u \in U,\forall (s,t) \in S {R_u} , (8)
    \sum_{u \in U,s \in {S_u}} {{P_{u,s}}} I(m = {A_{u,s}}) \leqslant 1,\forall m \in M , (9)
    \sum_{u \in U,(s,t) \in S {R_u}} { {Q_{u,s,t}}I((m,n) = {K_{u,s,t}})} \leqslant 1,\forall m \in M,\forall n \in M , (10)
    {A_{u,s}} \in \left\{ {1,2,… ,\left| M \right|} \right\},\forall u \in U,\forall s \in {S_u} . (11)

    其中,A,P,Q分别表示卸载位置决策、算力比例决策和带宽比例决策. I( · )表示指示函数,当括号里等式成立时值为1,反之则为0. 约束式(7)和式(8)分别保证分配给用户的算力资源和带宽资源大于0,是连续性变量;约束式(9)(10)保证分配的资源比例之和小于或等于1;约束式(11)表示卸载位置变量的取值范围,是离散型变量. 在有M个算力节点、N个用户,每个用户的工作流应用含有S个子任务的场景下,卸载决策的空间为{M^{NS}},因此,该问题是一个混合整数非线性规划问题,同时也是一个NP难问题.

    本文研究了2种典型的工作流结构:链式工作流任务和DAG式工作流任务. 针对链式工作流任务,本文提出了一种基于势博弈的分布式工作流卸载算法DWO来最小化工作流任务的完成时间;针对DAG式的工作流任务,本文提出了一种基于动态资源权重的启发式工作流卸载算法Heu-WO来减小工作流任务的完成时间.

    通过对链式工作流结构进行分析,可以将原问题P分解成2个子问题:子问题P1根据卸载策略和路径选择策略决定最优的资源分配方案;子问题P2根据最优分配策略决定卸载位置和传输路径,该问题基于势博弈进行求解.

    子问题P1目标是在给定卸载策略和路径选择策略的前提下,决定最优的资源分配策略使得工作流任务完成时间最小.

    目标函数:

    \mathop {\min }\limits_{{\{P,Q\}}} C(A,P,Q) = \sum_{u \in U} {\left(\sum_{s \in {S_u}} {T_{u,s}^{{\rm{comp}}}} + \sum_{(s,t) \in S{R_u}} {T_{u,s,t}^{{\rm{comm}}}} \right)}. (12)

    约束条件:

    {P_{u,s}} \geqslant 0,\forall u \in U,\forall s \in {S_u} , (13)
    {Q_{u,s,t}} \geqslant 0,\forall u \in U,\forall s,t \in S {R_u}, (14)
    \sum_{u \in U,s \in {S_u}} {{P_{u,s}}} I(m = {A_{u,s}}) \leqslant 1,\forall m \in M, (15)
    \sum_{u \in U,(s,t) \in S {R_u}} {{Q_{u,s,t}}I((m,n) = {K_{u,s,t}})} \leqslant 1,\forall m \in M,\forall n \in M . (16)

    P1中,式(12)表示的目标函数是凸函数,式(13)和式(14)表示的定义域为凸集,式(15)和式(16)表示的也是凸函数,因此P1是一个凸优化问题,且最优解满足KKT(Karush-Kuhn-Tucker)条件. 首先给出P1的拉格朗日函数:

    \begin{aligned} &L(A,P,Q,\alpha ,\beta ) = C(A,P,Q) +\\ &\displaystyle\sum_{u \in U} \left(\displaystyle\sum_{s \in {S_u}} {{\alpha _{u,s}}{P_{u,s}}} + \displaystyle\sum_{(s,t) \in S{R_u}} {{\beta _{u,s,t}}{Q_{u,s,t}}} \right)\end{aligned},

    其中,\alpha \beta 分别表示2个约束项的参数. 从而获得拉格朗日对偶问题和KKT条件,通过求解KKT条件,得到最优的资源分配策略,资源分配的表达式为

    P_{u,s}^*(A) = \dfrac{{\sqrt {{c_{u,s}}} }}{{\displaystyle\sum_{(v,t) \in {D_{u,s}}(A)} {\sqrt {{c_{v,t}}} } }} , (17)
    Q_{u,s,t}^*(A) = \dfrac{{\sqrt {{d_{u,s}}} }}{{\displaystyle\sum_{(v,p,q) \in {R_{u,s,t}}(A)} {\sqrt {{d_{v,p}}} } }} , (18)

    其中,{D_{u,s}}(A)表示卸载决策A中与用户u的子任务卸载到同一节点的用户和子任务集合,{R_{u,s,t}}(A)表示卸载决策A中与用户u的子任务s到子任务t占有相同链路的用户和子任务集合. 根据最优资源分配策略,将式(17)中的P_{u,s}^*(A)和式(18)中的Q_{u,s,t}^*(A)代入到式(12)中,可以获得在卸载策略A下的各个用户的工作流任务完成时间{\bar C_u}.

    因此,原问题P可以表示为P2问题:

    目标函数:

    \mathop {\min }\limits_A \bar C(A) = \displaystyle\sum_{u \in U} {{{\bar C}_u}(A)}, (19)

    约束条件:

    {A_{u,s}} \in \left\{ {1,2,… ,\left| M \right|} \right\},\forall u \in U,\forall s \in {S_u} . (20)

    子问题P2的2种变量均为离散型,本文考虑工作流子任务的个数为S,故可行的解空间大小为{\left| M \right|^{\left| U \right|S}}. 解空间是指数级的. 本文采用基于势博弈的方法来解决子问题P2.

    基于3.1.1节的分析,本文设计了一种基于势博弈的方法来解决工作流卸载问题. 首先将子问题P2建模为一个多用户卸载博弈G = \{ U,{A_u},{V_u}\} ,其中U表示用户集合,{A_u}表示用户u的卸载决策,{V_u}表示用户u的效用函数.

    定理1. 在最优资源分配条件下,用户间的相互作用可以被建模为一个资源依赖加权的拥塞博弈,每个用户的代价函数为

    {\bar C_u}(A) = \displaystyle\sum_{s \in {S_u}} {w_{u,s}^x({A_u})} {w_x}(A) + \displaystyle\sum_{(s,t) \in S{R_u}} {w_{u,s,t}^y({A_u}){w_y}(A)}. (21)

    证明. 用x表示用户u的子任务s的卸载位置{A_{u,s}}y表示用户u的子任务s到子任务t的传输路径{K_{u,s,t}}. 首先定义w_{u,s}^x({A_u}) = \sqrt {\dfrac{{{c_{u,s}}}}{{{F_x}}}}表示用户u的子任务s在算力节点x上处理,w_{u,s}^y({A_u}) = \sqrt {\dfrac{{{d_{u,s}}}}{{{B_y}}}}表示用户u的子任务s到子任务t的中间数据在路径y上传输. 那么{w_x}(A) = \displaystyle\sum_{(v,s) \in D(x)} {\sqrt {\dfrac{{{c_{v,s}}}}{{{F_x}}}} }{w_y}(A) = \displaystyle\sum_{(v,s,t) \in R(y)} {\sqrt {\dfrac{{{d_{v,s}}}}{{{B_y}}}} }. 其中D(x)表示卸载到算力节点x上的子任务集合,R(y)表示占用链路y的子任务传输集合. 因此,用户间的相互作用可以被建模为一个资源依赖加权的拥塞博弈. 证毕.

    本文将用户的效用函数{V_u}定义为该用户工作流的完成时间,即

    {V_u}({A_u},{A_{ - u}}) = {\bar C_u}({A_u},{A_{ - u}}), (22)

    其中,{A_{ - u}}表示不包含用户u的决策集,{\bar C_u}({A_u},{A_{ - u}})表示用户u的工作流任务完成时间.

    定义1. 纳什均衡[21]. MOG的策略{A^*}是纳什均衡解当且仅当任意用户无法通过改变自身策略降低自己的效用值{V_u}.

    {V_u}(A_u^*,A_{ - u}^*) \leqslant {V_u}({A_u},A_{ - u}^*) . (23)

    接下来,本文分析了MOG的纳什均衡的存在性,关键在于证明MOG是一个严格势博弈[7].

    定义2. (严格势博弈[21]) 博弈G = \{ U,{A_u},{V_u}\} 是严格博弈需满足式(24):

    {V_u}({A'_u},{A_{ - u}}) - {V_u}({A_u},{A_{ - u}}) = \varPhi ({A'_u},{A_{ - u}}) - \varPhi ({A_u},{A_{ - u}}), (24)

    其中 \varPhi ({A_u},{A_{ - u}}) 表示为势函数.

    为了证明MOG是一个严格势博弈,本文将势函数定义为

    \varPhi ({A_u},{A_{ - u}}) = \displaystyle\sum_{u \in U} {{\varPhi _u}({A_u},{A_{ - u}})} , (25)

    其中,{\varPhi _u}({A_u},{A_{ - u}}) = \displaystyle\sum_{h \in H} {w_u^h({A_j})\displaystyle\sum_{j \leqslant u} {w_j^h({A_j})} }H = \{ A \cup K\} 表示资源的集合.

    定理2. MOG是严格势博弈.

    证明. 假设某一时刻用户g将决策\left( {{A_g},{A_{ - g}}} \right)改变为\left( {A_g',{A_{ - g}}} \right),此时该用户的效用差值为

    {V_g}(A) - {V_g}(A') = \displaystyle\sum_{h \in H} {(w_g^h(A) - w_g^h(A'))} . (26)

    下面分3种情况讨论:

    1)对于用户i < g{\varPhi _i}(A) - {\varPhi _i}(A') = 0.

    2)对于用户i > g{\varPhi _i}(A) - {\varPhi _i}(A') = \displaystyle\sum_{h \in H} (w_i^h(A)w_g^h(A) - w_i^h(A)w_g^h(A')).

    3)对于用户i = g{\varPhi _i}(A) - {\varPhi _i}(A') = \displaystyle\sum_{h \in H} (w_g^h(A) \displaystyle\sum_{j \leqslant g} w_j^h(A) - w_g^h(A')\displaystyle\sum_{j \leqslant g} {w_j^h(A')} ).

    综上,

    \begin{aligned} &\varPhi (A) - \varPhi (A') = \displaystyle\sum_{i \in U} {({\varPhi _i}(A) - {\varPhi _i}(A'))} =\\ &\displaystyle\sum_{h \in H} \displaystyle\sum_{i>g} (w_i^h(A) w_g^h(A) - w_i^h(A)w_g^h(A')) + \\ & \displaystyle\sum_{h \in H} (w_g^h(A)\displaystyle\sum_{i \leqslant g} w_i^h(A)-w_i^h(A')\times\displaystyle\sum_{i \leqslant g} {w_j^h(A')} ) = \\ &\displaystyle\sum_{h \in H} {(w_g^h(A) - w_g^h(A'))} = {V_g}(A) - {V_g}(A')\end{aligned}

    证毕.

    针对链式工作流应用,本文提出了基于势博弈的分布式工作流卸载算法,该算法的设计依据是基于博弈论的有限改进性质(在有限迭代轮次下可以获得一个纳什均衡解[26]). 伪代码如算法1所示.

    算法1. DWO算法

    ①每个用户u随意选择一个可行策略,记为{A_u}

    ② repeat

    ③按序选择一个用户 u

    {A'_u} = \left\{ {\begin{array}{*{20}{c}} {{{\hat A}_u},{V_u}({A_u},{A_{ - u}}) > {V_u}({{\hat A}_u},{A_{ - u}})} ,\\ {{A_u},{V_u}({A_u},{A_{ - u}}) \leqslant {V_u}({{\hat A}_u},{A_{ - u}})}; \end{array}} \right.

    / *{\hat A_u}表示从可行解中选择的一个解,{A'_u}表示用    户u新的策略. */

    ⑤更新策略集为A = ({A'_u},{A_{ - u}})

    ⑥ until所有用户都不再更新策略.

    算法DWO根据MOG的有限改进性质,且一次只允许一个用户对它的策略进行改善. 首先,每个用户随机地选择一个可行策略;然后,在每一轮迭代过程中按序选择一个用户对它的策略进行改善,并更新到总的策略集上,直到所有的用户都不再更新策略,即算法达到纳什均衡.

    假设算力节点的数量为M,用户数量为U,工作流任务拓扑中的节点数为S,根据式(17)和式(18)可知资源分配策略的时间复杂度为O(US). 在每一轮迭代过程中,用户进行决策的时间复杂度为O({M^S}US). 假设算法DWO经过C轮达到收敛,因此算法DWO的时间复杂度为O(C{M^S}US). 当子任务数量较少时可以有效进行求解;而针对子任务数量较多的场景,一种可行的优化思路是先筛选若干个子任务切分点,将子任务数量降低,从而降低时间复杂度.

    本文探讨算法DWO的纳什均衡解的有效性. 算法DWO可能有多个纳什均衡解,根据博弈论中的PoA的定义,本文将最差的纳什均衡解和最优解的比值定义为算法DWO的PoA值.

    PoA = \frac{{\mathop {\max }\limits_{A \in {\cal A}} V(A)}}{{V({A^*})}} , (27)

    其中:\cal A表示算法DWO的纳什均衡解集,{A^*}表示最优策略. 显然可以得到PoA值的下界:

    PoA \geqslant 1 (28)

    本文将介绍PoA值的一个上界.

    定理3. DWO的PoA值的上界为:PoA \leqslant \dfrac{{3 + \sqrt 5 }}{2}.

    证明. 根据式(21),将总的效用表述为

    V(A) = \displaystyle\sum_{u \in U} {({{\bar C}_u}(A)) = \displaystyle\sum_{u \in U} {\displaystyle\sum_{h \in H} {w_u^h({A_u})} } } {w_h}(A) = \displaystyle\sum_{h \in H} {w_h^2(A)}. (29)

    根据纳什均衡的定义,可得:

    \begin{aligned} {V_u}(A) =\displaystyle\sum_{h \in H} {w_u^h({A_u}){w_h}(A)} \leqslant \end{aligned}
    \begin{aligned} &\displaystyle\sum_{h \in H} {w_u^h(A_u^*)({w_h}(A) - w_u^h({A_u}) + w_u^h(A_u^*))}\leqslant\\ & \displaystyle\sum_{h \in H} {w_u^h(A_u^*)} ({w_h}(A) + w_u^h(A_u^*)). \end{aligned} (30)

    将所有用户合成一个不等式,可得:

    \begin{aligned} &\displaystyle\sum_{u \in U} {V_u}(A) = \displaystyle\sum_{u \in U} {\displaystyle\sum_{h \in H} {w_u^h({A_u}){w_h}(A)} } \leqslant \\ & \displaystyle\sum_{u \in U} {\displaystyle\sum_{h \in H} {w_u^h(A_u^*)({w_h}(A) + w_u^h(A_u^*))} } . \end{aligned} (31)

    重新排序并重写式(31),可得:

    \begin{aligned} & \displaystyle\sum_{h \in H} {\displaystyle\sum_{i \in {O_h}(A)} {w_i^h({A_i}){w_h}(A)} } \leqslant \\ & \displaystyle\sum_{h \in H} {\displaystyle\sum_{i \in {O_h}(A)} {w_i^h(A_i^*)({w_h}(A) + w_i^h(A_i^*))} } , \end{aligned} (32)

    其中,{O_h}(A)表示卸载决策A占用资源h的用户与子任务集合. 因为总的权重\displaystyle\sum_{i \in {O_h}(A)} {w_i^h({A_i}){w_h}} (A) - w_h^2(A)与资源h相关,根据\displaystyle\sum_{i \in {O_h}(A)} {w_i^h{{({A_i})}^2}} \leqslant w_h^2(A),由式(32)推出:

    \displaystyle\sum_{h \in H} {w_h^2(A)} \leqslant \displaystyle\sum_{h \in H} {{w_h}({A^*}){w_h}(A) + \displaystyle\sum_{h \in H} {w_h^2({A^*})} }. (33)

    通过柯西-施瓦茨不等式,可得:

    \displaystyle\sum_{h \in H} {w_h^2(A)} \leqslant \sqrt {\displaystyle\sum_{h \in H} {w_h^2({A^*})} \displaystyle\sum_{h \in H} {w_h^2(A)} } + \displaystyle\sum_{h \in H} {w_h^2({A^*})} . (34)

    对于式(34),两边同除\displaystyle\sum_{h \in H} {w_h^2({A^*})},可得:

    \frac{{V(A)}}{{V({A^*})}} \leqslant \sqrt {\frac{{V(A)}}{{V({A^*})}}} + 1 . (35)

    因为式(35)包含了DWO的所有纳什均衡解,同样包含了最差的纳什均衡解,因此:

    PoA \leqslant \sqrt {PoA} + 1 . (36)

    通过求解式(36),即证:PoA \leqslant \dfrac{{3 + \sqrt 5 }}{2}.

    针对DAG式工作流,本文同样将资源分配和任务卸载分开. 由于目标函数中含有不可微函数\max ( · ),本文基于松弛的资源分配策略进行资源分配;由于算法DWO在子任务数量大的场景下其时间复杂度较高,难以在可接受的计算时间内获得一个可行解. 因此,本文设计了一种基于动态资源权重的启发式工作流卸载算法Heu-WO.

    针对DAG式的工作流应用进行分析,由于DAG式工作流的完成时间中含有函数 \mathrm{m}\mathrm{a}\mathrm{x}(·) ,故其目标函数不能像链式的工作流转化成式(12). 而函数 \mathrm{m}\mathrm{a}\mathrm{x}(·) 也是凸函数[22],所以该问题的目标函数式(6)仍然是凸函数;且定义域和约束函数与P1问题中的一致,故原问题的定义域为凸集,约束函数也是凸函数,所以该问题也是凸优化问题. 但是因为函数 \max ( · )不可微,求解比较困难. 所以本文将函数 \max ( · )松弛为求和函数\sum {( · )} ,即,将目标函数从式(6)松弛成式(12),这样便可以通过3.1.1节中的式(17)和式(18)求解得到该问题的资源分配方案.

    针对DAG式工作流应用,本文提出了一种基于动态资源权重的启发式工作流卸载算法Heu-WO,它将每个资源的占有情况记作资源权重,对每个子任务基于资源权重选择完成时间最少的节点进行卸载,并动态更新资源权重. 伪代码如算法2所示.

    算法2. 基于动态资源权重的启发式工作流卸载算法Heu-WO

    ①初始化每个算力节点 m 的算力资源占用量c{o_m}

    ②初始化每条链路(m,n)的带宽资源占用量d{o_{m,n}}

    ③ for 每个用户u

    ④  for 每个子任务s

    ⑤   l = \mathop {\arg \min }\limits_m \left(\left(\mathop {\max }\limits_{i \in s. pre} \dfrac{{{d_s}d{o_{{A_{u,i}},m}}}}{{{B_{{A_{u,i}},m}}}}\right) + \dfrac{{{c_s}c{o_m}}}{{{F_m}}}\right)

    /* s. pre;表示子任务s的前驱子任务集合,     寻找子任务s完成时间最短的卸载位置*/

    ⑥   {A_{u,s}} = l

    /*记录用户u子任务s的卸载位置*/

    /*{A_{u,s}},记录子任务s的卸载位置为l,更新      所占用资源的占用量*/

    ⑦   c{o_l} + = \sqrt {{c_s}}

    /*更新算力资源的占用情况*/

    ⑧   d{o_{{A_{u,i}},l}} + = \sqrt {{d_s}} ,\forall i \in s. pre

    /*更新带宽资源的占用情况*/

    ⑨  end for

    ⑩ end for

    {P_{u,s}} = \dfrac{{\sqrt {{c_{u,s}}} }}{{c{o_{{A_{u,s}}}}}}, {Q_{u,s,t}} = \dfrac{{\sqrt {{d_{u,s}}} }}{{d{o_{{K_{u,s,t}}}}}}

    /*进行资源分配*/

    ⑫ returnA,P,Q.

    /*输出卸载与资源分配方案*/

    根据公平性原则,每个用户对其子任务s选择最佳的卸载方案,如算法2行⑤表示选择最小化子任务s的完成时间的卸载位置,行⑥~⑧更新策略和环境中的占用情况,以供其他用户做出决策.

    假设算力节点的数量为M,用户数量为U,工作流任务拓扑中的节点数为S. 由算法2,外部(行③,④)是双层循环,故时间复杂度为O(US);内部(行⑤)是对所有算力节点的一次遍历,故时间复杂度为O(M). 综上,本文所提算法Heu-WO的时间复杂度为O(USM).

    本文进行了算力网络环境下工作流任务的执行优化实验,首先对实验环境与参数进行说明,然后展示仿真结果并对其进行分析.

    本文使用拥有i7-12700K CPU,32GB RAM的服务器作为算力网络环境工作流任务执行优化的硬件平台,软件平台采用Ubuntu 20.04 x86_64操作系统,Visual Studio Code 1.73.1版本以及Python3. 8版本的编程环境,并采用了DAG生成器[27]生成DAG拓扑数据,以此代表具有依赖关系的工作流任务. 通过控制参数n和参数density来随机生成不同的工作流任务,其中参数n控制DAG的节点个数,即子任务数量;参数density表示DAG密度,是边数与节点数的比值,用于控制DAG中节点间的边数,即子任务间的依赖关系,density值越大,DAG中的边数越多,子任务之间的数据交互就越多. 为了便于理解,图3展示了DAG生成器在不同参数下所生成的DAG结构. 同时,本文的网络拓扑也采用了DAG生成器用于生成复杂的网络环境.

    图  3  DAG生成器
    Figure  3.  DAG generator

    本文实验环境参数如表2所示.

    表  2  实验环境参数
    Table  2.  Experimental environment Parameters
    环境参数设置值
    算力节点个数[10, 50]
    用户数[100, 500]
    算力节点计算资源/ TFLOPS[1.0, 3.0]
    算力节点间带宽/ Mbps[40, 80]
    DAG节点数量[1, 100]
    DAG密度[1, 1.5]
    子任务计算量/ GFLOPs[0.2, 1.2]
    子任务传输数据量/ KB[100, 800]
    下载: 导出CSV 
    | 显示表格

    为了验证本文所提算法DWO和算法Heu-WO的有效性,将DWO和Heu-WO与其他4种算法进行对比实验. 具体描述为:

    1)低延迟自适应工作负载分配(low-latency adaptive workload allocation,LAWA)[8]. 该算法在已知一条最优传输路径的前提下,通过联合优化计算寻路和工作负载分配来降低工作流应用的完成时间. 但是LAWA没有考虑如何寻找到最优路径. 因此,本文先通过最短路径算法获得传输路径.

    2)最佳卸载(Optimal). 该算法通过暴力求解方法遍历卸载空间以获取最优解. 但该方法的复杂度太高,难以在大规模场景下进行求解.

    3)最近卸载(Nearest). 该算法先根据任务的原数据量和结果数据量决策卸载到靠近发送方的算力节点或靠近接受方的算力节点上进行处理,用户独立选择最短传输路径,然后基于凸优化方法求得的最优的资源分配方案.

    4)随机卸载(Random). 该算法指的是用户将每个子任务随机卸载到算力节点上,子任务传输独立选择最短路径,然后基于凸优化方法求得最优的资源分配方案.

    验证算法的性能以及收敛性. 本节在小规模链式工作流场景下进行了500次独立实验,然后将结果按照Optimal的值进行规格化处理,最后取平均值.

    图4所示,DWO算法可以很快达到收敛,与Optimal相比,DWO解的近似比高达94.6%,与其他算法相比,加速比最高达3.2x,Heu-WO次之,然后依次是LAWA,Nearest,Random. LAWA考虑了在最优传输路径上进行卸载,有效利用了传输路径上的计算资源,但是没有联合计算路径和传输路径,其最优传输路径上的算力节点相比较其他算力节点未必是最优的. Nearest是一种0/1卸载,传输成本低,但是无法利用其他节点上的资源,导致计算时延大. Random随机地选择卸载位置会导致传输开销大,在网络带宽小的情况下尤为突出.

    图  4  算法性能
    Figure  4.  The performance of algorithms

    为了验证Heu-WO算法的效率,本节通过改变节点数量、用户数量和子任务数量进行了3组实验.

    图5展示了算法完成时间与算力节点数量之间的关系,用户数量越多,算法的完成时间也就越长;随着算力节点的增加,算法的完成时间呈现出线性增长的趋势. 本文通过最小二乘法对各曲线进行线性拟合,得到的4条近似直线,其斜率由上到下依次是0.044,0.087,0.122,0.169. 可以看出,算法完成时间与相应的节点数之间存在线性关系.

    图  5  算力节点数量对算法完成时间的影响
    Figure  5.  Impact of the quantity of computing nodes on completion time of algorithm

    图6展示了算法完成时间与用户数量之间的关系,算力节点数量越多,算法的完成时间也就越多;随着用户数量的增加,算法的完成时间同样呈现出线性增长的趋势. 同样通过最小二乘法对各曲线进行线性拟合,得到的4条近似直线,其斜率由上到下依次是0.048,0.090,0.128,0.169. 可以看出,完成时间与相应的用户数量之间也存在线性关系.

    图  6  用户数量对算法完成时间的影响
    Figure  6.  Impact of the quantity of users on completion time of algorithm

    图7展示了算法完成时间与子任务数量之间的关系,其中:Cx_Ny表示在用户数为x、算力节点数为y的情况下,随着用户数量与节点数量的增加,算法的完成时间相应地增加;子任务数量越多,算法的完成时间也就越大,同样呈现出线性增长的趋势. 本文通过最小二乘法对各曲线进行线性拟合,得到的4条近似直线,其斜率由上到下依次是0.20,0.40,0.41,0.79. 可以看出,完成时间与用户数量和节点数量的乘积存在正比关系.

    图  7  子任务数量对算法完成时间的影响
    Figure  7.  Impact of the quantity of sub-tasks on completion time of algorithm

    综上,图567共同体现出该算法的完成时间与算力节点数量、用户数量以及子任务数量均呈现出正比关系,从而验证了3.2.3节中所分析的Heu-WO的时间复杂度为O(USM).

    本节验证算力网络环境资源对算法性能的影响,通过实验分析平均时延与算力网络环境资源(节点计算能力和带宽资源)的关系.

    图8展示了不同算法在不同算力节点计算能力下的平均时延. 随着算力节点计算能力的增加,各个算法的平均时延均有所降低. 这是因为算力节点的计算资源越多,可以分配给用户的计算资源相应地增加了,降低了计算带来的时间开销. 与其他算法相比, Heu-WO算法实现了最低平均时延(加速比最高达2.7x).

    图  8  平均时延与计算能力的关系
    Figure  8.  Relationship of average latency and computing capability

    图9展示了不同算法在不同网络带宽下的平均时延. 随着网络带宽的增加,各个算法的平均时延也均有所降低. 这是因为网络带宽越大,传输数据则越快,降低了数据传输的时间开销. 与其他算法相比, Heu-WO算法实现了最低平均时延(加速比最高达2. 4x).

    图  9  平均时延与网络带宽的关系
    Figure  9.  Relationship of average latency and bandwidth of network

    本节验证节点数量和用户数量对算法性能的影响. 通过控制变量,分析平均时延与节点数量和用户数量的关系.

    图10展示了不同算法在不同节点数量下的平均时延,随着节点数量的增加,各个算法的平均时延均有所降低. 这是由于资源增加使得用户之间的资源竞争减弱,用户可以分配更多的资源,从而降低了平均时延. 与其他算法相比, Heu-WO保持最优(加速比最高达2.8x).

    图  10  平均时延与节点数量的关系
    Figure  10.  Relationship of average latency and quantity of nodes

    图11展示了不同算法在不同用户数量下的平均时延,随着用户数量的增加,各个算法的平均时延均有所上升. 这是由于用户数量增加加剧了用户之间的资源竞争,从而增加了平均时延. 与其他算法相比, Heu-WO仍保持最优(加速比最高达1.9x).

    图  11  平均时延与用户数量的关系
    Figure  11.  Relationship of average latency and quantity of users

    图12展示了不同算法在不同子任务数量下的平均时延. 随着子任务数量的成倍增加,各个算法的平均时延也呈现出线性上升的趋势. 这是因为虽然子任务数量增加,而资源没发生变化,子任务分配到的资源相应降低,从而导致平均时延的增加. 与其他算法相比, Heu-WO保持最优(加速比最高达1.7x).

    图  12  平均时延与子任务数量的关系
    Figure  12.  Relationship of average latency and quantity of subtasks

    本文研究了算力网络环境下工作流任务卸载与资源分配问题. 根据工作流应用的特点,针对链式工作流任务,本文提出了一种基于势博弈的分布式工作流卸载算法DWO,首先已知卸载决策下的资源分配问题是一个凸优化问题,通过凸优化方法得到最优资源分配方案,基于凸优化求解的资源分配方案,将卸载问题建模成一个加权拥塞博弈. 本文证明了该博弈是一种势博弈(至少存在一个纳什均衡解)和PoA值;针对DAG工作流任务,本文提出了一种基于动态资源权重的启发式工作流卸载算法Heu-WO,每个子任务基于资源权重选择完成时间最少的节点进行卸载. 数值仿真实验表明,在子任务数较小场景下,DWO可以有效地取得高近似比的解(94.6%),相比其他算法可以获得最高3.2x的加速比;Heu-WO可以在较低多项式时间内进行求解,与现有算法相比,最高可以获得2.8x的加速比. 从而验证了本文所提算法DWO和Heu-WO的有效性.

    未来的工作包括3个方面:

    1)本文为了简化问题,在考虑子任务间传输时只考虑了单跳的传输路径(见式(2)),然而子任务间的传输可以是多跳的. 因此,下一步我们将对子任务多跳传输的路径选择问题做进一步研究.

    2)DWO具有一定的理论性,但是针对子任务数量大的场景,时间复杂度较高(见3.1.4节),且难以适用于DAG式工作流任务;而Heu-WO虽然时间复杂度低,但是缺乏理论保证. 因此,下一步我们将考虑对DAG式工作流任务的卸载问题进行松弛,采用势博弈方法求解,并进行理论分析.

    3)本文研究的工作流任务卸载问题只考虑了算力资源同构的场景. 事实上,在大规模算力网络环境下存在大量的异构算力节点,如中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU). 因此,异构算力网络场景下的工作流任务卸载问题将是我们未来要进一步研究的工作.

    作者贡献声明:姜玉龙负责算法设计、仿真与论文撰写;东方负责提出论文整体架构与论文修订指导;郭晓琳负责算法指导与文字把关;罗军舟负责总体思路指导.

  • 图  1   基于网络计算的Allreduce操作实现过程

    Figure  1.   Implementation phases of Allreduce operation based on in-network-computing

    图  2   Ⅰ型聚合树和Ⅱ型聚合树

    Figure  2.   Aggregate trees of type Ⅰ and type Ⅱ

    图  3   测试环境使用的2层胖树

    Figure  3.   2-level fat tree used in the test environment

    图  4   不同进程数下集合操作的实测延迟及理论计算延迟

    Figure  4.   Measured latency and estimated latency of collectives for different count of processes

    图  5   进程数为512时不同消息大小下集合消息的实测延迟及理论计算延迟

    Figure  5.   Measured latency and estimated latency of collectives for different message size when process count is 512

    图  6   同步、广播操作的 F\left(k\right) 曲线

    Figure  6.   Curve of F\left(k\right) for Barrier and Bcast operation

    图  7   k叉树易产生大量的组间通信

    Figure  7.   k-ary aggregate tree is prone to generate lots of inter-group communication

    图  8   k项树(k=2, 4)

    Figure  8.   k-nomial tree (k=2, 4)

    图  9   具有分层结构的聚合树

    Figure  9.   Aggregate tree with hierarchical structure

    图  10   进程组的数据结构

    Figure  10.   The data structure of the process group

    图  11   一棵物理树及其导出的最小代价Ⅱ型聚合树

    Figure  11.   A physical tree and its reduced minimum cost type Ⅱ aggregate tree

    图  12   标准胖树拓扑中不同进程数下3种聚合树的消息延迟

    Figure  12.   Messages latency of three types of aggregate trees for different count of processes in standard fat-tree topology

    图  13   标准胖树拓扑中不同消息长度下3种聚合树的消息延迟

    Figure  13.   Messages latency of three types of aggregate trees for different message sizes in standard fat-tree topology

    图  14   测试使用的2层裁剪胖树示意图

    Figure  14.   Illustration of two-layer pruned fat-tree used in the test

    图  15   裁剪胖树拓扑下有干扰时集合通信消息延迟

    Figure  15.   Collective messages latency in pruned fat-tree topology with inference

    图  16   裁剪胖树下3种聚合树构建方法的跨组聚合包

    Figure  16.   Inter-group aggregation packets of three types of aggregate trees constructed methods in pruned fat-tree

    图  17   使用网络拓扑对比Ⅰ型聚合树及Ⅱ型聚合树性能

    Figure  17.   Network topology used to compare the performance of type Ⅰ and type Ⅱ aggregate trees

    图  18   Ⅰ型聚合树及Ⅱ型聚合树的性能对比

    Figure  18.   Performance comparison of type Ⅰ and type Ⅱ aggregate trees

    图  19   不同通信模式下Ⅱ型聚合树使用的总聚合树条目数

    Figure  19.   Total count of aggregate tree entries used by type Ⅱ aggregate trees for different kinds of communication patterns

    图  20   不同通信模式下创建Ⅱ型聚合树的失败率

    Figure  20.   Failure rate of creating type Ⅱ aggregate trees in different communication patterns

    表  1   硬件集合通信开销模型中使用的符号

    Table  1   Symbols Used in the Cost Model of Hardware Supported Collectives

    符号 含义
    {T}_{\mathrm{c}\mathrm{o}\mathrm{l}\mathrm{l}} 集合操作的总时间开销
    {T}_{\mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\_\mathrm{w}\mathrm{r}} 应用投递1个集合操作描述符的时间
    {T}_{\mathrm{f}\mathrm{e}\mathrm{t}\mathrm{c}\mathrm{h}\_\mathrm{w}\mathrm{r}} 网卡读取1个集合操作描述符的时间
    {T}_{\mathrm{f}\mathrm{e}\mathrm{t}\mathrm{c}\mathrm{h}\_\mathrm{d}\mathrm{a}\mathrm{t}\mathrm{a}} 网卡从内存读取操作数的时间
    {T}_{\mathrm{a}\mathrm{g}\mathrm{g}\mathrm{r}\mathrm{e}\mathrm{g}\mathrm{a}\mathrm{t}\mathrm{e}} 聚合过程的时间开销
    {T}_{\mathrm{b}\mathrm{c}\mathrm{a}\mathrm{s}\mathrm{t}} 广播过程的时间开销
    {T}_{\mathrm{w}\mathrm{r}\mathrm{i}\mathrm{t}\mathrm{e}\_\mathrm{w}\mathrm{c}} 网卡写完成条目及结果到内存的时间
    {T}_{\mathrm{n}\mathrm{o}\mathrm{i}\mathrm{s}\mathrm{e}} 噪声导致的开销
    S 用户消息大小(不超过2 KB)
    {S}^{'} 聚合包大小
    {S}^{*} 规约数据长度
    \beta PCIE链路/网络链路带宽
    l 消息经过1条网络链路的时间
    {h}_{\mathrm{a}\mathrm{t}\mathrm{r}\mathrm{e}\mathrm{e}} 聚合树高度
    {r}_{\mathrm{a}\mathrm{t}\mathrm{r}\mathrm{e}\mathrm{e}} 聚合树半径
    P 进程总数
    k k叉树的宽度或k项树的基
    \theta 每个聚合包的匹配处理时间
    \gamma 单位长度数据的规约计算时间
    \delta 任2个进程间单播路由的最大跳步数
    下载: 导出CSV

    表  2   测试环境中使用的Ⅰ型聚合树宽度

    Table  2   Type Ⅰ Aggregate Tree Breadth Used in the Test Environment

    消息类型聚合包长度/B {k}_{\mathrm{m}\mathrm{i}\mathrm{n}} {k}_{\mathrm{m}\mathrm{a}\mathrm{x}} 推荐 k
    Barrier/Bcast0326432
    Reduce/AllReduce32166332
    Reduce/AllReduce64155332
    Reduce/AllReduce128134016
    Reduce/AllReduce256102816
    Reduce/AllReduce51281916
    Reduce/AllReduce10246128
    Reduce/AllReduce2048588
    下载: 导出CSV

    表  3   聚合树选择方法

    Table  3   Method to Select Aggregate Tree

    d 聚合包长度/B 聚合树类型 k
    16 (0, 2 048] Ⅱ 型 16
    64 [0, 323] Ⅱ 型 64
    (323, 512] Ⅰ 型 16
    (512, 2 048] Ⅰ 型 8
    不能创建Ⅱ
    型聚合树时
    [0, 64] Ⅰ 型 32
    (64, 512] Ⅰ 型 16
    (512, 2 048] Ⅰ 型 8
    下载: 导出CSV

    表  4   裁剪胖树拓扑下有干扰时不同进程数下Bcast-8B延迟

    Table  4   Bcast-8B Latency for Different Count of Processes in Pruned Fat-tree Topology with Inference

    进程数 32叉树下
    延迟/μs
    32项树下
    延迟/μs
    分层32项树
    下延迟/μs
    64 19.92(↓39%) 17.79(↓32%) 12.11
    128 25.11(↓49%) 18.58(↓31%) 12.75
    192 35.75(↓64%) 18.54(↓31%) 12.73
    256 42.87(↓70%) 18.62(↓32%) 12.75
    320 71.81(↓82%) 18.86(↓32%) 12.83
    384 97.33(↓86%) 18.94(↓30%) 13.33
    448 115.82(↓87%) 18.80(↓26%) 13.94
    512 136.60(↓89%) 19.48(↓24%) 14.89
    注:括号内的百分比表示分层32项树相比32叉树、32项树的延迟下降比例;↓表示分层32项树相比32叉树、32项树的延迟下降比例.
    下载: 导出CSV
  • [1]

    Liao Xiangke, Lu Kai, Yang Canqun, et al. Moving from exascale to zettascale computing: Challenges and techniques[J]. Frontiers of Information Technology & Electronic Engineering, 2018, 19(10): 1236−1244

    [2]

    Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, version 4.0 [S/OL]. (2021-06-09)[2023-02-25]. https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf

    [3]

    Thakur R, Rabenseifner R, Gropp W. Optimization of collective communication operations in MPICH[J]. International Journal of High Performance Computing Applications, 2005, 19(1): 49−66 doi: 10.1177/1094342005051521

    [4]

    Chan E, Heimlich M, Purkayastha A, et al. Collective communication: Theory, practice, and experience[J]. Concurrency and Computation: Practice and Experience, 2007, 19(13): 1749−1783 doi: 10.1002/cpe.1206

    [5]

    Richard L G, Devendar B, Lui Pak, et al. Scalable hierarchical aggregation protocol (SHARP): A hardware architecture for efficient data reduction [C/OL] //Proc of the 1st Int Workshop on Communication Optimizations in HPC. Piscataway, NJ: IEEE, 2016 [2023-02-25]. https://doi.org/10.1109/COMHPC.2016.006

    [6]

    Sapio A, Abdelaziz I, Aldilaijan A, et al. In-network computation is a dumb idea whose time has come [C] //Proc of the 16th ACM Workshop on Hot Topics in Networks. New York: ACM, 2017: 150−156

    [7]

    Benson T A. In-network compute: Considered armed and dangerous [C] //Proc of the 17th Workshop on Hot Topics in Operating Systems. New York: ACM, 2019: 216−224

    [8]

    Chen Dong, Eisley N A, Heidelberger P, et al. The IBM Blue Gene/Q interconnection fabric[J]. IEEE Micro, 2012, 32(1): 32−43 doi: 10.1109/MM.2011.96

    [9]

    Chen Dong, Eisley N A, Heidelberger P, et al. The IBM Blue Gene/Q interconnection network and message unit [C/OL] //Proc of the 24th Int Conf for High Performance Computing, Networking, Storage, and Analysis. Piscataway, NJ: IEEE, 2011 [2023-02-25]. https://doi.org/10.1145/2063384.2063419

    [10]

    Chen Dong, Eisley N, Heidelberger P, et al. Looking under the hood of the IBM blue gene/Q network [C/OL] //Proc of the 25th Int Conf for High Performance Computing, Networking, Storage, and Analysis. Piscataway, NJ: IEEE, 2012 [2023-02-25]. https://doi.org/10.1109/SC.2012.72

    [11]

    Kumar S, Mamidala A, Heidelberger P, et al. Optimization of MPI collective operations on the IBM Blue Gene/Q supercomputer[J]. The International Journal of High Performance Computing Applications, 2014, 28(4): 450−464 doi: 10.1177/1094342014552086

    [12]

    Manjunath G V, Gilad S, Richard L G, et al. Accelerating OpenSHMEM collectives using in-network computing approach [C]// Proc of the 31st Int Symp on Computer Architecture and High Performance Computing. Piscataway, NJ: IEEE, 2019: 212−219

    [13]

    Mellanox Technologies Ltd. Aggregation Protocol: US, US10284383 [P]. 2019-05-07

    [14]

    Bharath R, Kaushik K S, Nick S, et al. Scalable MPI collectives using SHARP: Large scale performance evaluation on the TACC Frontera system [C] //Proc of the 1st Workshop on Exascale MPI. Piscataway, NJ: IEEE, 2020: 11−20

    [15] 高剑刚,卢宏生,何王全,等. 神威E级原型机互连网络和消息机制[J]. 计算机学报,2021,44(1):222−234

    Gao Jiangang, Lu Hongsheng, He Wangquan, et al. The interconnection network and message machinasim of Sunway exascale prototype system[J]. Chinese Journal of Computers, 2021, 44(1): 222−234 (in Chinese)

    [16]

    Zimmer C, Atchley S, Pankajakshan R, et al. An evaluation of the CORAL interconnects [C/OL] //Proc of the 32nd Int Conf for High Performance Computing, Networking, Storage, and Analysis. Piscataway, NJ: IEEE, 2019[2023-02-25]. https://doi.org/10.1145/3295500.3356166

    [17] 胡美勇. 基于“天河”高速互连网络的MPI聚合通信优化[D]. 长沙:国防科学技术大学,2014

    Hu Meiyong. MPI collective communication optimization on Tianhe high-speed interconnect[D]. Changsha: National University of Defense Technology, 2014 (in Chinese)

    [18]

    Rottenstreich O, Yallouz J, Levi L. Isolated trees in multi-tenant fat tree datacenters for in-network computing [C] //Proc of the 27th IEEE Symp on High-Performance Interconnects. Piscataway, NJ: IEEE, 2020: 55−62

    [19]

    Banerjee S, Kommareddy C, Kar K, et al. Construction of an efficient overlay multicast infrastructure for real-time applications [C] //Proc of the 22nd IEEE INFOCOM. Piscataway, NJ: IEEE, 2003: 1521−1531

    [20]

    Ho J M, Lee D T, Chang C H, et al. Minimum diameter spanning trees and related problems[J]. SIAM Journal on Computing, 1991, 20(5): 987−997 doi: 10.1137/0220060

    [21]

    Shi S Y, Turner J S, Waldvogel M. Dimensioning server access bandwidth and multicast routing in overlay networks [C] //Proc of the 10th IEEE Int Workshop on Network and Operating System Support for Digital Audio and Video. Piscataway, NJ: IEEE, 2001: 83−91

    [22]

    Valerio M, Moser L E, Melliar-Smith P M. Recursively scalable fat-trees as interconnection networks [C]// Proc of the 13th IEEE Annual Int Phoenix Conf on Computers and Communications. Piscataway, NJ: IEEE, 1994: 40−46

    [23]

    Petrini F, Vanneschi M. k-ary n-trees: High performance networks for massively parallel architectures [C] //Proc of the 11th Int Parallel Processing Symp. Piscataway, NJ: IEEE, 1997: 87−93

    [24]

    Kim J, Dally W J, Scott S, et al. Technology-driven, highly-scalable dragonfly topology [C] //Proc of the 35th Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2008: 77−88

    [25]

    Zhao Tianhai, Wang Yunlan, Wang Xu. Optimized reduce communication performance with the tree topology [C] //Proc of the 4th High Performance Computing and Cluster Technologies Conf. New York: ACM, 2020: 165−171

    [26]

    Tipparaju V, Nieplocha J, Panda D. Fast collective operations using shared and remote memory access protocols on clusters [C/OL] //Proc of the 17th Int Parallel and Distributed Processing Symp. Piscataway, NJ: IEEE, 2003 [2023-02-25]. https://doi.org/10.1109/PDPS.I2003.1213188

    [27]

    Jain S, Kaleem R, Balmana M G, et al. Framework for scalable intra-node collective operations using shared memory [C/OL] //Proc of the 31st ACM/IEEE Int Conf for High Performance Computing, Networking, Storage and Analysis. Piscataway, NJ: IEEE, 2018 [2023-02-25]. https://doi.org/10.1109/SC.2018.00032

    [28]

    Luo Xi, Wu Wei, Bosilca G, et al. HAN: A hierarchical autotuned collective communication framework [C] //Proc of the 22nd Cluster Conf. Piscataway, NJ: IEEE, 2020: 23−34

    [29]

    Li Shigang, Hoefler T, Snir M. Numa-aware shared-memory collective communication for MPI [C] //Proc of the 22nd Int Symp on High-Performance Parallel and Distributed Computing. New York: ACM, 2013: 85–96

  • 期刊类型引用(5)

    1. 宋朋,赵伯鸾. 农业机械车路协同辅助驾驶路线规划系统的设计与实现. 农机化研究. 2025(06): 232-238 . 百度学术
    2. 尹璐,周俊龙,孙晋,吴泽彬. 不确定性感知的边缘计算任务调度算法. 控制与决策. 2024(07): 2405-2413 . 百度学术
    3. 侯祥鹏,兰兰,陶长乐,寇小勇,丛佩金,邓庆绪,周俊龙. 边缘智能与协同计算:前沿与进展. 控制与决策. 2024(07): 2385-2404 . 百度学术
    4. 李超,李文斌,高阳. 图多智能体任务建模视角下的协作子任务行为发现. 计算机研究与发展. 2024(08): 1904-1916 . 本站查看
    5. 夏思洋,朱学芳. 5G环境下基于边缘计算的图书馆智慧服务响应能力研究. 情报理论与实践. 2023(12): 21-27+51 . 百度学术

    其他类型引用(0)

图(20)  /  表(4)
计量
  • 文章访问数:  152
  • HTML全文浏览量:  26
  • PDF下载量:  65
  • 被引次数: 5
出版历程
  • 收稿日期:  2022-08-07
  • 修回日期:  2023-04-05
  • 网络出版日期:  2023-11-13
  • 刊出日期:  2024-02-01

目录

/

返回文章
返回