CN112817730B - 深度神经网络服务批处理调度方法、系统及gpu - Google Patents

深度神经网络服务批处理调度方法、系统及gpu Download PDF

Info

Publication number
CN112817730B
CN112817730B CN202110209701.6A CN202110209701A CN112817730B CN 112817730 B CN112817730 B CN 112817730B CN 202110209701 A CN202110209701 A CN 202110209701A CN 112817730 B CN112817730 B CN 112817730B
Authority
CN
China
Prior art keywords
neural network
batch
scheduling
service
strategy
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
CN202110209701.6A
Other languages
English (en)
Other versions
CN112817730A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202110209701.6A priority Critical patent/CN112817730B/zh
Publication of CN112817730A publication Critical patent/CN112817730A/zh
Application granted granted Critical
Publication of CN112817730B publication Critical patent/CN112817730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种深度神经网络服务批处理调度方法、系统及GPU,所述深度神经网络服务批处理调度方法包括:构建包含多个批处理调度策略的批处理调度策略池;基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。本发明可以为新兴的深度神经网络技术落地提供支持,可以构建具有商业意义的、基于模型多样性感知的深度神经网络服务批处理调度系统,面向用户简化神经网络推理调度服务的优化,优化整个神经网络的服务响应速度。

Description

深度神经网络服务批处理调度方法、系统及GPU
技术领域
本发明涉及人工智能技术领域,特别是涉及大神经网络技术领域。
背景技术
随着诸如语音识别,机器翻译,个人私人助手等计算密集型应用的大量部署,主流的私用数据中心或公用云平台已经开始大量使用像GPU等协处理器来应对传统CPU计算能力不足的问题。GPU最开始是为图形图像计算而设计的专用处理器,而由于其具有传统CPU所无法匹敌的并行性,越来越多的非图形图像应用迁移到GPU平台以满足其迅速增长的计算需求。研究表明,非图形图像应用往往不具有足够的的并行度以充分利用GPU的硬件资源,从而导致硬件资源的浪费。另一方面,由于GPU架构及工艺的发展,越来越多的流多处理器(Streaming Multiprocessor,SM)被集成到一块GPU之中,使得资源浪费的问题更加突出。
深度神经网络在近十年中得到了快速发展,各种各样的深度神经网络模型涌现而出,目前GPU已经被广泛应用于提供基于深度神经网络的在线服务中。但是,不同的模型在GPU上的运行性能大相径庭,如何根据模型的差异性定制化GPU上的服务批处理调度算法,提供快响应的服务,提高系统吞吐等成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种深度神经网络服务批处理调度方法、系统及GPU,用于在无需增加硬件设备的前提下,优化整个神经网络的服务响应速度。
为实现上述目的及其他相关目的,本发明提供一种深度神经网络服务批处理调度方法,包括:构建包含多个批处理调度策略的批处理调度策略池;基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
于本发明的一实施例中,所述批处理调度策略包括AutoReduce批处理调度策略;所述AutoReduce批处理调度策略中,将单个卷积神经网络模型切分为前后两部分,对所述单个卷积神经网络模型的前后部分别采取不同的批处理策略。
于本发明的一实施例中,所述AutoReduce策略包括由多个合并引擎组成的合并引擎簇和归一引擎;所述合并引擎簇中的各合并子引擎负责所述单个卷积神经网络模型执行的前半部分,所述归一引擎负责合并引擎簇执行完成后的所述单个卷积神经网络模型的剩余后半部分。
于本发明的一实施例中,所述配置所述确定的批处理调度策略包括:配置卷积神经网络模型加入到所述合并引擎簇的卷积操作符的数量。
于本发明的一实施例中,所述批处理调度策略包括PipeLine批处理调度策略;所述PipeLine批处理调度策略中,将单个卷积神经网络模型切分为多段等执行时间长的子模型,并将各子模型组织成为软件流水线。
于本发明的一实施例中,所述配置所述确定的批处理调度策略包括:配置将各子模型组织成为软件流水线后的流水线级数。
于本发明的一实施例中,所述基于批处理调度策略的配置情况对所述神经网络模型执行服务调度包括:基于用户需求将所述神经网络模型切分成多个子模型,并为多个子模型生成对应的的执行子引擎,通过所述各执行子引擎对所述神经网络模型的各子模型执行服务调度。
于本发明的一实施例中,所述服务质量要求信息包括深度神经网络推理请求的处理延迟。
本发明的实施例还提供一种深度神经网络服务批处理调度系统,所述深度神经网络服务批处理调度系统包括:批处理调度策略池模块,构建包含多个批处理调度策略的批处理调度策略池;策略选择器模块,基于神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;调度器模块,基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
本发明的实施例还提供一种GPU,所述GPU应用如权利要求1至权利要求8所述的深度神经网络服务批处理调度方法。
如上所述,本发明的深度神经网络服务批处理调度方法、系统及GPU具有以下有益效果:
本发明可以为新兴的深度神经网络技术落地提供支持,可以构建具有商业意义的、基于模型多样性感知的深度神经网络服务批处理调度系统,面向用户简化神经网络推理调度服务的优化,优化整个神经网络的服务响应速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本申请一实施例中的深度神经网络服务批处理调度方法的整体流程示意图。
图2显示为本申请一实施例中的深度神经网络服务批处理调度方法的原理示意图。
图3显示为本申请一实施例中的深度神经网络服务批处理调度方法中的AutoReduce批处理调度策略的调度原理示意图。
图4显示为本申请一实施例中的深度神经网络服务批处理调度方法中的PipeLine批处理调度策略的调度原理示意图。
图5显示为本申请一实施例中的深度神经网络服务批处理调度方法的整体执行过程示意图。
图6显示为本申请一实施例中的深度神经网络服务批处理调度系统的原理框图。
元件标号说明
100 深度神经网络服务批处理调度系统
110 批处理调度策略池模块
120 策略选择器模块
121 调度器模块
S100~S300 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例的目的在于提供一种深度神经网络服务批处理调度方法、系统及GPU,用于在无需增加硬件设备的前提下,优化整个神经网络的服务响应速度。
本实施例旨在设计、实现一个运行于能耗受限数据中心上,管理混合部署的云服务与后台应用程序间的共享资源的系统和方法,在同时保证云服务的服务质量、满足服务器能耗限制的基础上,最大化后台批处理任务的吞吐量。
以下将详细阐述本发明的深度神经网络服务批处理调度方法、系统及GPU的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的深度神经网络服务批处理调度方法、系统及GPU。
实施例1
具体地,如图1所示,本实施例提供一种深度神经网络服务批处理调度方法,所述深度神经网络服务批处理调度方法包括:
步骤S100,构建包含多个批处理调度策略的批处理调度策略池;
步骤S200,基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;
步骤S300,基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
以下将结合图2对本实施例的深度神经网络服务批处理调度方法的步骤S100至步骤S300进行详细说明。
如图2所示,通过调度选择器对批处理调度策略池的策略进行选择,策略选择器根据用户自定义的服务质量要求配置所使用的批处理大小,同时配置其相应调度策略所需要的特殊参数,策略选择器根据调度策略参数生成调度器,生成的调度器根据调度策略完成深度神经网络请求的执行。所以本实施例的深度神经网络服务批处理调度方法便于应用开发人员落地深度神经网络,以更少的参数配置获得更好的性能,获得更快的服务响应,自适应模型快速迭代的深度神经网络服务场景。
步骤S100,构建包含多个批处理调度策略的批处理调度策略池。
所述批处理调度策略池由多个预先设计的批处理调度策略组成,于本实施例中,所述批处理调度策略池包括AutoReduce、PipeLine两种调度策略。
具体地,于本实施例中,所述批处理调度策略包括AutoReduce批处理调度策略;所述AutoReduce批处理调度策略中,将单个卷积神经网络模型切分为前后两部分,对所述单个卷积神经网络模型的前后部分别采取不同的批处理策略。
其中,所述AutoReduce批处理调度策略包括由多个合并引擎组成的合并引擎簇和归一引擎;所述合并引擎簇中的各合并子引擎负责所述单个卷积神经网络模型执行的前半部分,所述归一引擎负责合并引擎簇执行完成后的所述单个卷积神经网络模型的剩余后半部分。
即本实施例中,AutoReduce调度策略专门为卷积神经网络定制,它利用卷积神经网络操作符在GPU上的运行特点,如图3所示,根据不同的卷积操作符实现算法的特性以及卷积神经网络的架构特性,对于在不同时刻到来的服务请求req1~req4,AutoReduce把每一个请求的卷积神经网络计算流程切分为前后部分,每一个服务请求前半部分计算流程将各自独立执行,对于卷积神经网络计算流程的后半部分,在特定时间段内的req1~req4将被组织成为一个整体,进行批量计算,图3中的TD为原始处理流程的延迟等待时间,AutoReduce调度策略中利用这一阶段进行现有服务请求的前半部分计算流程,提高了资源利用率,并以此降低了原始的请求的长尾延迟TL,提高了服务系统的响应。为了满足前后分割卷积神经网络的目的,AutoReduce策略采用两种执行引擎,包括由合并引擎组成的合并引擎簇和归一引擎,合并引擎簇中的合并子引擎负责单个服务请求模型执行的前半部分,归一引擎负责合并引擎簇执行完成后的剩余模型后半部分,该调度策略的调度算法具体如算法如表1所示。
表1
Figure BDA0002950974750000051
于本实施例中,所述批处理调度策略包括PipeLine批处理调度策略;所述PipeLine批处理调度策略中,将单个卷积神经网络模型切分为多段等执行时间长的子模型,并将各子模型组织成为软件流水线。
PipeLine批处理调度策略专门为自然语言神经网络模型定制,它利用了语言神经网络前后操作符的稳定性以及其低批处理大小时的低效执行的特性,如图4所示,利用自然语言模型稳定循环的执行模式,PipeLine批处理调度策略将完整的自然语言神经网络模型切分为多段等执行时间长的子模型,将其组织成为软件流水线,对于不同时刻到来的自然语言类服务请求req1~req4,PipeLine分段处理整个语言神经网络的整个计算流程,不同服务请求的计算流程之间相互独立,在图4中,TD为原始处理流程的延迟等待时间,PipeLine调度策略采取即来即服务策略,去除了延迟等待时间,原始的请求的长尾延迟TL降低为TP,提高了服务系统的响应。为了独立完成每一个分段的计算流程,PipeLine由多个语言模型软件流水线化后得到的流水线执行子引擎组成,每一个子引擎将负责整个自然语言神经网络的不同部分子模型的执行,该调度策略的调度算法具体如算法表2所示。
表2
Figure BDA0002950974750000052
Figure BDA0002950974750000061
步骤S200,基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略。
其中,于本实施例中,所述服务质量要求信息包括深度神经网络推理请求的处理延迟。即用户根据自己的要求自定义可接受的最长深度神经网络推理请求的处理延迟作为服务质量要求。
此外,本实施例中,还包括构建各神经网络模型的步骤,用户根据自己的推理请求构建对应的神经网络模型。
本实施例中,根据模型的特性从批量调度策略池中选择合适的策略同时进行配置。同时构建离线分析模型,并基于离线分析模型的批处理大小等因素分析对神经网络模型性能的影响。
具体地,于本实施例中,在所述批处理调度策略为AutoReduce批处理调度策略时,所述配置所述确定的批处理调度策略包括:配置卷积神经网络模型加入到所述合并引擎簇的卷积操作符的数量。
具体地,于本实施例中,在所述批处理调度策略为PipeLine批处理调度策略时,所述配置所述确定的批处理调度策略包括:配置将各子模型组织成为软件流水线后的流水线级数。
即本实施例中,根据用户自定义的服务质量要求配置所使用的批处理大小,同时配置其相应调度策略所需要的特殊参数,包括AutoReduce中加入合并引擎簇的卷积操作符个数、PipeLine中的软件流水线级数等等。
本实施例中,首先根据模型的种类,这里主要是指卷机神经网络或自然语言神经网络,来决策使用AutoReduce或PipeLine调度策略,选定策略后策略选择器模块将根据模型刻画得到的信息来决定具体策略的配置,以此来保证调度策略的性能,降低调度开销。
对于AutoReduce批处理调度策略,主要配置该策略下,卷机神经网络模型加入到合并引擎簇的卷积操作符的数量,合并引擎簇中的卷积操作符的数量决定了AutoReduce调度策略的有效性和开销。加入过多的卷积操作符会增大调度开销,加入过少无法有效提高调度策略的快速响应能力。
对于PipeLine批处理调度策略,主要配置该策略下,自然语言网络模型软件流水线化以后的流水线级数,流水线级数对PipeLine调度策略的性能和开销有决定性作用,过少的流水线级数无法发挥快速响应能力,过多的流水线级数会增加同步开销,同时过多的流水线级数会增加软件流水线的不稳定性。
步骤S300,基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
具体地,于本实施例中,所述基于批处理调度策略的配置情况对所述神经网络模型执行服务调度包括:基于用户需求将所述神经网络模型切分成多个子模型,并为多个子模型生成对应的的执行子引擎,通过所述各执行子引擎对所述神经网络模型的各子模型执行服务调度。
即步骤S300是具体的模型调度执行,提供服务的处理能力,将根据策略选择器的配置情况将原始神经网络按需切分成子模型,并组成各自的子引擎,负责各个子模型的执行。调度器证了不同的调度策略的稳定运行,尤其是PipeLine批处理调度策略下,在软件流水线出现级联效应时,具有流水线重置的功能。
为使本领域技术人员进一步理解本实施例的深度神经网络服务批处理调度方法的原理和实施过程,请参阅图5,以下将结合图5对本实施例的深度神经网络服务批处理调度方法的实施流程进一步进行详细说明。
1)用户构建推理模型:用户根据自己的推理请求构建推理模型(深度卷积神经网络模型)。
2)用户构建策略池:。调度系统开发者根据模型开发调度策略。
3)用户指定服务质量要求:用户根据自己的要求自定义可接受的最长深度神经网络推理请求的处理延迟作为服务质量要求。
4)模型分析,选择调度策略:策略选择器根据模型的种类从策略池选择适用的策略,同时分析离线分析模型的批处理大小等因素对模型性能的影响。
5)配置调度策略参数:策略选择器根据用户自定义的服务质量要求配置所使用的批处理大小,同时配置其相应调度策略所需要的特殊参数,包括AutoReduce中加入合并引擎簇的卷积操作符个数、PipeLine中的软件流水线级数等等。
6)生成调度器:策略选择器根据调度策略参数生成调度器,包括其中的执行引擎,调度流程,涉及到计算图生成、内存申请、控制流等等。
7)接收推理请求。
8)检查请求队列状态:检查请求队列的状态,查看其中是否有待处理的请求,有则跳转至9),无则跳转至7)。
9)调度器执行:生成的调度器根据调度策略完成深度神经网络请求的执行。
10)返回推理结果:返回推理结果后,调度器将会跳转至7),进行新一轮的调度过程。
所以本实施例的深度神经网络服务批处理调度方法,建立了一个包含批处理调度策略池、策略选择器以及调度器的系统,在无需增加硬件设备包括图形处理器等的前提下,极大化整个推理系统的响应能力。
实施例2
如图6所示,本实施例提供一种深度神经网络服务批处理调度系统,所述深度神经网络服务批处理调度系统100包括:批处理调度策略池模块,策略选择器模块以及调度器模块。
于本实施例中,所述批处理调度策略池模块构建包含多个批处理调度策略的批处理调度策略池。
于本实施例中,所述策略选择器模块基于神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略。
于本实施例中,所述调度器模块基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
本实施例的深度神经网络服务批处理调度系统具体实现的技术特征与前述实施例1中的深度神经网络服务批处理调度方法基本相同,实施例间可以通用的技术内容不作重复赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,某一模块可以为单独设立的处理元件,也可以集成在控制器的某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由处理器的某一个处理元件调用并执行以上某一模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器,例如GPU。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
实施例3
本实施例提供一种GPU,所述GPU应用如实施例1所述的深度神经网络服务批处理调度方法。实施例1已经对所述深度神经网络服务批处理调度方法进行了详细说明,在此不再赘述。
此外,实施例1所述的深度神经网络服务批处理调度方法可应用于由本实施例的多个GPU组成的GPU集群。
综上所述,本发明可以为新兴的深度神经网络技术落地提供支持,可以构建具有商业意义的、基于模型多样性感知的深度神经网络服务批处理调度系统,面向用户简化神经网络推理调度服务的优化,优化整个神经网络的服务响应速度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (9)

