CN117376423B - 一种深度学习推理服务调度方法、系统、设备及存储介质 - Google Patents

一种深度学习推理服务调度方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN117376423B
CN117376423B CN202311680129.7A CN202311680129A CN117376423B CN 117376423 B CN117376423 B CN 117376423B CN 202311680129 A CN202311680129 A CN 202311680129A CN 117376423 B CN117376423 B CN 117376423B
Authority
CN
China
Prior art keywords
task
current
delay
reasoning
current reasoning
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.)
Active
Application number
CN202311680129.7A
Other languages
English (en)
Other versions
CN117376423A (zh
Inventor
周攀
刘玲
尔古打机
蔡英
陈曦
马波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Minzu University
Original Assignee
Southwest Minzu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest Minzu University filed Critical Southwest Minzu University
Priority to CN202311680129.7A priority Critical patent/CN117376423B/zh
Publication of CN117376423A publication Critical patent/CN117376423A/zh
Application granted granted Critical
Publication of CN117376423B publication Critical patent/CN117376423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种深度学习推理服务调度方法、系统、设备及存储介质,涉及计算机软件技术领域,包括:根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理。

Description

一种深度学习推理服务调度方法、系统、设备及存储介质
技术领域
本发明涉及计算机软件技术领域,特别涉及一种深度学习推理服务调度方法、系统、设备及存储介质。
背景技术
近年来,深度学习已经广泛应用于各个领域并在人们的日常生活与社会生产中发挥重要的作用,比如图像处理、视频分析、自然语言处理、语音识别等。今年ChatGPT的公布引发全球关注和讨论,随后各个国家纷纷推出各自的GPT模型(Generative PretrainedTransformer, 生成式预训练模型),以抢占人工智能产业的战略地位。得益于这些深度学习技术的突破,很多生产岗位采用深度学习模型后,生产效率得到极大提升,甚至产生取代人工的趋势,例如视频实时监控、文案写作、图像与视频创作、数字人直播。GPT模型及其他深度神经网络模型的卓越性能使其在需求驱动下迅速向数字经济各行业渗透,比如智慧城市、智慧交通、自动驾驶、智慧医疗、电子商务等。
深度学习应用的推理服务通常需要连续执行多个不同深度神经网络(DNN, DeepNeural Networks)模型的推理才能完成。例如,在实时视频分析应用中,首先需要使用一个或者多个DNN模型的推理来识别出图像中的目标物,然后用另一个DNN模型的推理来判断目标物的行为特征;在数字人直播应用中,首先需要使用一个DNN模型的推理将播报的文字内容转换为音频内容,然后使用另一个DNN模型的推理将数字人的静态照片转换为动态视频,最后还需要使用一个DNN模型的推理将生成的音频与视频进行合成,生成形态逼真的数字人直播视频。由于每一个DNN模型的推理都非常消耗计算资源和内存资源,使得深度学习应用成为计算密集型和内存密集型的应用,普通的网络边缘设备无法承载如此高的计算量和存储量。若将应用数据上传到云端进行推理,又会产生无法接受的推理延迟,甚至还涉及到数据隐私保护问题。因而,需要各个应用的管理机构在网络的边缘侧,距离用户比较近的位置,建立私有集群来提供DNN模型的推理服务,达到降低推理延迟和保护数据隐私的目的,如图1所示。
然而边缘集群的计算资源容量非常有限,但是又承载了众多的DNN推理服务,每类DNN推理服务都有着不同的延迟要求,需要对这些推理服务进行有效调度,提高硬件资源的利用效率,满足不同推理服务的延迟要求。不仅如此,深度学习推理任务是非常耗电的,一次DNN模型推理的能耗相当于一个成年人一天的能耗,集群运营过程中的耗电量不容忽视,运营过程产生的用电成本成为另一个凸显的问题。
对于集群层面的推理系统除了保证SLOs(Service-Level Objectives,服务等级目标)还要高效利用有限的集群资源。Nexus和Nanily通过自适应的batch大小调节,将深度模型推理任务放置到合适的GPU中,在满足严格的延迟要求下最大化集群资源利用率来提升集群的吞吐量。InferLine将视频分析视为多个阶段的分析作业,对众多的视频分析作业进行阶段为粒度的调度,对每个阶段配置加速硬件、batch大小等参数,满足实时在线视频分析对延迟的严格要求。ROCKETS和 VideoEdge提出包含边缘设备、边缘集群和数据中心三级的推理系统,边缘设备的处理能力不足的时候,将任务卸载给边缘集群,如果边缘集群处理能力还不能满足要求,继续卸载到数据中心,通过算力在终端、边缘及数据中心三个层次的调度,在满足延迟限制的条件下最大化分析精度。但是受隐私保护的原因,视频是不允许跨多级机构传输的。为了能够应对集群资源有限的情况,很多视频推理系统充分利用视频分析的resource-quality tradeoff特性来满足用户的SLOs。视频分析准确率越高,需要消耗的资源也就越多,比如想要识别到图像中比较小的物体,就需要提高图像分辨率,这样就会造成计算资源的增加。VideoStorm和Chameleon可以通过适当调节部分视频的像素,减少被调节视频在分析过程中的计算量,进而减少延迟,满足用户SLOs。Spatula发现视频分析具有时间关联和空间关联的特性,利用这种特性可以节省算力资源,比如通过摄像机定位某个犯罪份子,如果离该人比较近的摄像机已经出现了这个人,那么其他摄像机的视频就可以不用对这个人进行识别工作。
发明内容
本发明提供一种深度学习推理服务调度方法、系统、设备及存储介质,以便解决如何通过DNN推理服务的调度既能够满足推理服务的延迟要求,又能够降低集群用电成本的技术问题。
本发明实施例提供了一种深度学习推理服务调度方法,包括:
根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;
当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;
当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理。
优选地,所述根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型包括:
根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;
当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;
当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
优选地,所述当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理包括:
根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量;
根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类;
当确定所述当前推理任务的任务归类为大任务时,将所述当前推理任务放置于大任务集合中进行实时调度处理;
当确定所述当前推理任务的任务归类为小任务时,将所述当前推理任务放置于小任务集合中进行实时调度处理。
优选地,所述根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量包括:
根据所述当前推理任务的满足延迟期限,建立第一优化模型;
通过求解所述第一优化模型,得到所述当前推理任务所需要的最少GPU数量。
优选地,所述根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类包括:
将所述当前推理任务所需要的最少GPU数量与GPU服务器上的GPU数量进行比较;
若所述当前推理任务所需要的最少GPU数量大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为大任务;
若所述当前推理任务所需要的最少GPU数量不大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为小任务。
优选地,所述当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理包括:
当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,建立第二优化模型;
通过求解所述第二优化模型,得到所述当前推理任务独占GPU集群的吞吐量;
利用所述当前推理任务独占GPU集群的吞吐量,计算所述当前推理任务独占GPU集群的完成时间;
根据所述当前推理任务独占GPU集群的完成时间进行调度处理。
本发明实施例提供了一种深度学习推理服务调度系统,包括:
确定模块,用于根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;
调度模块,用于当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;以及当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理。
优选地,所述确定模块具体用于根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
本发明实施例提供了一种电子设备,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行一种深度学习推理服务调度方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行一种深度学习推理服务调度方法。
本发明的有益效果是,1)将延迟不敏感的推理服务调度到电价的低谷时段,降低用电成本;2)提出一种调度算法最小化延迟不敏感推理服务的平均完成时间;3)提出一种调度算法最小化集群服务器的使用数量并且保证每个推理服务的延迟期限。
附图说明
图1是现有技术提供的基于边缘集群的深度学习推理架构示意图;
图2是本发明提供的一种深度学习推理服务调度方法的流程图;
图3是本发明提供的一种基于边缘集群的深度学习推理服务调度方法的详细流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明提出一种推理服务调度算法Magni。该推理算法的核心思想是将推理服务分为延迟敏感和延迟不敏感两类服务。针对延迟敏感的推理服务,调度算法通过建模求解给每一个服务分配一定数量的GPU,保证每一个服务的延迟期限。除此之外,调度算法将一个推理服务尽量部署于一台GPU服务器上,减少推理服务跨服务器的通信延迟。针对延迟不敏感的推理服务,调度算法将其调度到电价低谷时间段进行执行(即晚上执行),以此降低用电的平均单价,进而降低了用电的总支出。
图2是本发明提供的一种深度学习推理服务调度方法的流程图,如图2所示,包括:
步骤S101:根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;
步骤S102:当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;
步骤S103:当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理。
其中,所述根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型包括:根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
进一步地,所述当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理包括:根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量;根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类;当确定所述当前推理任务的任务归类为大任务时,将所述当前推理任务放置于大任务集合中进行实时调度处理;当确定所述当前推理任务的任务归类为小任务时,将所述当前推理任务放置于小任务集合中进行实时调度处理。
其中,所述根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量包括:根据所述当前推理任务的满足延迟期限,建立第一优化模型;通过求解所述第一优化模型,得到所述当前推理任务所需要的最少GPU数量。
其中,所述根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类包括:将所述当前推理任务所需要的最少GPU数量与GPU服务器上的GPU数量进行比较;若所述当前推理任务所需要的最少GPU数量大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为大任务;若所述当前推理任务所需要的最少GPU数量不大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为小任务。
进一步地,所述当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理包括:当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,建立第二优化模型;通过求解所述第二优化模型,得到所述当前推理任务独占GPU集群的吞吐量;利用所述当前推理任务独占GPU集群的吞吐量,计算所述当前推理任务独占GPU集群的完成时间;根据所述当前推理任务独占GPU集群的完成时间进行调度处理。
本发明实施例提供了一种深度学习推理服务调度系统,包括:确定模块,用于根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;调度模块,用于当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;以及当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理。
优选地,所述确定模块具体用于根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
本发明实施例提供了一种电子设备,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行一种深度学习推理服务调度方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行一种深度学习推理服务调度方法。
图3是本发明提供的一种基于边缘集群的深度学习推理服务调度方法的详细流程图,如图3所示,包括:
步骤1:将推理任务分为延迟敏感和延迟不敏感等两类推理任务。
根据推理服务的服务层级目标SLOs中是否有明确要求必须要在一定时间之内(比如100ms)完成推理服务。如果推理服务的服务层级目标SLOs有要求必须在一定时间内容完成,这类推理服务就划分为延迟敏感,否则就划分为延迟不敏感。
步骤2:对延迟敏感的推理任务进行实时调度,如算法2RealTimeSchedule。
步骤S21、对每个推理任务满足延迟期限所需要的最少GPU数量进行了建模,如式(1)-式(3)所示;
步骤S22、求解步骤S21建立的优化模型,得到每个推理任务所需要的最少GPU数量;
其中,基于模型在GPU推理时间与一次性输入的数据量(batch size)的函数关系、任务要求的最长延迟时间等两类信息进行建模。
步骤S23、将所有推理任务分为大、小两类任务。具体实现为:对于每一个推理任务p,通过步骤S22获得满足任务需求的最小GPU数量np,若np大于GPU服务器上GPU数量C,则归类为大任务,否则归类为小任务;
步骤S24、然后将大、小任务集合输入到算法3 ElasticBinPackingPlace中执行任务部署。
步骤S241在算法3中,我们首先将小任务集合部署进行建模,如式(6)-式(10),通过模型求解得到小任务集合在占用服务器数量最少的情况下的部署策略Sbin,即得到每台机器上部署哪些小任务,还剩余多少空闲GPU。
其中,将小任务集合部署进行建模包括:基于每个推理任务(小任务)需要多少个GPU才能实时处理完该类任务的所有请求(通过步骤21和步骤22建模求解可以得出)、每台服务器的GPU数量(已知条件,集群安装的时候就已经定好了,一个集群是由许多台服务器构成,每个服务器又会配置多个GPU显卡,比如8个)。
步骤S242执行算法4 PlaceBigPipelines为大的推理任务分配GPU服务器,生成部署策略Qbig,其核心思想是每个大的推理任务分配整数个GPU服务器。
对于大的推理服务预分配整数个GPU服务器,比如一个推理任务需要10个GPU,而一台服务器只有8个GPU,那就分配两台服务器给该任务。在这种情况下,推理任务占用第一台服务器的8个GPU,占用第二台服务器的2个GPU(该服务器有6个GPU空闲,但是不用担心,这只是预分配,空闲GPU会在步骤S243进行优化)。
步骤S243执行算法5 PlaceTailOverTop。该算法的核心思想是将部署方案Sbin和Qbig中所占用的GPU服务器进行GPU占用情况统计,其核心思想是将每台服务器的空闲GPU数量进行统计,将服务器按照其空闲GPU数量从小到大进行排序,截取序号大于集群服务器数量M的服务器,并将这些大序号服务器上的推理任务重新依次放入序号小于M的服务器中。
按照空闲GPU数量从小到大排序。截取序号大于集群服务器数量M的服务器(称为大序号服务器),并将这些大序号服务器上的推理任务重新依次放入序号小于M的服务器中。
其中,经过算法5 PlaceTailOverTop的部署,大、小任务可能会同时占部署在同一服务器上。例如一个集群有2台服务器,每台服务器8个GPU,需要部署一大一小两个任务,其中一个大任务需要10个GPU,小任务需要5个GPU。步骤S241会给小任务预分配1个服务器(其编号假设为A,其空闲GPU数量只有3个),步骤S242会给大任务预分配2个服务器,其中一个服务器(编号为B)的8个GPU全部用完,另一个服务器(编号为C)只占用2个GPU,该服务器剩余6个服务器。步骤243根据空闲GPU数量对服务器进行排序为:A-B-C。假设整个集群只有2台服务器,那么C被步骤S243划分为大序号服务器,会把C中部署的任务重新部署到A中。
综上所述,步骤21对当前所有类型的推理服务建立优化模型,模型的优化目标是使用最少的GPU数量实时处理完此类推理请求;步骤22求解优化模型,得到每类请求实时处理完当前请求所需的最小GPU数量;步骤23划分大、小任务,所需GPU数量大于单台服务器配置的GPU数量,即一台服务器不能装下该任务,则该推理任务是大任务,否则是小任务。步骤24将大、小任务集合输入到算法3 ElasticBinPackingPlace中执行任务调度。
公式(1)-(3)说明:表示推理任务p中所有需要用到DNN推理的功能节点的集合,表示/>中第/>个功能节点需要的最少GPU数量,公式(1)表示该优化模型的目标是最小化推理任务p所需要的GPU数量。/>是推理任务p的延迟要求,即推理任务必须在/>时间内完成。推理任务p的每一个功能节点的延迟可以表示为/>,其中/>表示推理任务p的第i个功能节点的批处理大小(batch size),可以看出延迟是批处理大小的函数,公式(2)表示所有功能节点的延迟之和小于或者等于任务的延迟。/>表示推理任务p的第k个功能节点允许的最大输出数量,/>表示推理任务p的用户请求到大速率,公式(3)是对推理任务每一个功能节点处理速度的约束。
公式(6)-(10)说明:表示第i个服务器是否使用,如果第i个服务器被使用,则/>等于1,否则等于0,因此可知式(6)表示的优化目标是最小化集群的服务器使用数量。/>表示推理任务p是否部署在第k个服务器上,若推理任务p部署于第k个服务器上,则/>等于1,否则等于0。式(8)表示推理任务p部署到集群的一个服务器内,不能跨服务器部署。
/>
步骤3:对延迟不敏感的推理任务进行推迟调度,执行算法6ShortestFirstSchedule,放置于电价低谷期间执行如下子步骤。
步骤S31、求解优化模型(即式(16)-(18))得到该推理任务独占GPU集群的吞吐量;
基于深度学习模型在GPU的推理时间与批处理大小(一次性输入模型的数据量,batch size)的函数关系(此关系是可以通过实验测试得到)、集群可用GPU数量等两类信息建立优化模型,优化模型的目标是最大化任务独占集群可用GPU情况下的吞吐量。模型的约束条件有两个:(1)任务占用的GPU数量不能大于可用GPU数量,见公式(17);(2)任务下一阶段的吞吐量不能小于上一阶段的数据输出速率,见公式(18)。
步骤S32、计算推理任务独占集群的完成时间,即用推理任务的计算量除以独占集群的吞吐量;
步骤S33、将所有任务按照其完成时间从小到大的顺序进行排序;
步骤S34、集群按照该顺序依次部署于集群中,将集群的所有空闲GPU都分配给当前次序的推理任务,当前推理任务完成后,再将所有空闲GPU分配给下一个次序的推理任务。也就是说,集群按照该顺序依次将推理任务调度到集群,每次只调度一个任务并分配所有可用GPU给被调度任务。
比如将任务按照1、2、3、4这样的顺序进行排序。每次只调度一个任务,并且把所有的空闲GPU都分配给这个任务,让这些GPU并行处理这个任务的推理,这个推理任务处理完后,再把第2个任务调度进来,也是分配所有GPU给第2个任务。按照这样的方式来调度,那么第1个调度并完成所有推理计算后,就马上调度第2个,完成第二个任务的所有推理后再调度第3个。正在执行的那个任务,就属于当前次序的推理任务。比如正在执行第3个推理任务,当前次序就是3。
对于延迟敏感类型的推理任务已经通过步骤S24完成了部署,满足了延迟敏感型推理任务的硬件需求。集群当中除去已经部署了延迟敏感型任务的GPU,剩余GPU就是空闲的GPU,可以用来部署延迟不敏感的任务。
一个云服务器系统会有很对用户请求云计算功能,这些请求发到云计算系统的时候是不会马上执行的,都会进入一个排队队里中等待调度,被调度的任务就会被部署到某一个具体的硬件上面去执行。在本发明的场景里面,推理任务是先在队里里面排队等待调度,被调度后才会被部署到分配的GPU上面去运行。
本发明就是要将这两类推理任务在同一个集群里面调度和部署。相当于有一个集群里面同时运行着延迟敏感和不敏感两类推理任务(因为边缘集群比云计算的集群要小,而且GPU服务器很贵,需要提高服务器的利用率),本发明要优先调度延迟敏感的推理任务,满足实时性,若有剩余才会调度延迟不敏感的任务,防止延迟不敏感的任务抢占太多的硬件资源,导致延迟敏感型任务没有足够的硬件资源来实现实时推理。除此之外,本发明的方法主要在电价低谷阶段(比如晚上)才调度和部署延迟不敏感的推理任务,节约集群的电费,因为电价在高峰和低谷阶段可相差4倍以上,有的地区相差8倍。
/>
表示推理任务p的第/>个功能节点使用的GPU数量,/>表示推理任务p的第/>个功能节点输入每个GPU的批处理大小(batch size),/>表示第/>个功能节点使用GPU处理一批数据(数据的数量为/>)的时间,式(16)表示优化目标为最大化推理任务p的吞吐量。公式(17)表示推理任务p的每个功能节点占用的GPU数量总和不能超过集群可用的GPU数量H。公式(18)表示下一级功能节点占用的GPU资源吞吐量要超过上一级功能节点的输出速率,这样才能有效防止下一级功能节点成为整个推理任务的处理速度瓶颈。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (7)

