CN113656150A - 深度学习算力虚拟化系统 - Google Patents
深度学习算力虚拟化系统 Download PDFInfo
- Publication number
- CN113656150A CN113656150A CN202110962779.5A CN202110962779A CN113656150A CN 113656150 A CN113656150 A CN 113656150A CN 202110962779 A CN202110962779 A CN 202110962779A CN 113656150 A CN113656150 A CN 113656150A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- model
- service request
- computing power
- service
- 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
- 238000013135 deep learning Methods 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000002776 aggregation Effects 0.000 claims abstract description 18
- 238000004220 aggregation Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000003062 neural network model Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000009432 framing Methods 0.000 claims description 3
- 238000003032 molecular docking Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000035945 sensitivity Effects 0.000 claims description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Power Sources (AREA)
Abstract
本发明提供了一种深度学习算力虚拟化系统,包括:深度学习虚拟化平台,被配置为将虚拟化的所有资源进行汇总,根据汇总的资源将业务请求分配至深度学习服务器;以及深度学习服务器,被配置为通过本地算力聚合及任务分配系统将任务分配至其内部的各个深度学习单元,以使各个深度学习单元能够处理任务;其中各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中。
Description
技术领域
本发明涉及虚拟化技术领域,特别涉及一种深度学习算力虚拟化系统。
背景技术
传统的基于CPU的服务器已经可以通过虚拟化技术实现计算资源、存储资源和网络连接的虚拟化,使上述三种资源在单台物理服务器内可被分割被多个应用调用,也可以在多台物理服务器间被池化聚合。
目前深度学习普遍采用GPU方案,GPU的虚拟化,目前的主要技术提供方为NVIDIA的vGPU和AMD的MxGPU。
NVIDIA基于多GPU算力汇聚的深度学习推理服务器(inference server)方案如图1所示,模型池(model repository)内部存放各类深度神经网络模型,模型管理器(modelmanagement)负责在底部单个或多个GPU的物理硬件上加载可供满足推理业务请求的不同网络模型的实例(model instance,通常包含深度神经网络模型结构和权重参数)。调度器(scheduler)负责根据推理业务请求的种类(无结果状态传递的网络模型statelessmodel,有结果状态传递的网络模型stateful model,结果嵌套的协同模型组ensemblemodel),将其分配到在GPU上不同的网络模型实例中去运算获得结果,分配过程中会进一步根据模型种类的差异,配置不同的批处理策略,从而提高GPU的利用率。但现有的GPU虚拟化方案的灵活性和效率还有待提高,尚不能完全满足深度学习算力虚拟化需求。
发明内容
本发明的目的在于提供一种深度学习算力虚拟化系统,以解决现有的GPU虚拟化方案的灵活性和效率不能完全满足深度学习算力虚拟化需求的问题。
为解决上述技术问题,本发明提供一种深度学习算力虚拟化系统,包括:
深度学习虚拟化平台,被配置为将虚拟化的所有资源进行汇总,根据汇总的资源将业务请求分配至深度学习服务器;以及
深度学习服务器,被配置为通过本地算力聚合及任务分配系统将任务分配至其内部的各个深度学习单元,以使各个深度学习单元能够处理任务;
其中各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中。
可选的,在所述的深度学习算力虚拟化系统中,所述本地算力聚合及任务分配系统包括:
本地模型池,被配置为对接深度学习虚拟化平台的总模型池;
运算任务请求接口,被配置为与深度学习虚拟化平台对接任务和处理结果;
模型管理器,被配置为在底层计算硬件上加载模型实例;
任务调度器,被配置为将运算任务送往底层计算硬件上的模型实例进行计算,以及将运算任务拼成“批”以提高效率;以及
状态采集器,被配置为采集本深度学习服务器的算力总资源、当前算力占用比例、任务处理速度、队列种类及队列等待长度,上报深度学习虚拟化平台。
可选的,在所述的深度学习算力虚拟化系统中,所述本地模型池中的模型由深度学习虚拟化平台统一分配管理;
在收到深度学习虚拟化平台传送的深度神经网络模型后,本地模型池将深度神经网络模型的深度学习框架转换为底层硬件可识别格式,以使其能够在本地的深度学习单元上运行;
底层硬件可识别格式包括描述网络结构的.json和网络权重参数的.bin文件。
可选的,在所述的深度学习算力虚拟化系统中,所述运算任务请求接口与深度学习虚拟化平台的任务分配相互衔接;
深度学习虚拟化平台将运算业务请求根据各个深度学习服务器的算力资源状态和模型加载情况,转发至具体的某深度学习服务器的运算任务请求接口;
所述运算任务请求接口通过解析来自深度学习虚拟化平台的运算任务请求的帧格式接受运算任务,以进行队列缓存和处理结果的组帧输出。
可选的,在所述的深度学习算力虚拟化系统中,所述模型管理器负责根据运算任务请求及队列缓存情况,在底层计算硬件上预加载单个模型实例或多个模型实例,以更高的带宽处理运算任务请求;
在模型实例的加载过程和变动过程中,模型实例与运算任务之间设置软件保护锁。当模型实例开始承载运算任务时,设置一个标志说明当前已加载的模型实例不可被卸载或变更。当模型实例没有承载运算任务时,对应的标志就是可用状态。当长时间没有承载运算任务后,该模型实例就处于可卸载状态。
可选的,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:
通过HTTP的方式接受外部用户的业务请求,并通过HTTP的方式将深度学习服务器生成的处理结果提供至外部用户。
可选的,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:
将各深度学习服务器内部的可用算力的资源状态实时汇总,以便从深度学习服务器集群的视角来调度资源和分配任务。
可选的,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台具备总模型池,其中:
所述总模型池被配置为统一管理各深度神经网络模型;
其中所述深度神经网络模型包括网络结构描述及网络权值参数,以及所述深度神经网络模型采用深度学习框架存放;
其中所述深度学习框架包括:Tensor Flow深度学习框架、Caffe深度学习框架、PyTorch深度学习框架和ONNX深度学习框架。
可选的,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:
统计业务请求到达的形态和规律,根据业务请求到达的形态和规律,智能预控制整个深度学习服务器集群的状态、以及预设置整个深度学习服务器集群的参数,以应付对该业务请求的形态和规律的预测;
将业务请求下发至深度学习服务器时,进一步明确处理延时的要求和吞吐率的要求。
可选的,在所述的深度学习算力虚拟化系统中,所述业务请求到达的形态和规律包括:
单流类业务请求,其业务请求以流的形式到达,且单次到达的样本数为1;
多流类业务请求,其业务请求以流的形式到达,且单次到达多个样本;
服务器类业务请求,业务请求随机到达;以及
离线类业务请求,其所有业务请求和样本数据均批量到达;
各类业务请求对运算完成时限的敏感度排序为:单流类业务请求和多流类业务请求大于服务器类业务请求,服务器类业务请求大于离线类业务请求。
可选的,在所述的深度学习算力虚拟化系统中,在单流类业务请求和多流类业务请求的应用场景下,深度学习虚拟化平台根据预先的业务设定情况,使得各深度学习服务器的调度按照既定策略进行静态分配,定期跟踪业务设定情况的变化;
预先的业务设定情况包括:各业务请求到达的间隔时间,预期需要完成业务请求的时限要求,单次到达的样本数量,以及需加载的模型实例种类;
所述既定策略包括:根据业务设定情况,一次性将所需的计算资源静态分配给各业务请求使用,并定时跟踪计算资源的耗用情况及运算完成的时限情况。如果出现业务未按照规律抵达或计算资源耗用异常,则作为故障上报。
可选的,在所述的深度学习算力虚拟化系统中,在服务器类业务请求的应用场景下,实时统计业务到达的具体情况、以及待处理任务的队列长度,得到业务到达规律的统计结果;
根据业务到达规律的统计结果在底层计算硬件上采用动态方式加载模型实例,以加强并行处理能力,减少队列等候时间,以最经济的方式分配计算资源,同时使已分配的计算资源利用率最大化;
当针对某模型实例的计算请求等候队列的任务数量大于第一阈值且持续时间超出第二阈值,则从底层计算硬件上多加载1个模型实例,若任务数量持续大于第一阈值,则继续加载模型实例,直至恢复到正常业务吞吐水平;
当针对某模型实例的计算请求等候队列的任务数量小于第三阈值且持续时间超出第四阈值,则从底层计算硬件上释放1个模型实例,若任务数量持续小于第三阈值,则逐步减少模型实例,直至在正常业务吞吐水平下计算资源利用率达到预设水平。
可选的,在所述的深度学习算力虚拟化系统中,在离线类业务请求的应用场景下,若预期的处理时间通过人为预订,则根据预期的处理时间和此刻计算资源的可用程度,一次性并行加载指定数量的模型实例,同时结合“批”加快运算处理。
本发明的发明人经研究和调研发现,按照NVIDIA的实现方案,因为底层实现采用CAPI,仅可以支持在单台物理服务器内多块GPU板卡之间的任务调度,跨物理服务器的方式不支持。实际使用场景中,需要针对多台物理设备内的AI运算模组能够聚合成为一个大的算力池,并将运算任务跨设备地动态分配下去,才能够管理一个更大的运算集群。
另外,发明人还发现,现有方案中的模型管理器只提供了按照既定清单加载模型的方式,但是未提供根据收到的业务请求情况,动态分配和释放模型实例(modelinstance)的方法,从而调节特定模型的处理带宽的方法。
基于以上洞察,本发明提供了一种深度学习算力虚拟化系统,通过设置将虚拟化的所有资源进行汇总的深度学习虚拟化平台,且深度学习虚拟化平台能够根据汇总的资源将业务请求分配至深度学习服务器,实现了可对多台深度学习服务器的计算资源进行统一管理和调度分配,克服了现有方案中仅支持在单台物理服务器内多块GPU板卡之间的任务调度的问题,在实际使用场景中,能够针对多台物理设备内的AI运算模组能够聚合成为一个大的算力池,并将运算任务跨设备地动态分配下去,实现了管理一个更大的运算集群,进一步提高深度学习虚拟化系统的灵活性和效率。另外,深度学习服务器内的本地算力聚合及任务分配系统将任务分配至各个深度学习单元,而各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中,为单台深度学习服务器内动态配置加载在底层硬件上的模型实例的种类和数量、以及智能化分配算力提供了前提条件。
另外,深度学习虚拟化平台统计业务请求到达的形态和规律,根据业务请求到达的形态和规律,智能预控制整个深度学习服务器集群的状态、以及预设置整个深度学习服务器集群的参数,以应付对该业务请求的形态和规律的预测,且将业务请求下发至深度学习服务器时,进一步明确处理延时的要求和吞吐率的要求,实现了统计业务到达规律,能够智能化提前分配算力的效果,也进一步的提高了深度学习虚拟化系统的灵活性和效率。
附图说明
图1是现有的深度学习算力虚拟化系统示意图;
图2是本发明一实施例深度学习算力虚拟化系统示意图。
具体实施方式
下面结合具体实施方式参考附图进一步阐述本发明。
应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。
在本发明中,除非特别指出,“布置在…上”、“布置在…上方”以及“布置在…之上”并未排除二者之间存在中间物的情况。此外,“布置在…上或上方”仅仅表示两个部件之间的相对位置关系,而在一定情况下、如在颠倒产品方向后,也可以转换为“布置在…下或下方”,反之亦然。
在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。
在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。
在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。
在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于”等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等于”。以此类推,在本发明中,表方向的术语“垂直于”、“平行于”等等同样涵盖了“基本上垂直于”、“基本上平行于”的含义。
另外,本发明的各方法的步骤的编号并未限定所述方法步骤的执行顺序。除非特别指出,各方法步骤可以以不同顺序执行。
以下结合附图和具体实施例对本发明提出的深度学习算力虚拟化系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明的目的在于提供一种深度学习算力虚拟化系统,以解决现有的GPU虚拟化方案的灵活性和效率不能完全满足深度学习算力虚拟化需求的问题。
为实现上述目的,本发明提供了一种深度学习算力虚拟化系统,包括:深度学习虚拟化平台,被配置为将虚拟化的所有资源进行汇总,根据汇总的资源将业务请求分配至深度学习服务器;以及深度学习服务器,被配置为通过本地算力聚合及任务分配系统将任务分配至其内部的各个深度学习单元,以使各个深度学习单元能够处理任务;其中各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中。
本发明的实施例提供了一种深度学习算力虚拟化系统,如图2所示,包括:深度学习虚拟化平台,被配置为将虚拟化的所有资源进行汇总,根据汇总的资源将业务请求分配至深度学习服务器;以及多个深度学习服务器。每个深度学习服务器包括本地算力聚合及任务分配系统、CPU单元以及一个或多个深度学习单元。深度学习服务器被配置为通过本地算力聚合及任务分配系统将任务分配至其内部的各个深度学习单元,以使各个深度学习单元能够处理任务;其中各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述本地算力聚合及任务分配系统包括:本地模型池,被配置为对接深度学习虚拟化平台的总模型池;运算任务请求接口,被配置为与深度学习虚拟化平台对接任务和处理结果;模型管理器,被配置为在底层计算硬件上加载模型实例;任务调度器,被配置为将运算任务送往底层计算硬件上的模型实例进行计算,以及将运算任务拼成“批”以提高效率;以及状态采集器,被配置为采集本深度学习服务器的算力总资源、当前算力占用比例、任务处理速度、队列种类及队列等待长度,上报深度学习虚拟化平台。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述本地模型池中的模型由深度学习虚拟化平台统一分配管理;在收到深度学习虚拟化平台传送的深度神经网络模型后,本地模型池将深度神经网络模型的深度学习框架(往往是不同深度学习框架格式的)转换为底层硬件可识别格式,以使其能够在本地的深度学习单元上运行,以及随时加载到底层硬件上运行;底层硬件可识别格式包括描述网络结构的.json和网络权重参数的.bin文件。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述运算任务请求接口与深度学习虚拟化平台的任务分配相互衔接;深度学习虚拟化平台将运算业务请求根据各个深度学习服务器的算力资源状态和模型加载情况,转发至具体的某深度学习服务器的运算任务请求接口;所述运算任务请求接口通过解析来自深度学习虚拟化平台的运算任务请求的帧格式接受运算任务,以进行队列缓存和处理结果的组帧输出。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述模型管理器负责根据运算任务请求及队列缓存情况,在底层计算硬件上预加载单个模型实例或多个模型实例,以更高的带宽处理运算任务请求;模型实例的加载过程和变动过程中与运算任务之间设置软件保护锁。当模型实例开始承载运算任务时,设置一个标志说明当前已加载的模型实例不可被卸载或变更。当模型实例没有承载运算任务时,对应的标志就是可用状态。当长时间没有承载运算任务后,该模型实例就处于可卸载状态。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:通过HTTP的方式接受外部用户的业务请求,并通过HTTP的方式将深度学习服务器生成的处理结果提供至外部用户。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:将各深度学习服务器内部的可用算力的资源状态实时汇总,以便从深度学习服务器集群的视角来调度资源和分配任务。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台具备总模型池,其中:所述总模型池被配置为统一管理各深度神经网络模型;其中所述深度神经网络模型包括网络结构描述及网络权值参数,以及所述深度神经网络模型采用深度学习框架存放;其中所述深度学习框架包括:Tensor Flow深度学习框架、Caffe深度学习框架、PyTorch深度学习框架和ONNX深度学习框架。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述深度学习虚拟化平台还被配置为:统计业务请求到达的形态和规律,根据业务请求到达的形态和规律,智能预控制整个深度学习服务器集群的状态、以及预设置整个深度学习服务器集群的参数,以应付对该业务请求的形态和规律的预测;将业务请求下发至深度学习服务器时,进一步明确处理延时的要求和吞吐率的要求。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,所述业务请求到达的形态和规律包括:单流类业务请求,其业务请求以流的形式到达,且单次到达的样本数为1,典型应用如语音专录;多流类业务请求,其业务请求以流的形式到达,且单次到达多个样本,典型应用如自动驾驶车辆同时对多个车载摄像头进行图像智能分析;服务器类业务请求,业务请求随机到达,其到达模式可用泊松分布模拟,典型应用如百度、谷歌等翻译网站;以及离线类业务请求,其所有业务请求和样本数据均批量到达,典型应用如大批量的照片分类或检索。
其中单流类业务请求对运算完成的时限非常敏感,通常以运算时延的90%百分位数作为处理速度的衡量依据;多流类业务请求通常以时限要求范围内能够同时并行处理的流的数量作为处理速度的衡量依据;服务器类业务请求通常以时限要求范围下每秒能够处理的请求数量作为处理速度的衡量依据;以及离线类业务请求,通常以数据运算吞吐速率作为处理速度的衡量依据。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,在单流类业务请求和多流类业务请求的应用场景下,深度学习虚拟化平台根据预先的业务设定情况,使得各深度学习服务器的调度按照既定策略进行静态分配,定期跟踪业务设定情况的变化;预先的设定情况包括:固定需要的网络摄像头的输入路数、以及各路网络摄像头需要的算法,各业务请求到达的间隔时间,预期需要完成业务请求的时限要求,单次到达的样本数量,以及需加载的模型实例种类;所述既定策略包括:根据业务设定情况,一次性将所需的计算资源静态分配给各业务请求使用,并定时跟踪计算资源的耗用情况及运算完成的时限情况。如果出现业务未按照规律抵达或计算资源耗用异常,则作为故障上报。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,在服务器类业务请求的应用场景下,实时统计业务到达的具体情况、以及待处理任务的队列长度,得到业务到达规律的统计结果;根据业务到达规律的统计结果在底层计算硬件上采用动态方式加载模型实例,以加强并行处理能力,减少队列等候时间,以最经济的方式分配计算资源,同时使已分配的计算资源利用率最大化;当针对某模型实例的计算请求等候队列的任务数量大于第一阈值且持续时间超出第二阈值,则从底层计算硬件上多加载1个模型实例,若任务数量持续大于第一阈值,则继续加载模型实例,直至恢复到正常业务吞吐水平;当针对某模型实例的计算请求等候队列的任务数量小于第三阈值且持续时间超出第四阈值,则从底层计算硬件上释放1个模型实例,若任务数量持续小于第三阈值,则逐步减少模型实例,直至在正常业务吞吐水平下计算资源利用率达到预设水平。
在本发明的一个实施例中,在所述的深度学习算力虚拟化系统中,在离线类业务请求的应用场景下,若预期的处理时间通过人为预订,则根据预期的处理时间和此刻计算资源的可用程度,一次性并行加载指定数量的模型实例,同时结合“批”加快运算处理。
本发明提供了一种深度学习算力虚拟化系统,通过设置将虚拟化的所有资源进行汇总的深度学习虚拟化平台,且深度学习虚拟化平台能够根据汇总的资源将业务请求分配至深度学习服务器,实现了可对多台深度学习服务器的计算资源进行统一管理和调度分配,克服了现有方案中仅支持在单台物理服务器内多块GPU板卡之间的任务调度的问题,在实际使用场景中,针对多台物理设备内的AI运算模组能够聚合成为一个大的算力池,并将运算任务跨设备地动态分配下去,实现了管理一个更大的运算集群,进一步提高深度学习虚拟化系统的灵活性和效率。另外,深度学习服务器内的本地算力聚合及任务分配系统将任务分配至各个深度学习单元,而各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中,为单台深度学习服务器内动态配置加载在底层硬件上的模型实例的种类和数量、以及智能化分配算力提供了前提条件。
另外,深度学习虚拟化平台统计业务请求到达的形态和规律,根据业务请求到达的形态和规律,智能预控制整个深度学习服务器集群的状态、以及预设置整个深度学习服务器集群的参数,以应付对该业务请求的形态和规律的预测,且将业务请求下发至深度学习服务器时,进一步明确处理延时的要求和吞吐率的要求,实现了统计业务到达规律并且智能化提前分配算力的效果,也进一步的提高了深度学习虚拟化系统的灵活性和效率。
综上,上述实施例对深度学习算力虚拟化系统的不同构型进行了详细说明,当然,本发明包括但不局限于上述实施中所列举的构型,任何在上述实施例提供的构型基础上进行变换的内容,均属于本发明所保护的范围。本领域技术人员可以根据上述实施例的内容举一反三。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (13)
1.一种深度学习算力虚拟化系统,其特征在于,包括:
深度学习虚拟化平台,被配置为将虚拟化的所有资源进行汇总,根据汇总的资源将业务请求分配至深度学习服务器;以及
深度学习服务器,被配置为通过本地算力聚合及任务分配系统将任务分配至其内部的各个深度学习单元,以使各个深度学习单元能够处理任务;
其中各个深度学习单元的算力被聚合在本地算力聚合及任务分配系统中。
2.如权利要求1所述的深度学习算力虚拟化系统,其特征在于,所述本地算力聚合及任务分配系统包括:
本地模型池,被配置为对接深度学习虚拟化平台的总模型池;
运算任务请求接口,被配置为与深度学习虚拟化平台对接任务和处理结果;
模型管理器,被配置为在底层计算硬件上加载模型实例;
任务调度器,被配置为将运算任务送往底层计算硬件上的模型实例进行计算,以及将运算任务拼成“批”以提高效率;以及
状态采集器,被配置为采集本深度学习服务器的算力总资源、当前算力占用比例、任务处理速度、队列种类及队列等待长度,上报深度学习虚拟化平台。
3.如权利要求2所述的深度学习算力虚拟化系统,其特征在于,所述本地模型池中的模型由深度学习虚拟化平台统一分配管理;
在收到深度学习虚拟化平台传送的深度神经网络模型后,本地模型池将深度神经网络模型的深度学习框架转换为底层硬件可识别格式,以使其能够在本地的深度学习单元上运行。
4.如权利要求2所述的深度学习算力虚拟化系统,其特征在于,所述运算任务请求接口与深度学习虚拟化平台的任务分配相互衔接;
深度学习虚拟化平台将运算业务请求根据各个深度学习服务器的算力资源状态和模型加载情况,转发至具体的某深度学习服务器的运算任务请求接口;
所述运算任务请求接口通过解析来自深度学习虚拟化平台的运算任务请求的帧格式接受运算任务,以进行队列缓存和处理结果的组帧输出。
5.如权利要求2所述的深度学习算力虚拟化系统,其特征在于,所述模型管理器负责根据运算任务请求及队列缓存情况,在底层计算硬件上预加载单个模型实例或多个模型实例,以更高的带宽处理运算任务请求;
在模型实例的加载过程和变动过程中,模型实例与运算任务之间设置软件保护锁。
6.如权利要求1所述的深度学习算力虚拟化系统,其特征在于,所述深度学习虚拟化平台还被配置为:
通过HTTP的方式接受外部用户的业务请求,并通过HTTP的方式将深度学习服务器生成的处理结果提供至外部用户。
7.如权利要求1所述的深度学习算力虚拟化系统,其特征在于,所述深度学习虚拟化平台还被配置为:
将各深度学习服务器内部的可用算力的资源状态实时汇总,以便从深度学习服务器集群的视角来调度资源和分配任务。
8.如权利要求1所述的深度学习算力虚拟化系统,其特征在于,所述深度学习虚拟化平台具备总模型池,其中:
所述总模型池被配置为统一管理各深度神经网络模型;
其中所述深度神经网络模型包括网络结构描述及网络权值参数,以及所述深度神经网络模型采用深度学习框架存放。
9.如权利要求1所述的深度学习算力虚拟化系统,其特征在于,所述深度学习虚拟化平台还被配置为:
统计业务请求到达的形态和规律,根据业务请求到达的形态和规律,智能预控制整个深度学习服务器集群的状态、以及预设置整个深度学习服务器集群的参数,以应付对该业务请求的形态和规律的预测;
将业务请求下发至深度学习服务器时,进一步明确处理延时的要求和吞吐率的要求。
10.如权利要求9所述的深度学习算力虚拟化系统,其特征在于,所述业务请求到达的形态和规律包括:
单流类业务请求,其业务请求以流的形式到达,且单次到达的样本数为1;
多流类业务请求,其业务请求以流的形式到达,且单次到达多个样本;
服务器类业务请求,业务请求随机到达;以及
离线类业务请求,其所有业务请求和样本数据均批量到达;
各类业务请求对运算完成时限的敏感度排序为:单流类业务请求和多流类业务请求大于服务器类业务请求,服务器类业务请求大于离线类业务请求。
11.如权利要求10所述的深度学习算力虚拟化系统,其特征在于,
在单流类业务请求和多流类业务请求的应用场景下,深度学习虚拟化平台根据预先的业务设定情况,使得各深度学习服务器的调度按照既定策略进行静态分配,定期跟踪业务设定情况的变化;
预先的业务设定情况包括:各业务请求到达的间隔时间,预期需要完成业务请求的时限要求,单次到达的样本数量,以及需加载的模型实例种类;
所述既定策略包括:根据业务设定情况,一次性将所需的计算资源静态分配给各业务请求使用,并定时跟踪计算资源的耗用情况及运算完成的时限情况。如果出现业务未按照规律抵达或计算资源耗用异常,则作为故障上报。
12.如权利要求10所述的深度学习算力虚拟化系统,其特征在于,在服务器类业务请求的应用场景下,实时统计业务到达的具体情况、以及待处理任务的队列长度,得到业务到达规律的统计结果;
根据对业务到达规律的统计结果在底层计算硬件上采用动态方式加载模型实例,以加强并行处理能力,减少队列等候时间,以最经济的方式分配计算资源,同时使已分配的计算资源利用率最大化;
当针对某模型实例的计算请求等候队列的任务数量大于第一阈值且持续时间超出第二阈值,则从底层计算硬件上多加载1个模型实例,若任务数量持续大于第一阈值,则继续加载模型实例,直至恢复到正常业务吞吐水平;
当针对某模型实例的计算请求等候队列的任务数量小于第三阈值且持续时间超出第四阈值,则从底层计算硬件上释放1个模型实例,若任务数量持续小于第三阈值,则逐步减少模型实例,直至在正常业务吞吐水平下计算资源利用率达到预设水平。
13.如权利要求10所述的深度学习算力虚拟化系统,其特征在于,
在离线类业务请求的应用场景下,若预期的处理时间通过人为预订,则根据预期的处理时间和此刻计算资源的可用程度,一次性并行加载指定数量的模型实例,同时结合“批”加快运算处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962779.5A CN113656150A (zh) | 2021-08-20 | 2021-08-20 | 深度学习算力虚拟化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962779.5A CN113656150A (zh) | 2021-08-20 | 2021-08-20 | 深度学习算力虚拟化系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656150A true CN113656150A (zh) | 2021-11-16 |
Family
ID=78480626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110962779.5A Pending CN113656150A (zh) | 2021-08-20 | 2021-08-20 | 深度学习算力虚拟化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656150A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116208492A (zh) * | 2021-11-30 | 2023-06-02 | 维沃软件技术有限公司 | 信息交互方法、装置及通信设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089505A1 (en) * | 2013-09-26 | 2015-03-26 | Infosys Limited | Systems and methods for fault tolerant batch processing in a virtual environment |
CN109522089A (zh) * | 2018-11-02 | 2019-03-26 | 成都三零凯天通信实业有限公司 | 基于虚拟化环境的分布式视图像识别方法 |
CN110704186A (zh) * | 2019-09-25 | 2020-01-17 | 国家计算机网络与信息安全管理中心 | 基于混合分布架构的计算资源分配方法、装置和存储介质 |
CN111158790A (zh) * | 2019-12-31 | 2020-05-15 | 清华大学 | 面向云端深度学习推理的fpga虚拟化方法 |
CN112860402A (zh) * | 2021-02-20 | 2021-05-28 | 中南大学 | 一种深度学习推理服务的动态批处理任务调度方法及系统 |
-
2021
- 2021-08-20 CN CN202110962779.5A patent/CN113656150A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089505A1 (en) * | 2013-09-26 | 2015-03-26 | Infosys Limited | Systems and methods for fault tolerant batch processing in a virtual environment |
CN109522089A (zh) * | 2018-11-02 | 2019-03-26 | 成都三零凯天通信实业有限公司 | 基于虚拟化环境的分布式视图像识别方法 |
CN110704186A (zh) * | 2019-09-25 | 2020-01-17 | 国家计算机网络与信息安全管理中心 | 基于混合分布架构的计算资源分配方法、装置和存储介质 |
CN111158790A (zh) * | 2019-12-31 | 2020-05-15 | 清华大学 | 面向云端深度学习推理的fpga虚拟化方法 |
CN112860402A (zh) * | 2021-02-20 | 2021-05-28 | 中南大学 | 一种深度学习推理服务的动态批处理任务调度方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116208492A (zh) * | 2021-11-30 | 2023-06-02 | 维沃软件技术有限公司 | 信息交互方法、装置及通信设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
Li et al. | SSLB: self-similarity-based load balancing for large-scale fog computing | |
US8812639B2 (en) | Job managing device, job managing method and job managing program | |
US9712448B2 (en) | Proxy server, hierarchical network system, and distributed workload management method | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
CN105141541A (zh) | 一种基于任务的动态负载均衡调度方法及装置 | |
CN109783225B (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN107977271B (zh) | 一种数据中心综合管理系统负载均衡方法 | |
Ivanisenko et al. | Survey of major load balancing algorithms in distributed system | |
CN112888005B (zh) | 一种面向mec的分布式业务调度方法 | |
Liu et al. | A queuing model considering resources sharing for cloud service performance | |
CN111835849B (zh) | 增强接入网服务能力的方法和装置 | |
Rashmi et al. | Enhanced load balancing approach to avoid deadlocks in cloud | |
CN112714164A (zh) | 一种物联网系统及其任务调度方法 | |
Hu et al. | Job scheduling without prior information in big data processing systems | |
Li et al. | Dynamic load balancing algorithm based on FCFS | |
CN109614228B (zh) | 基于动态负载均衡方式的综合监控前置系统及工作方法 | |
CN113656150A (zh) | 深度学习算力虚拟化系统 | |
CN117076133B (zh) | 云游戏平台异构资源分配方法、计算机装置及存储介质 | |
Ramana et al. | A multi-class load balancing algorithm (MCLB) for heterogeneous web cluster | |
CN114666283B (zh) | 一种应用感知的多租户Coflow调度方法和系统 | |
CN113656151A (zh) | 深度学习算力虚拟化方法 | |
Wu et al. | An adaptive weighted least-load balancing algorithm based on server cluster | |
Patel et al. | An improved approach for load balancing among heterogeneous resources in computational grids |
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 |