1.一种深度神经网络服务批处理调度方法,其特征在于:包括:
构建包含多个批处理调度策略的批处理调度策略池;
基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;
基于批处理调度策略的配置情况对所述神经网络模型执行服务调度;
所述批处理调度策略包括AutoReduce批处理调度策略;所述AutoReduce批处理调度策略中,将单个卷积神经网络模型切分为前后两部分,对所述单个卷积神经网络模型的前后部分别采取不同的批处理策略。
2.根据权利要求1所述的深度神经网络服务批处理调度方法,其特征在于:所述AutoReduce策略包括由多个合并引擎组成的合并引擎簇和归一引擎;所述合并引擎簇中的各合并子引擎负责所述单个卷积神经网络模型执行的前半部分,所述归一引擎负责合并引擎簇执行完成后的所述单个卷积神经网络模型的剩余后半部分。
3.根据权利要求2所述的深度神经网络服务批处理调度方法,其特征在于:所述配置所述确定的批处理调度策略包括:配置卷积神经网络模型加入到所述合并引擎簇的卷积操作符的数量。
4.根据权利要求1所述的深度神经网络服务批处理调度方法,其特征在于:所述批处理调度策略包括PipeLine批处理调度策略;所述PipeLine批处理调度策略中,将单个卷积神经网络模型切分为多段等执行时间长的子模型,并将各子模型组织成为软件流水线。
5.根据权利要求4所述的深度神经网络服务批处理调度方法,其特征在于:所述配置所述确定的批处理调度策略包括:配置将各子模型组织成为软件流水线后的流水线级数。
6.根据权利要求1、3或5所述的深度神经网络服务批处理调度方法,其特征在于:所述基于批处理调度策略的配置情况对所述神经网络模型执行服务调度包括:基于用户需求将所述神经网络模型切分成多个子模型,并为多个子模型生成对应的的执行子引擎,通过所述各执行子引擎对所述神经网络模型的各子模型执行服务调度。
7.根据权利要求1所述的深度神经网络服务批处理调度方法,其特征在于:所述服务质量要求信息包括深度神经网络推理请求的处理延迟。
8.一种深度神经网络服务批处理调度系统,其特征在于:所述深度神经网络服务批处理调度系统包括:
批处理调度策略池模块,构建包含多个批处理调度策略的批处理调度策略池;
策略选择器模块,基于神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;所述批处理调度策略包括AutoReduce批处理调度策略;所述AutoReduce批处理调度策略中,将单个卷积神经网络模型切分为前后两部分,对所述单个卷积神经网络模型的前后部分别采取不同的批处理策略;
调度器模块,基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。
9.一种GPU,其特征在于:所述GPU应用如权利要求1至权利要求7所述的深度神经网络服务批处理调度方法。
CN202110209701.6A 2021-02-24 2021-02-24 深度神经网络服务批处理调度方法、系统及gpu Active CN112817730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110209701.6A CN112817730B (zh) 2021-02-24 2021-02-24 深度神经网络服务批处理调度方法、系统及gpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110209701.6A CN112817730B (zh) 2021-02-24 2021-02-24 深度神经网络服务批处理调度方法、系统及gpu

