网络带宽调整方法和相关产品技术

技术编号:30204708 阅读:27 留言:0更新日期:2021-09-29 09:04
本申请实施例公开了一种网络带宽调整方法和相关产品,该方法包括:获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间;在确定所述至少一次训练迭代所花费的时间超时的情况下,向第一服务器发送带宽更新请求,所述带宽更新请求用于请求所述第一服务器更新服务节点的带宽;所述服务节点存储有所述训练任务的数据,可以有效解决参数服务器网络的带宽不足问题,提高工作节点的训练效率。提高工作节点的训练效率。提高工作节点的训练效率。

【技术实现步骤摘要】
网络带宽调整方法和相关产品


[0001]本申请涉及计算机领域,尤其涉及一种网络带宽调整方法和相关产品。

技术介绍

[0002]在分布式深度学习训练系统中,会通过参数聚合将不同计算节点的计算结果进行阶段性地同步。然而,多个计算节点同时与参数服务器之间进行数据交互可能会导致服务节点发生网络阻塞,进而影响整个深度学习模型的训练效率。

技术实现思路

[0003]本申请实施例公开了一种网络带宽调整方法和相关产品。
[0004]第一方面,本申请实施例提供了一种网络带宽调整方法,该方法包括:获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间;在确定所述至少一次训练迭代所花费的时间超时的情况下,向第一服务器发送带宽更新请求,所述带宽更新请求用于请求所述第一服务器更新服务节点的带宽;所述服务节点存储有所述训练任务的数据。
[0005]可选的,所述工作节点(即work节点)在执行第N次训练迭代之前,从所述服务节点(即server节点)获取其执行所述第N次训练迭代所需的参数。本申请实施例的执行主体可以是第二服务器。该第二服务器可以是一个服务器集群,也可以是一个服务器。在一些实施例中,第二服务器、工作节点以及服务节点包含于同一个分布式训练集群,server节点即参数服务器,主要是存放深度学习训练任务的参数和接收work节点推送的梯度以及对本地参数进行更新;work节点是从server节点获取参数,并将迭代计算得到的梯度推送给server节点。work节点从server节点获取参数以及向server节点推送梯度可能会导致server节点发生网络阻塞,最终造成传输中数据的丢失。如果server节点的网络发生阻塞,当work节点再次从server节点获取参数和向server节点推送梯度时,就会出现超时现象进而影响后面的训练过程。本申请实施例中,第二服务器可以实时或接近实时的监听工作节点每次完成训练迭代所花费的时间,进而确定每次训练迭代是否超时;在确定某次训练迭代超时的情况下,可以准确地确定出服务节点当前的网络带宽不足,进而自动调整服务节点的网络带宽。可以理解,本申请实施例中,第二服务器可以实时动态调整服务节点的网络带宽,从而避免工作节点的训练超时,提高训练效率。
[0006]本申请实施例中,在工作节点执行训练任务时完成至少一次训练迭代超时的情况下,向第一服务器发送带宽更新请求,以便于调节服务节点的带宽更新,可以有效解决参数服务器网络的带宽不足的问题,提高工作节点的训练效率。
[0007]在一个可选的实现方式中,所述确定所述至少一次训练迭代所花费的时间超时,包括:基于所述至少一次训练迭代所花费的时间的第一时长和所述工作节点执行所述训练任务的历史迭代时长信息,确定所述至少一次训练迭代所花费的时间超时。
[0008]由于工作节点执行训练任务时实现每次训练迭代所执行的操作类似,因此该工作节点在执行训练任务时实现每次训练迭代所花费的时长也基本相同。历史迭代时长记录包
括该工作节点执行训练任务时完成至少一次训练迭代所花费的时长。基于第一时长与历史迭代时长记录可以准确地确定第一时长与以往的迭代时长相比是否较长,进而确定完成至少一次训练迭代所花费的时间是否超时。在一些实施例中,所述至少一次训练迭代所花费的时间的第一时长为当前执行的第N次迭代所花费的时长,所述确定所述至少一次训练迭代所花费的时间超时可以是确定当前执行的第N次迭代所花费的时间超时。
[0009]在该实现方式中,基于第一时长和历史迭代时长信息,可以准确、快速地确定工作节点完成至少次训练迭代所花费的时间是否超时。
[0010]在一个可选的实现方式中,所述基于所述至少一次训练迭代所花费的时间的第一时长和所述工作节点执行所述训练任务的历史迭代时长信息,确定所述至少一次训练迭代所花费的时间超时包括:基于所述工作节点执行所述训练任务时完成至少一次历史训练迭代的时长,得到第二时长;在所述第一时长和所述第二时长之差超过第一时间阈值的情况下,确定所述至少一次训练迭代所花费的时间超时。所述第二时间可以所述工作节点执行所述训练任务时完成至少一次历史训练迭代的平均时长或者最长时长。
[0011]在该实现方式中,可以准确、快速地确定工作节点完成至少一次训练迭代所花费的时间是否超时。
[0012]在一个可选的实现方式中,所述至少一次训练迭代为连续的K次训练迭代,所述确定所述至少一次训练迭代所花费的时间超时,包括:基于所述训练任务的多次历史训练迭代的时长,得到第三时长,其中,所述第三时长为连续完成所述训练任务的K次历史训练迭代所花费的平均时长;在所述第一时长和所述第三时长之差超过第二时间阈值的情况下,确定所述至少一次训练迭代所花费的时间超时。
[0013]在该实现方式中,可以准确、快速地确定工作节点连续实现多次训练迭代所花费的时间是否超时。
[0014]在一个可选的实现方式中,所述工作节点和所述服务节点均为物理节点;或者,所述网络带宽调整方法应用于第二服务器,所述工作节点和所述服务节点中的一个为运行于第三服务器的虚拟机,另一个为物理节点或者为运行于第四服务器的虚拟机。
[0015]在一个可选的实现方式中,所述网络带宽调整方法应用于第二服务器上的第一虚拟机,所述第二服务器还运行有第二虚拟机以及第三虚拟机,所述第二虚拟机为所述工作节点,所述第三虚拟机为所述服务节点。
[0016]可选的,所述第二服务器可以为一个服务器,也可以是一个云服务器,还可以是一个服务器集群,本申请不作限定。示例性的,所述第二服务器可以为OpenStack云平台系统包含的计算节点,所述第一服务器为该OpenStack云平台系统包含的控制节点。
[0017]在一个可选的实现方式中,所述获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间之前,所述方法还包括:运行训练任务启动脚本,所述训练任务启动脚本用于获取所述工作节点执行训练任务时完成至少一次训练迭代所花费的时间。
[0018]在一个可选的实现方式中,所述训练任务启动脚本包括用于确定至少一次训练迭代所花费的时间超时所需的信息和预设带宽调整幅度中的至少一项。
[0019]在一个可选的实现方式中,所述方法还包括:获取所述服务节点当前的第一带宽;基于所述第一带宽和预设带宽调整幅度,确定将所述服务节点的带宽调整为第二带宽;所述带宽更新请求携带所述第二带宽,所述第二带宽大于所述第一带宽。
[0020]第二方面,本申请实施例提供了一种网络带宽调整装置,该网络带宽调整装置包括:获取单元,用于获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间;确定单元,用于确定所述至少一次训练迭代所花费的时间超时;发送单元,用于向第一服务器发送带宽更新请求,所述带宽更新请求用于请求所述第一服务器更新服务节点的带宽;所述服务节点存储有所述训练任务的数据。
[0021]在一个可选的实现方式中,所述确定单元,具体用于基于所述至少一次训练迭代所花费的时间的第一时长和所述工作节点执行所述训练任务的历本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络带宽调整方法,其特征在于,包括:获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间;在确定所述至少一次训练迭代所花费的时间超时的情况下,向第一服务器发送带宽更新请求,所述带宽更新请求用于请求所述第一服务器更新服务节点的带宽;所述服务节点存储有所述训练任务的数据。2.根据权利要求1所述的方法,其特征在于,所述确定所述至少一次训练迭代所花费的时间超时,包括:基于所述至少一次训练迭代所花费的时间的第一时长和所述工作节点执行所述训练任务的历史迭代时长信息,确定所述至少一次训练迭代所花费的时间超时。3.根据权利要求2所述的方法,其特征在于,所述基于所述至少一次训练迭代所花费的时间的第一时长和所述工作节点执行所述训练任务的历史迭代时长信息,确定所述至少一次训练迭代所花费的时间超时包括:基于所述工作节点执行所述训练任务时完成至少一次历史训练迭代的时长,得到第二时长;在所述第一时长和所述第二时长之差超过第一时间阈值的情况下,确定所述至少一次训练迭代所花费的时间超时。4.根据权利要求2或3所述的方法,其特征在于,所述至少一次训练迭代为连续的K次训练迭代,所述确定所述至少一次训练迭代所花费的时间超时,包括:基于所述训练任务的多次历史训练迭代的时长,得到第三时长,其中,所述第三时长为连续完成所述训练任务的K次历史训练迭代所花费的平均时长;在所述第一时长和所述第三时长之差超过第二时间阈值的情况下,确定所述至少一次训练迭代所花费的时间超时。5.根据权利要求1至4任一项所述的方法,其特征在于,所述工作节点和所述服务节点均为物理节点;或者,所述网络带宽调整方法应用于第二服务器,所述工作节点和所述服务节点中的一个为运行于第三服务器的虚拟机,另一个为物理节点或者为运行于第四服务器的虚拟机。6.根据权利要求1至4任一项所述的方法,其特征在于,所述网络带宽调整方法应用于第二服务器上的第一虚拟机,所述第二服务器还运行有第二虚拟机以及第三虚拟机,所述第二虚拟机为所述工作节点,所述第三虚拟机为所述服务节点。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间之前,所述方法还包括:运行训练任务启动脚本,所述训练任务启动脚本用于获取所述工作节点执行训练任务时完成至少一次训练迭代所花费的时间。8.根据权利要求7所述的方法,其特征在于,所述训练任务启动脚本包括用于确定至少一次训练迭代所花费的时间超时所需的信息和预设带宽调整幅度中的至少一项。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:获取所述服务节点当前的第一带宽;基于所述第一带宽和预设带宽调整幅度,确定将所述服务节点的带宽调整为第二带宽;
所述带宽更新请求携带所述第二带宽,所述第二带宽大于所述第一带宽。10.一种网络带宽调整装置,其特征在于,包括:获取单元,用于获取工作节点执行训练任务时完成至少一次训练迭代所花费的时间;确定单元,...

【专利技术属性】
技术研发人员:鲁磊孙鹏
申请(专利权)人:上海商汤智能科技有限公司
类型:发明
国别省市:

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

1