1.一种深度学习推理服务调度方法,其特征在于,包括:
根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;
当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理,其包括:根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量;根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类;当确定所述当前推理任务的任务归类为大任务时,将所述当前推理任务放置于大任务集合中进行实时调度处理;当确定所述当前推理任务的任务归类为小任务时,将所述当前推理任务放置于小任务集合中进行实时调度处理;
其中,所述根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量包括:根据所述当前推理任务的满足延迟期限,建立第一优化模型;通过求解所述第一优化模型,得到所述当前推理任务所需要的最少GPU数量;
其中,所述根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类包括:将所述当前推理任务所需要的最少GPU数量与GPU服务器上的GPU数量进行比较;若所述当前推理任务所需要的最少GPU数量大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为大任务;若所述当前推理任务所需要的最少GPU数量不大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为小任务;
当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理,其包括:当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,建立第二优化模型;通过求解所述第二优化模型,得到所述当前推理任务独占GPU集群的吞吐量;利用所述当前推理任务独占GPU集群的吞吐量,计算所述当前推理任务独占GPU集群的完成时间;将所有任务按照其完成时间从小到大的顺序进行排序;集群按照该顺序依次部署于集群中,将集群的所有空闲GPU都分配给当前次序的推理任务,当前推理任务完成后,再将所有空闲GPU分配给下一个次序的推理任务。
2.根据权利要求1所述的方法,其特征在于,所述根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型包括:
根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;
当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;
当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
3.根据权利要求2所述的方法,其特征在于,所述当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理包括:
当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,建立第二优化模型;
通过求解所述第二优化模型,得到所述当前推理任务独占GPU集群的吞吐量;
利用所述当前推理任务独占GPU集群的吞吐量,计算所述当前推理任务独占GPU集群的完成时间;
根据所述当前推理任务独占GPU集群的完成时间进行调度处理。
4.一种深度学习推理服务调度系统,其特征在于,包括:
确定模块,用于根据当前推理任务的延迟要求,确定所述当前推理任务的延迟敏感类型;
调度模块,用于当确定所述当前推理任务的延迟敏感类型为延迟敏感时,对所述当前推理任务进行实时调度处理;以及当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,将所述当前推理任务放置于电价低谷期间进行调度处理;
其中,所述调度模块具体用于根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量;根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类;当确定所述当前推理任务的任务归类为大任务时,将所述当前推理任务放置于大任务集合中进行实时调度处理;当确定所述当前推理任务的任务归类为小任务时,将所述当前推理任务放置于小任务集合中进行实时调度处理;
其中,所述根据所述当前推理任务的满足延迟期限,确定所述当前推理任务所需要的最少GPU数量包括:根据所述当前推理任务的满足延迟期限,建立第一优化模型;通过求解所述第一优化模型,得到所述当前推理任务所需要的最少GPU数量;
其中,所述根据所述当前推理任务所需要的最少GPU数量,确定所述当前推理任务的任务归类包括:将所述当前推理任务所需要的最少GPU数量与GPU服务器上的GPU数量进行比较;若所述当前推理任务所需要的最少GPU数量大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为大任务;若所述当前推理任务所需要的最少GPU数量不大于所述GPU服务器上的GPU数量,则确定所述当前推理任务的任务归类为小任务;
所述调度模块还具体用于当确定所述当前推理任务的延迟敏感类型为延迟不敏感时,建立第二优化模型;通过求解所述第二优化模型,得到所述当前推理任务独占GPU集群的吞吐量;利用所述当前推理任务独占GPU集群的吞吐量,计算所述当前推理任务独占GPU集群的完成时间;将所有任务按照其完成时间从小到大的顺序进行排序;集群按照该顺序依次部署于集群中,将集群的所有空闲GPU都分配给当前次序的推理任务,当前推理任务完成后,再将所有空闲GPU分配给下一个次序的推理任务。
5.根据权利要求4所述的系统,其特征在于,所述确定模块具体用于根据当前推理任务的延迟要求中是否包含延迟要求时间,判断所述当前推理任务的延迟敏感类型;当当前推理任务的延迟要求中包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟敏感;当当前推理任务的延迟要求中不包含延迟要求时间时,则确定所述当前推理任务的延迟敏感类型为延迟不敏感。
6.一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-3任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行以实现如权利要求1-3任一项所述的方法。
CN202311680129.7A 2023-12-08 2023-12-08 一种深度学习推理服务调度方法、系统、设备及存储介质 Active CN117376423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311680129.7A CN117376423B (zh) 2023-12-08 2023-12-08 一种深度学习推理服务调度方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311680129.7A CN117376423B (zh) 2023-12-08 2023-12-08 一种深度学习推理服务调度方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117376423A CN117376423A (zh) 2024-01-09
CN117376423B true CN117376423B (zh) 2024-03-12