Publications (2)

Publication Number Publication Date
CN112817730A CN112817730A (zh) 2021-05-18
CN112817730B true CN112817730B (zh) 2022-08-16

Family

ID=75865632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110209701.6A Active CN112817730B (zh) 2021-02-24 2021-02-24 深度神经网络服务批处理调度方法、系统及gpu

Country Status (1)

Country Link
CN (1) CN112817730B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691314A (zh) * 2021-10-14 2022-07-01 上海交通大学 基于确定性算子共存的服务调度方法及其应用的gpu
CN116542334B (zh) * 2023-05-12 2023-10-20 北京大学 基于Web浏览器的深度神经网络推理调度方法和装置
CN116739090B (zh) * 2023-05-12 2023-11-28 北京大学 基于Web浏览器的深度神经网络推理度量方法和装置
CN117689025B (zh) * 2023-12-07 2024-06-14 上海交通大学 适用于消费级显卡的快速大模型推理服务方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708425A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 分布式多模存储管理
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的系统和方法
CN108694090A (zh) * 2018-04-16 2018-10-23 江苏润和软件股份有限公司 一种面向分布式机器学习的云计算资源调度方法
CN111654436A (zh) * 2019-10-24 2020-09-11 北京大学 一种适用于高速移动环境的网络中继设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008242797B2 (en) * 2007-04-20 2011-07-14 Shell Internationale Research Maatschappij B.V. In situ recovery from residually heated sections in a hydrocarbon containing formation
AU2009251533B2 (en) * 2008-04-18 2012-08-23 Shell Internationale Research Maatschappij B.V. Using mines and tunnels for treating subsurface hydrocarbon containing formations
US9096453B2 (en) * 2012-06-11 2015-08-04 Johns Manville Submerged combustion melting processes for producing glass and similar materials, and systems for carrying out such processes
US20150082316A1 (en) * 2013-09-18 2015-03-19 evoleap, LLC System and Method for Efficient Utilization of Simulation Resources
US10891237B2 (en) * 2016-09-26 2021-01-12 Intel Corporation Apparatus and method for mediate pass through and shared memory page merge
AU2018380882B2 (en) * 2017-12-07 2022-02-03 Shell Internationale Research Maatschappij B.V. Compact lng production train and method
CN110750562B (zh) * 2018-07-20 2023-10-27 宿迁市公安局 基于Storm的实时数据比对预警方法及系统
CN109857517B (zh) * 2019-01-04 2020-12-29 中国科学院计算技术研究所 一种虚拟化系统及其数据交换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的系统和方法
CN106708425A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 分布式多模存储管理
CN108694090A (zh) * 2018-04-16 2018-10-23 江苏润和软件股份有限公司 一种面向分布式机器学习的云计算资源调度方法
CN111654436A (zh) * 2019-10-24 2020-09-11 北京大学 一种适用于高速移动环境的网络中继设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Ebird: Elastic Batch for Improving Responsiveness and Throughput of Deep Learning Services";Weihao Cui等;《2019 IEEE 37th International Conference on Computer Design (ICCD)》;20200210;第VI-VII节 *

