CN113434303A - 批处理的遥感影像智能处理模型预测性能优化系统及方法 - Google Patents
批处理的遥感影像智能处理模型预测性能优化系统及方法 Download PDFInfo
- Publication number
- CN113434303A CN113434303A CN202110997294.XA CN202110997294A CN113434303A CN 113434303 A CN113434303 A CN 113434303A CN 202110997294 A CN202110997294 A CN 202110997294A CN 113434303 A CN113434303 A CN 113434303A
- Authority
- CN
- China
- Prior art keywords
- batch
- processing
- model
- size
- queue
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于人工智能机器学习技术领域,公开了一种批处理的遥感影像智能处理模型预测性能优化系统及方法,将CPU处理的多个遥感影像模型预测请求后得到的前处理结果合并成一个模型列队,并根据动态调整批处理大小算法动态调整批处理批次大小,批量放入GPU中进行计算。基于批处理的遥感影像智能处理模型预测性能优化系统是由GPU任务调度模块和动态调整批处理模块组成。本发明基于批处理的模型预测性能优化技术,在满足延迟时间阈值的情况下,将多个预测请求合并成一个请求,批量放入GPU中进行计算,从而提高了GPU的利用率,优化了模型预测阶段性能。
Description
技术领域
本发明属于人工智能机器学习技术领域,尤其涉及一种基于批处理的遥感影像智能处理模型预测性能优化系统及方法。
背景技术
目前,在遥感影像处理模型预测服务中,模型调用通常是利用部署的模型对指定输入进行预测的过程。目前已有的机器学习模型框架通常会使用GPU资源来进行加速处理,但因为GPU硬件相对较昂贵,所以需要尽可能的充分利用GPU资源。目前已有的模型预测系统大多都采用了批处理的方式对模型调用阶段进行了优化。批处理将多个单预测请求合并成一个请求,批量放入GPU中进行计算。通过这种方式,可以降低数据在内存和显存之间复制的频率,同时可以充分利用GPU的并行计算能力,从而提高吞吐量。
批处理批次的大小会影响GPU的吞吐量和利用率,所以需要合理的设置最佳批次大小。目前已有的模型预测服务平台设置批处理批次大小的方式也不尽相同。例如Tensorflow-Serving采用了静态设置批处理大小的方式,用户需要在部署模型之前进行充分的实验,根据自己使用的模型、实验环境、模型预测请求的响应延迟时间等条件,仔细地调整批处理的大小以获取最佳的性能,当模型部署之后,批处理的大小就不能再改变。这种方式不仅需要使用该平台的用户对相关领域有一定的了解和经验,而且无法应对机器负载波动的情况,一旦批处理大小设置不当,可能导致预测请求的平均响应时间过长的问题;Clipper模型预测平台虽然提供了对动态调整批处理大小的支持,但是其只关注了预测延迟时间这一个影响因素,忽视了GPU等机器物理资源的负载情况。通常机器负载存在一定波动,采用此种方式可能因为代码从理论上判断不完全准确,出现实际硬件资源无法满足预期的情况,从而影响模型预测请求的平均响应时间。
通过上述分析,现有技术存在的问题及缺陷为:现有技术不仅需要用户对相关领域有一定的了解和经验,而且无法应对机器负载波动的情况,会导致预测请求的平均响应时间过长,且忽视了GPU等机器物理资源的负载情况,导致实际硬件资源无法满足预期,影响模型预测请求的平均响应时间。
解决以上问题及缺陷的难度为:
现有技术不仅需要用户对相关领域有一定的了解和经验,而且无法应对机器负载波动的情况,会导致预测请求的平均响应时间过长,且忽视了GPU等机器物理资源的负载情况,导致实际硬件资源无法满足预期,影响模型预测请求的平均响应时间。
解决以上问题及缺陷的意义为:
本发明方法可以充分利用服务器上的GPU资源,在满足延迟时间阈值的情况下,将多个预测请求合并交由GPU处理,提高GPU的利用率,从而优化模型预测处理性能。每个处理批次的大小会针对不同模型,根据当前GPU的使用情况以及当前模型预测服务的平均响应时间等因素来动态调整,从而提高吞吐量和GPU利用率。
发明内容
针对现有技术存在的问题,本发明提供了一种基于批处理的遥感影像智能处理模型预测性能优化系统及方法。
本发明是这样实现的,一种基于批处理的遥感影像智能处理模型预测性能优化系统,包括:
GPU任务调度模块和动态调整批处理模块;
GPU任务调度模块,包括:模型队列、批处理调度器以及存放批处理结果的队列;用于进行遥感影像处理模型预测服务中GPU计算任务,即模型预测调用;
动态调整批处理模块,用于提升模型预测服务的吞吐量和服务节点上GPU的利用率。
本发明的另一目的在于提供一种应用于所述基于批处理的遥感影像智能处理模型预测性能优化系统的基于批处理的遥感影像智能处理模型预测性能优化方法,所述基于批处理的遥感影像智能处理模型预测性能优化方法包括:
将多个预测请求合并成一个请求,并根据动态调整批处理大小算法动态调整批处理批次大小,批量放入GPU中进行计算。
进一步,所述基于批处理的遥感影像智能处理模型预测性能优化方法包括以下步骤:
步骤一,利用CPU的模型对模型预测请求进行前处理,并将处理结果数据放入模型队列中,等待批处理调度器调度;
步骤二,设定模型队列的批处理调度条件,判断模型队列中的数据是否满足预设的批处理调度条件,若满足,则批处理调度器从模型队列中取出数据并将其合并成一个预测请求,进行调度和处理;
所述批处理调度条件为:
其中,qs 表示每个模型队列当前已有的元素个数;BATCH_SIZE 表示根据算法动态调整后的批处理大小阈值;tw 表示模型队列中批次目前已经等待的时间;TIME_THRESHOLD 表示计算的批次平均等待时间;
步骤三,将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中。
进一步,所述步骤二中进行调度包括:批处理调度器采取轮询的方式调度各个模型队列。
所述进行处理包括:
获取当前最优的批处理的批次即BATCH_SIZE大小,当模型队列的元素个数大于等于BATCH_SIZE或队列中批次的等待时间已经超过了平均等待时间,批处理调度器从该模型队列中取出相应数量的前处理结果数据,对其进行批处理;批处理调度器调度批次后,记录该批次的等待时间,并计算批次平均的等待时间。所述批处理包括:处理批次的输入数据、模型调用、拆分批处理预测结果。
进一步,步骤三中,所述将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中包括:
将批处理完成后的预测结果放入批处理结果队列,并将所述批处理结果队列转换成图片的标注及其他一系列可视化/可读的结果后返回给对应的模型预测请求。
进一步,步骤三中,所述动态调整批处理大小算法为根据模型预测请求的并发量大小针对高并发和非高并发两种场景下的调整策略;
所述动态调整批处理大小算法具体包括:利用滑动窗口快速计算模型预测请求的平均到达速率,判断当前为高并发场景还是非高并发场景,并采取相应的策略调整最佳的批次大小。
进一步,当计算得到的请求平均到达速率较慢时,系统处于非高并发场景,即模型预测请求并发量较小,直接返回默认的批次大小;
当计算得到的请求平均到达速率较快时,系统处于高并发场景,即模型预测请求并发量较大,结合模型预测请求的平均响应延迟时间、显存占用率和GPU 利用率及其他因素对批次大小进行调整;
所述对批次大小进行调整包括:当模型预测请求平均响应延迟时间较低、机器硬件资源较充足时,在一定范围内线性增加批处理批次的大小;当模型预测请求平均响应延迟时间增加、机器硬件资源较紧张时,则乘性减少批处理批次大小。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于批处理的遥感影像智能处理模型预测性能优化方法。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于批处理的遥感影像智能处理模型预测性能优化方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明能够充分利用GPU资源,提高吞吐量和GPU利用率;本发明基于批处理的模型预测性能优化技术,在满足延迟时间阈值的情况下,将多个预测请求合并成一个请求,批量放入GPU中进行计算,从而提高了GPU的利用率,优化了模型预测阶段性能。同时,根据每个处理批次的大小、不同模型、当前GPU的使用情况以及当前模型预测服务的平均响应时间等因素来动态调整,本发明还提供了动态调整批处理批次大小的算法,来应对模型预测请求并发数和机器负载波动过大的情况。
附图说明
图1是本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化系统结构示意图;
图中:1、GPU任务调度模块;2、动态调整批处理模块。
图2是本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化方法原理图。
图3是本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于批处理的遥感影像智能处理模型预测性能优化系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化系统包括:
GPU任务调度模块1和动态调整批处理模块2;
GPU任务调度模块1,包括:模型队列、批处理调度器以及存放批处理结果的队列;用于进行遥感影像处理模型预测服务中GPU计算任务,即模型预测调用;
动态调整批处理模块2,用于提升模型预测服务的吞吐量和服务节点上GPU的利用率。
如图2所示,本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化方法包括:
将多个预测请求合并成一个请求,并根据动态调整批处理大小算法动态调整批处理批次大小,批量放入GPU中进行计算。
如图3所示,本发明实施例提供的基于批处理的遥感影像智能处理模型预测性能优化方法包括以下步骤:
S101,利用CPU的模型对模型预测请求进行前处理,并将处理结果数据放入模型队列中,等待批处理调度器调度;
S102,判断模型队列中的数据是否满足预设的批处理调度条件,若满足,则批处理调度器从模型队列中取出数据并将其合并成一个预测请求,进行调度和处理;
S103,将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中。
本发明实施例提供的步骤S102之前还需进行:设定模型队列的批处理调度条件;
数据批处理调度条件为:
其中,qs 表示每个模型队列当前已有的元素个数;BATCH_SIZE 表示根据算法动态调整后的批处理大小阈值;tw 表示模型队列中批次目前已经等待的时间;TIME_THRESHOLD 表示计算的批次平均等待时间。
本发明实施例提供的进行调度包括:批处理调度器采取轮询的方式调度各个模型队列。
本发明实施例提供的进行处理包括:
获取当前最优的批处理的批次即BATCH_SIZE大小,当模型队列的元素个数大于等于BATCH_SIZE或队列中批次的等待时间已经超过了平均等待时间,批处理调度器从该模型队列中取出相应数量的前处理结果数据,对其进行批处理;批处理调度器调度批次后,记录该批次的等待时间,并计算批次平均的等待时间。
本发明实施例提供的批处理包括:处理批次的输入数据、模型调用、拆分批处理预测结果。
本发明实施例提供的将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中包括:
将批处理完成后的预测结果放入批处理结果队列,并将所述批处理结果队列转换成图片的标注及其他一系列可视化/可读的结果后返回给对应的模型预测请求。
本发明实施例提供的动态调整批处理大小算法为根据模型预测请求的并发量大小针对高并发和非高并发两种场景下的调整策略;
所述动态调整批处理大小算法具体包括:利用滑动窗口快速计算模型预测请求的平均到达速率,判断当前为高并发场景还是非高并发场景,并采取相应的策略调整最佳的批次大小。
在本发明实施例中, 当计算得到的请求平均到达速率较慢时,系统处于非高并发场景,即模型预测请求并发量较小,直接返回默认的批次大小;
当计算得到的请求平均到达速率较快时,系统处于高并发场景,即模型预测请求并发量较大,结合模型预测请求的平均响应延迟时间、显存占用率和GPU 利用率及其他因素对批次大小进行调整;
所述对批次大小进行调整包括:当模型预测请求平均响应延迟时间较低、机器硬件资源较充足时,在一定范围内线性增加批处理批次的大小;当模型预测请求平均响应延迟时间增加、机器硬件资源较紧张时,则乘性减少批处理批次大小。
下面结合具体实施例对本发明的技术方案做进一步说明。
实施例1:
一、构建遥感影像智能处理的GPU任务调度模块,GPU任务调度模块包含:批处理调度器、批处理模块以及动态调整批处理批次大小模块。模型预测请求经过CPU的模型前处理后,处理结果数据被放入模型队列中,等待批处理调度器调度。
GPU任务调度模块中主要包含了为各模型所维护的模型队列、用来调度各批次请求的批处理调度器、存放批处理结果的队列以及动态调整批处理批次大小的算法部分。GPU任务调度模块为部署的模型维护了相应的模型队列。CPU 任务调度模块将模型前处理产生的数据结果放入对应的模型队列中,供批处理调度器消费。因为模型的前处理采用了多进程技术实现并行优化,因此每个在GPU 任务调度模块中的模型队列均为进程共享队列。模型队列结构如下:
class ModelQueueWrapper:
batch_queue = queue.Queue()
last_execution_time: float
其中ModelQueueWrapper 是定义的模型队列包装类,batch_queue 为该模型的批处理队列,是一个先进先出队列(FIFO,First In First Out),用于存放每个预测请求的模型前处理结果,last_execution_time 则记录了该模型队列中上次进行批处理的时间。
对于不同模型,模型预测服务系统在内存中记录了模型ID 和模型队列的映射关系。GPU任务调度模块根据模型ID 获取对应的模型队列对象,进行后续批处理操作。为了保证批处理调度的公平性,以及避免某些模型队列出现“饥饿”的情况,GPU任务调度模块中采取轮询的方式来调度各个模型队列。
二、设定模型队列的数据批处理条件,当模型队列中数据满足批处理调度条件后,批处理调度器从模型队列中取出数据并将其合并成一个预测请求,进行调度和处理。
GPU任务调度模块中利用批处理调度器来对每个批次请求进行调度。进行批处理的调度条件为:
其中qs 代表每个模型队列当前已有的元素个数;BATCH_SIZE 为根据算法动态调整后的批处理大小阈值;tw 为模型队列中批次目前已经等待的时间;TIME_THRESHOLD 为计算出来的批次平均等待时间。
批处理调度器调用GPU任务调度模块中动态调整批次大小算法部分提供的方法,获取当前最优的BATCH_SIZE大小,动态调整批次大小算法在下一节中进行详细介绍。当模型队列的元素个数大于等于BATCH_SIZE或队列中批次的等待时间已经超过了平均等待时间,批处理调度器则从该模型队列中取出相应数量的前处理结果数据,对其进行批处理。批处理调度器调度批次后,会记录该批次的等待时间,并计算批次平均的等待时间,供下次判断使用。
批处理具体需要经过以下三个步骤:处理批次的输入数据、模型调用、拆分批处理预测结果。因为每个批次都由多个预测请求组成,所以在进行批次模型预测之前,需要对该批次的输入数据进行相应的处理,例如连接多个输入张量,将多个预测请求的输入合并为一个输入数据。合并好批次输入数据后,会调用对应模型的预测方法,并利用GPU来加速计算。本发明所研究的模型预测服务系统提供了对多块GPU的使用支持,可以充分利用物理机上的GPU资源。模型预测结束后,需要对预测结果进行拆分,以得到各个模型预测请求相对应的预测结果。因为不同框架和不同模型合并输入数据和拆分批处理预测结果的方法可能存在差异,因此本发明提出的模型预测服务系统也向用户提供了简便的按需定制方式。本发明在实现了默认处理方法的同时,允许用户采用继承的方式对两种方法分别进行重写,通过简单少量的代码实现自己的处理逻辑。
三、将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中。
批处理完成后的预测结果被放入批处理结果队列,供CPU任务调度模块消费。批处理结果最终会被转换成图片的标注等一系列可视化/可读的结果后返回给对应的模型预测请求。为了在充分利用机器物理资源的同时,减少模型预测请求的平均响应延迟时间,需要合理的设置批处理的批次大小(Batch Size)。当批次大小设置过小时,会造成资源浪费,无法达到模型预测的最佳性能;当批次大小设置过大时,则可能导致机器显存不足,出现内存溢出(OOM,Out Of Memory)的错误,从而影响模型预测效率,甚至会导致程序崩溃。
本发明针对模型预测服务系统采用了一种自适应批处理的方法来动态调整批处理的批次大小。在模型预测请求并发量不同以及机器负载存在一定波动的情况下,动态查找最佳批处理大小,从而提升模型预测阶段性能。本发明基于反馈控制算法—AIMD算法,结合程序模型预测请求的平均响应时间、GPU利用率、显存占用等指标,提出了一种动态调整批处理大小的算法。
根据模型预测请求的并发量大小,本发明提供了针对高并发和非高并发两种场景下的调整策略,利用滑动窗口快速计算模型预测请求的平均到达速率,同时为动态调整批次大小算法提供当前是否为高并发场景的判断依据,从而采取相应的策略调整最佳的批次大小。
请求平均到达速率算法
Input: (1)request_arrive_time
(2)window_size
Output: double
1:Insert request_arrive_time into the Array request_array
2:if len(request_array)>window_size then
3: delete the first element in request_arry
4:end if
5:for all arrive_time ∈ request_array do
6: if arrive_timeindex ≠ (len(request_array)-1) then
7: total_time += request_array[arrive_timeindex + 1] – arrive_time
8: end if
9:end for
10:request_arrive_rate = total_time/(len(request_array)-1)
其中request_arrive_time表示预测请求到达时间;window_size表示滑动窗口大小;request_array表示用来实现滑动窗口的数组;arrive_time表示滑动窗口数组中的每个元素;request_arrive_rate表示预测请求平均达到速率。
在动态调整批处理批次大小的时候,除了要考虑模型预测请求的并发情况,还需要利用机器物理资源的使用情况作为调整的参考指标。本针对计算器物理资源的使用情况进行监控并统计各阶段所花时间,例如请求平均响应时间、批次被调度的平均等待时间等。因此针对高并发和非高并发两种场景模式,本发明提出的动态调整批次大小算法提供了不同的调整方式。通过利用滑动窗口,本发明大致计算模型预测请求的平均到达速率,并根据请求的到达速率判断当前是否为高并发场景。
1) 非高并发场景:当计算得到的请求平均到达速率较慢时,系统处于非高并发场景,即模型预测请求并发量较小。在这种情况下,动态调整批次大小算法会直接返回默认的批次大小。
2) 高并发场景:当计算得到的请求平均到达速率较快时,系统处于高并发场景,即模型预测请求并发量较大。在这种情况下,动态调整批次大小算法结合模型预测请求的平均响应延迟时间、显存占用率和GPU 利用率等因素对批次大小进行调整。当模型预测请求平均响应延迟时间较低、机器硬件资源较充足时,在一定范围内线性增加批处理批次的大小;当模型预测请求平均响应延迟时间增加、机器硬件资源较紧张时,则乘性减少批处理批次大小,以防止硬件资源崩溃,影响系统性能。
动态调整批次大小算法结合各影响因素,通过动态查找合理的批次大小,在尽量充分利用机器物理资源的同时,减少预测请求的平均响应延迟时间,保证模型预测服务的可用性和低延迟性。动态调整批次大小算法如下所示:
动态调整批次大小算法
Input: (1)current_batch_size
Output: int
1: request_arrive_rate := GetRequestArriveRate()
/* if request_arrive_rate ≤ HighConcurrencyThreshold, use nobatching mode */
2: if request_arrive_rate ≤HighConcurrencyThreshold then returndefault_batch_size
3: end if
4: mean_time := GetMeanPredictionTime()
5: if mean_time ≤ LatencyThreshold / 2 then
target_batch_size = current_batch_size * 2
6: else if LatencyThreshold / 2 ≤ mean_time ≤ LatencyThreshold thentarget_batch_size = current_batch_size + 1
7: else if mean_time ≤ LatencyThresholdLevelTwo then
target_batch_size = current_batch_size
8: else if mean_time ≤ LatencyThresholdLevelTwo * 1.5 then
target_batch_size = current_batch_size / 2
9: else
target_batch_size = default_batch_size
10: end if
11: if GetGpuLoad() ≥ GpuUsageThreshold then
return min(target_batch_size.current_batch_size)
12: else
return target_batch_size
13: end if
其中current_batch_size表示当前设置的批次大小;request_arrive_rate表示预测请求的平均到达速率,通过GetRequestArriveRate()方法计算获得;default_batch_size表示默认批次大小,值为1;mean_time表示请求的平均响应延迟时间,通过GetMeanPredictionTime()方法计算获得;HighConcurrencyThreshold表示高并发量阈值,若预测请求的平均到达速率大于该阈值,则视为高并发场景;LatencyThreshold表示平均时间延迟一级阈值,若小于该值则认为当前机器硬件资源较充分;LatencyThresholdLevelTwo表示平均时间延迟第二级阈值,若大于该值则认为当前机器硬件资源较为紧张;GpuUsageThreshold表示显存占用率阈值。
本发明中提出的动态调整批次大小算法,首先调用GetRequestArriveRate()方法获取当前预测请求的平均到达速率(request_arrive_rate),并以此作为判断是否为高并发场景的依据。当请求平均到达速率小于高并发量阈值时,认为当前请求并发量较小,不需进行过多的调整,直接返回默认批次大小(default_batch_size),值为1。当请求平均到达速率大于指定阈值时,则认为当前并发量较大,根据机器资源、平均延迟时间等进行调整。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,所述批处理的遥感影像智能处理模型预测性能优化方法包括:
将CPU处理的多个遥感影像模型预测请求后得到的前处理结果合并成一个模型列队,并根据动态调整批处理大小算法动态调整批处理批次大小,批量放入GPU中进行计算。
2.如权利要求1所述批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,所述批处理的遥感影像智能处理模型预测性能优化方法包括以下步骤:
步骤一,利用CPU对模型预测请求进行前处理,并将处理结果数据放入模型队列中,等待批处理调度器调度;
步骤二,设定模型队列的批处理调度条件,判断模型队列中的数据是否满足预设的批处理调度条件,若满足,则批处理调度器从模型队列中取出数据并将其合并成一个预测请求,进行调度和处理;
所述批处理调度条件为:
其中,qs 表示每个模型队列当前已有的元素个数;BATCH_SIZE 表示根据算法动态调整后的批处理大小阈值;tw 表示模型队列中批次目前已经等待的时间;TIME_THRESHOLD 表示计算的批次平均等待时间;
步骤三,将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中。
3.如权利要求2所述批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,所述步骤二中进行调度包括:批处理调度器采取轮询的方式调度各个模型队列;
所述进行处理包括:获取当前最优的批处理的批次即BATCH_SIZE大小,当模型队列的元素个数大于等于BATCH_SIZE或队列中批次的等待时间已经超过了平均等待时间,批处理调度器从该模型队列中取出相应数量的前处理结果数据,对其进行批处理;批处理调度器调度批次后,记录该批次的等待时间,并计算批次平均的等待时间;所述批处理包括:处理批次的输入数据、模型调用、拆分批处理预测结果。
4.如权利要求2所述批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,步骤三中,所述将批处理调度器的调度和处理结果进行拆分,根据动态调整批处理大小算法,将批处理结果放入批处理结果队列中包括:
将批处理完成后的预测结果放入批处理结果队列,并将所述批处理结果队列转换成图片的标注及其他一系列可视化/可读的结果后返回给对应的模型预测请求。
5.如权利要求2所述批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,步骤三中,所述动态调整批处理大小算法为根据模型预测请求的并发量大小针对高并发和非高并发两种场景下的调整策略;
所述动态调整批处理大小算法具体包括:利用滑动窗口快速计算模型预测请求的平均到达速率,判断当前为高并发场景还是非高并发场景,并采取相应的策略调整最佳的批次大小。
6.如权利要求5所述批处理的遥感影像智能处理模型预测性能优化方法,其特征在于,当计算得到的请求平均到达速率较慢时,系统处于非高并发场景,即模型预测请求并发量较小,直接返回默认的批次大小;
当计算得到的请求平均到达速率较快时,系统处于高并发场景,即模型预测请求并发量较大,结合模型预测请求的平均响应延迟时间、显存占用率和GPU 利用率及其他因素对批次大小进行调整;
所述对批次大小进行调整包括:当模型预测请求平均响应延迟时间较低、机器硬件资源较充足时,在一定范围内线性增加批处理批次的大小;当模型预测请求平均响应延迟时间增加、机器硬件资源较紧张时,则乘性减少批处理批次大小。
7.一种批处理的遥感影像智能处理模型预测性能优化系统,其特征在于,批处理的遥感影像智能处理模型预测性能优化系统,包括:
GPU任务调度模块和动态调整批处理模块;
GPU任务调度模块,包括:模型队列、批处理调度器以及存放批处理结果的队列;用于进行遥感影像处理模型预测服务中GPU计算任务,即模型预测调用;
动态调整批处理模块,用于提升模型预测服务的吞吐量和服务节点上GPU的利用率。
8.一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~6任意一项所述批处理的遥感影像智能处理模型预测性能优化方法。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~6任意一项所述批处理的遥感影像智能处理模型预测性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110997294.XA CN113434303A (zh) | 2021-08-27 | 2021-08-27 | 批处理的遥感影像智能处理模型预测性能优化系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110997294.XA CN113434303A (zh) | 2021-08-27 | 2021-08-27 | 批处理的遥感影像智能处理模型预测性能优化系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113434303A true CN113434303A (zh) | 2021-09-24 |
Family
ID=77798252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110997294.XA Pending CN113434303A (zh) | 2021-08-27 | 2021-08-27 | 批处理的遥感影像智能处理模型预测性能优化系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434303A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145730A (zh) * | 2022-07-05 | 2022-10-04 | 小米汽车科技有限公司 | 运行监测方法、装置、电子设备和存储介质 |
CN116401062A (zh) * | 2023-04-13 | 2023-07-07 | 北京大学 | 一种服务器无感知资源处理方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262516A1 (en) * | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for dynamic control of cache and pool sizes |
CN105677489A (zh) * | 2016-03-04 | 2016-06-15 | 山东大学 | 离散流处理模型下批次间隔大小的动态设置系统及方法 |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN110928666A (zh) * | 2019-12-09 | 2020-03-27 | 湖南大学 | 一种Spark环境中基于内存优化任务并行度的方法和系统 |
CN112346866A (zh) * | 2020-11-05 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于异步数据传输的gpu调度方法及系统 |
CN113268328A (zh) * | 2021-05-26 | 2021-08-17 | 平安国际融资租赁有限公司 | 批处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-08-27 CN CN202110997294.XA patent/CN113434303A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262516A1 (en) * | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for dynamic control of cache and pool sizes |
CN105677489A (zh) * | 2016-03-04 | 2016-06-15 | 山东大学 | 离散流处理模型下批次间隔大小的动态设置系统及方法 |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN110928666A (zh) * | 2019-12-09 | 2020-03-27 | 湖南大学 | 一种Spark环境中基于内存优化任务并行度的方法和系统 |
CN112346866A (zh) * | 2020-11-05 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于异步数据传输的gpu调度方法及系统 |
CN113268328A (zh) * | 2021-05-26 | 2021-08-17 | 平安国际融资租赁有限公司 | 批处理方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145730A (zh) * | 2022-07-05 | 2022-10-04 | 小米汽车科技有限公司 | 运行监测方法、装置、电子设备和存储介质 |
CN116401062A (zh) * | 2023-04-13 | 2023-07-07 | 北京大学 | 一种服务器无感知资源处理方法、装置和电子设备 |
CN116401062B (zh) * | 2023-04-13 | 2023-09-12 | 北京大学 | 一种服务器无感知资源处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10223166B2 (en) | Scheduling homogeneous and heterogeneous workloads with runtime elasticity in a parallel processing environment | |
EP2383648B1 (en) | Technique for GPU command scheduling | |
US10733019B2 (en) | Apparatus and method for data processing | |
US5944792A (en) | Data transfer device with computed start times for data blocks | |
US20060010446A1 (en) | Method and system for concurrent execution of multiple kernels | |
CN113434303A (zh) | 批处理的遥感影像智能处理模型预测性能优化系统及方法 | |
CN103019835A (zh) | 一种多核处理器中断资源优化处理系统和方法 | |
CN104094235A (zh) | 多线程计算 | |
Elliott et al. | Supporting real-time computer vision workloads using OpenVX on multicore+ GPU platforms | |
CN113132456B (zh) | 一种基于截止时间感知的边云协同任务调度方法及系统 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
CN115269159B (zh) | 基于人工智能与边缘计算支持的调度系统与方法 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
CN115562838A (zh) | 资源调度方法、装置、计算机设备及存储介质 | |
CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
US20080271041A1 (en) | Program processing method and information processing apparatus | |
CN115391053B (zh) | 基于cpu和gpu混合计算的在线服务方法及装置 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
CN116795503A (zh) | 任务调度方法、任务调度装置、图形处理器及电子设备 | |
CN113220429B (zh) | Java线程池的任务处理方法、装置、设备和介质 | |
CN112949847B (zh) | 神经网络算法加速系统、调度系统及调度方法 | |
CN115269157A (zh) | 一种任务处理系统、方法、计算机设备及存储介质 | |
US20050060706A1 (en) | Method and apparatus for performing real-time commands in a non real-time operating system environment | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210924 |