CN115914237A - 一种边缘环境下的深度学习任务调度方法、设备及介质 - Google Patents
一种边缘环境下的深度学习任务调度方法、设备及介质 Download PDFInfo
- Publication number
- CN115914237A CN115914237A CN202211584750.9A CN202211584750A CN115914237A CN 115914237 A CN115914237 A CN 115914237A CN 202211584750 A CN202211584750 A CN 202211584750A CN 115914237 A CN115914237 A CN 115914237A
- Authority
- CN
- China
- Prior art keywords
- node
- deep learning
- learning task
- iperf
- network
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种边缘环境下的深度学习任务调度方法、设备及介质,包括:根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序;根据打分排序结果,将深度学习任务分配至排序结果中最靠前的node节点上运行,该方法、设备及介质能够提高深度学习任务的运行效率。
Description
技术领域
本发明属于信息技术领域,涉及一种深度学习任务调度方法、设备及介质,具体涉及一种边缘环境下的深度学习任务调度方法、设备及介质。
背景技术
目前存在许多内容旁别的问题,而大量的训练过的深度学习模型可以不同的特定领域提供帮助。使用者不需要知道算法之中的内涵以及过程,只需要找对相应的应用场景的算法,将问题格式化输入给模型。调用训练好的模型进行推理任务,就能够直接获得高可靠性的结果。serverless computing和基于深度学习模型的推理任务相结合将是未来一条主流的商业化道路。这些基于深度学习的推理任务通常有着复杂的计算,因此这些服务是有延迟的。例如,本地生活服务的延迟大部分都在200ms以内。我们知道模型训练、模型配置以及集群维护成本都很高,因此将这类型服务转移到serverless上是一种有效的解决方案。首先,推理任务的服务非常容易与前端应用连接。其次,开发人员可以便捷地通过函数模块开发服务,并且开发人员不需要参与到具体的场景管理。serverless computing具有自动扩容特性,可以较好处理突发性的工作负载。除此之外,服务的收费可以应采取按次以及时间计费等方式。但是,深度学习推理任务在边缘环境下的运行性能探究目前还鲜有研究,由于边缘设备的计算资源和存储资源的有限,因此在集群上进行有效的任务调度是一个难点,需要满足推理服务低延迟、高吞吐量的性能需求。
MArk[Chengliang Zhang,Minchen Yu,Wei Wang,and Feng Yan.2019.MArk:exploiting cloud services for cost-effective,SLO-aware machine learninginference serving.In Proceedings of the 2019USENIX Conference on UsenixAnnual Technical Conference(USENIX ATC'19).USENIX Association,USA,1049–1062.]对服务于云的ML模型进行了系统的研究,并得出结论:结合FaaS和IaaS可以实现可扩展的ML服务,并具有较低的超额配置成本。在ML模型服务的独特特性的驱动下,提出了MArk,一个具有成本效益和SLO意识的ML服务系统。在AWS上对MArk进行了原型测试,结果显示,与主要的自动扩展ML平台SageMaker相比,MArk的成本明显降低了(高达7.8倍),同时符合SLO要求有更好的延时性能。
BATCH[AhsanAli,RiccardoPinciroli,FengYan,andEvgeniaSmirni.2020.Batch:Machine Learning Inference Serving on Serverless Platforms with AdaptiveBatching.In Proceedings of the International Conference for High PerformanceComputing,Networking,Storage and Analysis(Atlanta,Georgia)(SC’20).IEEE Press,Article 69,15pages.],一个用于优化无服务器平台上的ML服务的新框架。BATCH使用一个轻量级的剖析策略和一个分析模型来轻量级剖析策略和分析模型来识别最佳参数配置(即内存大小。批量大小和超时)来提高系统性能同时满足用户定义的SLO。BATCH的效率是通过实际跟踪和比较评估了BATCH的效率,并将其性能与其他可用的策略(例如:BATCH)进行了比较。其他可用的策略(例如AWS SageMaker)。BATCH将维护系统的成本降低了50%,并能在满足预算的情况下将系统性能降到最低独立于到达强度的预算。未来的工作包括扩展BATCH以支持不同的服务时间分布,并采用比穷举搜索更快的优化算法。比这里使用的穷举搜索更快,以支持延迟和成本的共同优化。
INFLESS[Yanan Yang,Liangyu Zhao,Yiming Li,Huanyu Zhang,Jie Li,Mingyang Zhao,Xingyu Chen and Keqiu Li.“INFless:a native serverless systemfor low-latency,high-throughput inference”(2022).]提出了一个基于无服务器计算的原生的机器学习推理框架,该框架可以满足低延时、高吞吐量、低开销的性能需求。该方案的主要设计包括:1.内置批处理解决方案与异构硬件支持;2.Combined OperatorProfiling方法找到资源配置方案;3.Long-Short Term Histogram(LSTH)策略降低冷启动时间与减少资源浪费。
已有的解决方案包括Mark(ATC‘19)、BATCH(SC’20),为了满足吞吐量的需求都采用了批处理的方案——将多个任务集成到一次执行。这种On-Top-of-Platform(OTP)的设计在已有的无服务器计算框架的基础上增加新的批处理层,尽管可以提高系统的吞吐量,但是低延时的性能需求没有妥善的解决,INFLESS的方案过于激进,将系统资源分配的过于理想,不能应对一些突发情况。并且以上的方案都是针对系统计算资源来进行调度的,边缘集群中,还有一些其他因素也会影响到深度学习推理任务运行效率,比如网络状态。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种边缘环境下的深度学习任务调度方法、设备及介质,该方法、设备及介质能够提高深度学习任务的运行效率。
为达到上述目的,本发明采用如下技术方案:
本发明一方面,本发明提供了一种边缘环境下的深度学习任务调度方法,包括:
考虑网络状态,根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序;
根据打分排序结果,将深度学习任务分配至排序结果中最靠前的node节点上运行。
本发明所述边缘环境下的深度学习任务调度方法进一步的改进在于:
所述根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序之前还包括:
进行集群网络资源的监控,获取iperf数据表格,根据所述iperf数据表格中,同一node节点container的前24位ip相同,获取各container的当前网络资源状态信息,将所述各container的当前网络资源状态信息存储于所述container网络性能表格。
所述iperf数据表格中数据存储的格式为<ip,time,index>。
所述集群包括master节点及node节点。
所述进行集群网络资源的监控,获取iperf数据表格的具体过程为:
在master节点及node节点上部署iperf工具,定期在所述master节点与所述node节点之间进行数据传输,提取iperf工具的运行信息,将所述iperf工具的运行信息更新至iperf数据表格中。
所述iperf工具的运行信息包括网络延迟、丢包率及网络速率。
所述根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序之前还包括:
提取memory及cpu资源均满足目标任务要求的node节点;
将提取得到的node节点放置于所述备选队列中。
所述根据打分排序结果,将深度学习任务分配到所述打分排序结果中最靠前的node节点上运行之后还包括:
所述node节点将运行结果反馈给master节点。
本发明二面,本发明提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述边缘环境下的深度学习任务调度方法的步骤。
本发明三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述边缘环境下的深度学习任务调度方法的步骤。
本发明具有以下有益效果:
本发明所述的边缘环境下的深度学习任务调度方法、设备及介质在具体操作时,采用打分排序的方式选择最优的node节点,将深度学习任务分配至所述最优的node节点上,以提高深度学习任务的运行效率,具体的,考虑网络状态,根据container网络性能表格中的数据对备选队列中各node节点进行打分排序,将深度学习任务分配至排序结果中最靠前的node节点上运行,操作简单、方便,实用性极强。
进一步,所述iperf工具的运行信息包括网络延迟、丢包率及网络速率,本发明基于网络延迟、丢包率及网络速率综合评估各node节点,对各node节点进行打分排序,以获取选择出最优的node节点。
附图说明
图1为本发明的方法流程图;
图2为进行集群网络资源监控的流程图;
图3为获取node节点的网络资源信息的流程图;
图4为根据网络资源信息进行node节点打分的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,不是全部的实施例,而并非要限制本发明公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本发明公开的概念。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在附图中示出了根据本发明公开实施例的结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
公知的,Iperf工具是一个网络性能测试工具,Iperf工具可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
Node节点也被称为Worker或Minion,是主要负责部署容器(container)的单机(或虚拟机),集群中的每个节点都必须具备容器的运行环境(runtime),比如Docker及其他组件等。
实施例一
本发明针对深度学习推理任务在边缘分布式集群节点上的任务调度。考虑其他工作没有细究的网络方面,先进行集群网络资源的监控,再获取节点网络资源信息,然后根据网络状态信息进行节点打分排序,完成根据网络状态进行任务调度的功能。
参考图1,具体的,本发明所述的边缘环境下的深度学习任务调度方法包括以下步骤:
1)进行集群网络资源的监控;
需要说明的是,参考图2,集群中包括master节点(Kubernetes集群的控制节点)及node节点,在工作时,外部请求发送到master节点,master节点进行响应,再将深度学习任务分配给集群中的node节点上运行,然后返回深度学习任务的运行结果。
本发明在master节点和node节点上部署iperf工具,定期,在master节点与node节点之间进行数据传输,然后提取iperf工具的运行信息,所述iperf工具的运行信息包括网络延迟、丢包率及网络速率,再将所述iperf工具的运行信息更新至iperf数据表格中,其中,需要说明的是,iperf数据表格仅保存最新的几条数据,以增加可靠性,通过不断的更新,以获取最新的运行信息,继而提高在后续流程中准确选择出最优node节点。
2)获取node节点的网络资源信息;
具体的,参考图3,将Master节点和node节点运行iperf时记录下的网络状态数据存储于iperf数据表格中,存储格式为<ip,time,index>,其中,该ip为node节点的ip,由于同一个node节点container的前24位ip是相同的,因此利用该特性,进行映射,以获取各container的当前网络资源状态信息,所述当前网络资源状态信息包括延迟、丢包率及速率,再将获取的当前网络资源状态信息存储于container网络性能表格,即以延迟、丢包率及速率作为指标评估node节点的性能。
3)参考图4,提取memory及cpu资源都满足目标任务要求的node节点,并将提取的node节点放置于备选队列中,然后利用container网络性能表格中的数据对备选队列中的各node节点进行优先级打分,打分的具体过程为:
对各网络指标加权标准化,得累加积分S,其中,
S=a×(TransmissionSpeed-TransmissionSpeed_avg)-b×(delay–delay_avg)-c×
(PacketLossRate–PacketLossRate_avg)+M
然后按照S的值从大到小对备选队列中的各node节点进行重新排序,其中,S的值越高,则对应node节点的优先级越高,再按照排序结果调用最靠前的node节点,将任务分配至优先级较高的node节点上运行。
需要说明的是,本发明以延迟、丢包率及速率作为指标综合评估备选队列中各node节点的性能,从而考虑网络状态,选择出性能最优的node节点,再将深度学习任务分配至性能最优的node节点上运行,以提高深度学习任务的执行效率,缩短执行的时间。
另外,需要说明的是,现有技术中,Mark(ATC‘19)、BATCH(SC’20)中,为满足吞吐量的需求,都采用批处理的方案,即将多个任务集成到一次执行,INFLESS的方案过于激进,将系统硬件资源分配的较为理想。但以上工作考虑都是CPU、Memory等一些计算资源数据,没有考虑集群的网络性能,在边缘分布式集群中,网络状态也是一个对于运行性能影响较大的因素。然而本发明针对深度学习推理任务在边缘分布式集群节点上的任务调度,通过对集群网络资源进行监控,获取node节点的网络资源信息,根据网络资源状态信息对各node节点打分排序,其中,在打分过程中,以延迟、丢包率及速率作为指标综合评估备选队列中各node节点的性能,从而考虑网络状态,根据排序结果,将深度学习任务分配至打分最高的node节点上运行。
实施例二
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述边缘环境下的深度学习任务调度方法的步骤,其中,所述存储器可能包含内存,例如高速随机存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器等;处理器、网络接口、存储器通过内部总线互相连接,该内部总线可以是工业标准体系结构总线、外设部件互连标准总线、扩展工业标准结构总线等,总线可以分为地址总线、数据总线、控制总线等。存储器用于存放程序,具体地,程序可以包括程序代码、所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
实施例三
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述边缘环境下的深度学习任务调度方法的步骤,具体地,所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器可以包括随机存储存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器可以包括只读存储器(ROM)、硬盘、闪存、光盘、磁盘等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种边缘环境下的深度学习任务调度方法,其特征在于,包括:
考虑网络状态,根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序;
根据打分排序结果,将深度学习任务分配至排序结果中最靠前的node节点上运行。
2.根据权利要求1所述的边缘环境下的深度学习任务调度方法,其特征在于,所述考虑网络状态,根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序之前还包括:
进行集群网络资源的监控,以获取iperf数据表格,根据所述iperf数据表格中,同一node节点container的前24位ip相同,获取各container的当前网络资源状态信息,将所述各container的当前网络资源状态信息存储于所述container网络性能表格。
3.根据权利要求2所述的边缘环境下的深度学习任务调度方法,其特征在于,所述iperf数据表格中数据存储的格式为<ip,time,index>。
4.根据权利要求2所述的边缘环境下的深度学习任务调度方法,其特征在于,所述集群包括master节点及node节点。
5.根据权利要求3所述的边缘环境下的深度学习任务调度方法,其特征在于,所述进行集群网络资源的监控,获取iperf数据表格的具体过程为:
在master节点及node节点上部署iperf工具,定期在所述master节点与所述node节点之间进行数据传输,提取iperf工具的运行信息,将所述iperf工具的运行信息更新至iperf数据表格中。
6.根据权利要求5所述的边缘环境下的深度学习任务调度方法,其特征在于,所述iperf工具的运行信息包括网络延迟、丢包率及网络速率。
7.根据权利要求3所述的边缘环境下的深度学习任务调度方法,其特征在于,所述考虑网络状态,根据container网络性能表格中的数据对备选队列中的各node节点进行打分排序之前还包括:
提取memory及cpu资源均满足目标任务要求的node节点;
将提取得到的node节点放置于所述备选队列中。
8.根据权利要求3所述的边缘环境下的深度学习任务调度方法,其特征在于,所述根据打分排序结果,将深度学习任务分配到所述打分排序结果中最靠前的node节点上运行之后还包括:
所述node节点将运行结果反馈给master节点。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述边缘环境下的深度学习任务调度方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述边缘环境下的深度学习任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584750.9A CN115914237A (zh) | 2022-12-09 | 2022-12-09 | 一种边缘环境下的深度学习任务调度方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584750.9A CN115914237A (zh) | 2022-12-09 | 2022-12-09 | 一种边缘环境下的深度学习任务调度方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115914237A true CN115914237A (zh) | 2023-04-04 |
Family
ID=86493713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211584750.9A Pending CN115914237A (zh) | 2022-12-09 | 2022-12-09 | 一种边缘环境下的深度学习任务调度方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115914237A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762602A (zh) * | 2024-02-22 | 2024-03-26 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
-
2022
- 2022-12-09 CN CN202211584750.9A patent/CN115914237A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762602A (zh) * | 2024-02-22 | 2024-03-26 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
CN117762602B (zh) * | 2024-02-22 | 2024-05-07 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829494B (zh) | 基于负载预测的容器云平台智能资源优化方法 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN102724277B (zh) | 虚拟机热迁移和部署的方法、服务器及集群系统 | |
WO2019050952A1 (en) | SYSTEMS, METHODS, AND MEDIA FOR DISTRIBUTING DATABASE INTERROGATIONS THROUGH A PAYING VIRTUAL NETWORK | |
CN103699433B (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
EP2977898B1 (en) | Task allocation in a computing environment | |
CN110990154B (zh) | 一种大数据应用优化方法、装置及存储介质 | |
CN112202599B (zh) | 针对异构多核平台通信优化的拓扑感知映射方法及系统 | |
CN105975345B (zh) | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 | |
CN109828790B (zh) | 一种基于申威异构众核处理器的数据处理方法和系统 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
WO2023131121A1 (zh) | 集成电路自动化并行仿真方法和仿真装置 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN115914237A (zh) | 一种边缘环境下的深度学习任务调度方法、设备及介质 | |
CN112015765A (zh) | 基于缓存价值的Spark缓存淘汰方法及系统 | |
WO2023089350A1 (en) | An architecture for a self-adaptive computation management in edge cloud | |
CN107679133B (zh) | 一种实用于海量实时pmu数据的挖掘方法 | |
EP4189542A1 (en) | Sharing of compute resources between the virtualized radio access network (vran) and other workloads | |
CN109408230B (zh) | 基于能耗优化的Docker容器部署方法及系统 | |
CN116069480A (zh) | 一种处理器及计算设备 | |
CN110928649A (zh) | 资源调度的方法和装置 | |
Lin et al. | A workload-driven approach to dynamic data balancing in MongoDB | |
CN113360576A (zh) | 一种基于Flink Streaming的电网海量数据实时处理方法及装置 | |
KR102054068B1 (ko) | 그래프 스트림에 대한 실시간 분산 저장을 위한 분할 방법 및 분할 장치 |
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 |