Also Published As

Publication number Publication date
CN112817730A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112817730B (zh) 深度神经网络服务批处理调度方法、系统及gpu
CN110674936A (zh) 一种神经网络处理方法、装置、计算机设备及存储介质
EP4036803A1 (en) Neural network model processing method and apparatus, computer device, and storage medium
WO2021057746A1 (zh) 神经网络处理方法、装置、计算机设备及存储介质
Pei et al. Iteration time prediction for cnn in multi-gpu platform: modeling and analysis
CN110717574B (zh) 一种神经网络运行方法、装置及异构智能芯片
Gao et al. Deep neural network task partitioning and offloading for mobile edge computing
Gong et al. Improving hw/sw adaptability for accelerating cnns on fpgas through a dynamic/static co-reconfiguration approach
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
Ahmed et al. RALB‐HC: A resource‐aware load balancer for heterogeneous cluster
Wang et al. SOLAR: Services-oriented deep learning architectures-deep learning as a service
Ma et al. FPGA-based AI smart NICs for scalable distributed AI training systems
Kaya et al. Seamless computation offloading for mobile applications using an online learning algorithm
CN116775041B (zh) 基于流计算和rete算法的实时决策引擎实现方法
CN110837419B (zh) 基于弹性批处理的推理引擎系统、方法及电子设备
Zhang et al. A locally distributed mobile computing framework for DNN based android applications
CN115668222A (zh) 一种神经网络的数据处理方法及装置
CN114217688B (zh) 一种基于神经网络结构的npu功耗优化系统和方法
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
CN114595813A (zh) 异构加速处理器及数据计算方法
Oh et al. Energy-efficient task partitioning for CNN-based object detection in heterogeneous computing environment
CA3137370A1 (en) Apparatus and method to dynamically optimize parallel computations
Zhou et al. Training and Serving System of Foundation Models: A Comprehensive Survey
CN117407177B (zh) 任务执行方法、装置、电子设备及可读存储介质
Omidsajedi et al. Latency optimized Deep Neural Networks (DNNs): An Artificial Intelligence approach at the Edge using Multiprocessor System on Chip (MPSoC)

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