Family

ID=89396995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311680129.7A Active CN117376423B (zh) 2023-12-08 2023-12-08 一种深度学习推理服务调度方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117376423B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1039383A2 (en) * 1999-03-25 2000-09-27 International Business Machines Corporation System and method for scheduling system resources
CN103297505A (zh) * 2013-05-10 2013-09-11 华中科技大学 动态云服务请求下数据中心多能源的在线控制方法和系统
CN104484757A (zh) * 2014-12-15 2015-04-01 中山大学 一种应用于智能微电网的异质载荷调度和能量管理方法
US10754706B1 (en) * 2018-04-16 2020-08-25 Microstrategy Incorporated Task scheduling for multiprocessor systems
CN111782355A (zh) * 2020-06-03 2020-10-16 上海交通大学 一种基于混合负载的云计算任务调度方法及系统
CN112860402A (zh) * 2021-02-20 2021-05-28 中南大学 一种深度学习推理服务的动态批处理任务调度方法及系统
CN114385325A (zh) * 2020-10-22 2022-04-22 慧与发展有限责任合伙企业 深度学习自动调优任务优化
CN116010054A (zh) * 2022-12-28 2023-04-25 哈尔滨工业大学 一种基于强化学习的异构边云ai系统任务调度框架
CN116880980A (zh) * 2023-07-11 2023-10-13 北京科技大学 一种多资源感知的gup共享动态资源调度方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667498B2 (en) * 2013-12-20 2017-05-30 Facebook, Inc. Self-adaptive control system for dynamic capacity management of latency-sensitive application servers
WO2022146031A1 (en) * 2020-12-29 2022-07-07 Samsung Electronics Co., Ltd. Method and device of computing layout selection for efficient dnn inference

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1039383A2 (en) * 1999-03-25 2000-09-27 International Business Machines Corporation System and method for scheduling system resources
CN103297505A (zh) * 2013-05-10 2013-09-11 华中科技大学 动态云服务请求下数据中心多能源的在线控制方法和系统
CN104484757A (zh) * 2014-12-15 2015-04-01 中山大学 一种应用于智能微电网的异质载荷调度和能量管理方法
US10754706B1 (en) * 2018-04-16 2020-08-25 Microstrategy Incorporated Task scheduling for multiprocessor systems
CN111782355A (zh) * 2020-06-03 2020-10-16 上海交通大学 一种基于混合负载的云计算任务调度方法及系统
CN114385325A (zh) * 2020-10-22 2022-04-22 慧与发展有限责任合伙企业 深度学习自动调优任务优化
CN112860402A (zh) * 2021-02-20 2021-05-28 中南大学 一种深度学习推理服务的动态批处理任务调度方法及系统
CN116010054A (zh) * 2022-12-28 2023-04-25 哈尔滨工业大学 一种基于强化学习的异构边云ai系统任务调度框架
CN116880980A (zh) * 2023-07-11 2023-10-13 北京科技大学 一种多资源感知的gup共享动态资源调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于任务同步及节能的单机系统实时动态调度算法;韩建军;刘同涛;李庆华;Abbas A.Essa;;高技术通讯(第11期);全文 *

Also Published As

Publication number Publication date
CN117376423A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN113946431B (zh) 一种资源调度方法、系统、介质及计算设备
CN114787830A (zh) 异构集群中的机器学习工作负载编排
CN110968366A (zh) 一种基于有限mec资源的任务卸载方法、装置及设备
CN106407007B (zh) 面向弹性分析流程的云资源配置优化方法
Nawrocki et al. Data-driven adaptive prediction of cloud resource usage
CN117193992B (zh) 模型训练方法、任务调度方法、装置以及计算机存储介质
EP4300305A1 (en) Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices
CN112148481B (zh) 一种执行仿真测试任务的方法、系统、设备及介质
CN117376423B (zh) 一种深度学习推理服务调度方法、系统、设备及存储介质
CN117519930A (zh) 批量任务的执行方法、装置及电子设备
CN112099932A (zh) 边缘计算中软-硬截止期任务卸载的最佳定价方法及系统
CN116302581B (zh) 一种新型智能配电终端及系统
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
Yao et al. Streaming Data Priority Scheduling Framework for Autonomous Driving by Edge
CN114327925A (zh) 一种电力数据实时计算调度优化方法及系统
CN113747504A (zh) 多接入边缘计算联合任务卸载和资源分配的方法及系统
Kong et al. Energy-constrained scheduling for weakly-hard real-time tasks on multiprocessors
CN111784029A (zh) 一种雾节点资源分配方法
CN109118407B (zh) 一种新媒体综合调度方法和系统
CN116501466A (zh) 任务处理方法、装置、电子设备及存储介质
Verma et al. A review: intelligent load prediction techniques for CloudIoT
Dalui et al. SmartFog: A Profit-Aware Real-Time Resource Allocation Strategy for Fog/Edge Computing
CN115599514A (zh) 任务调度方法、装置、计算设备及计算机可读存储介质
Legashev et al. Development of an Algorithm for Energy Efficient Resource Scheduling of a Multi-cloud Platform for Big Data Processing

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
GR01 Patent grant
GR01 Patent grant