CN113867882B - 容器资源调度方法和装置、计算机可读存储介质 - Google Patents
容器资源调度方法和装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113867882B CN113867882B CN202010611255.7A CN202010611255A CN113867882B CN 113867882 B CN113867882 B CN 113867882B CN 202010611255 A CN202010611255 A CN 202010611255A CN 113867882 B CN113867882 B CN 113867882B
- Authority
- CN
- China
- Prior art keywords
- computing
- computing device
- algorithm
- calculation
- force
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 210
- 238000012360 testing method Methods 0.000 claims abstract description 194
- 238000004364 calculation method Methods 0.000 claims abstract description 188
- 230000015654 memory Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 10
- 238000013142 basic testing Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000013468 resource allocation Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
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/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/505—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 load
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本公开涉及一种容器资源调度方法和装置、计算机可读存储介质。该容器资源调度方法包括:采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试;根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力;接收指定计算任务所属的算法类型、计算数据量和算法复杂度;将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力;根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。本公开可以实现多类型计算任务在异构新型计算资源上的归一化调度。
Description
技术领域
本公开涉及云计算领域,特别涉及一种容器资源调度方法和装置、计算机可读存储介质。
背景技术
为了满足不断攀升的数据处理需求,未来的系统需在运算能力上进行改善。传统解决方案(如x86处理器)再也无法以高效率、低成本的方式提供所需运算带宽,因此系统设计人员须寻找新的运算平台。越来越多系统将FPGA(Field Programmable Gate Array,可编程门阵列)和GPU(Graphics Processing Unit,图形处理器或绘图处理器)视为能够满足未来需求的运算平台。那么作为主流的应用承载方式容器系统要如何将新型运算平台资源合理的分配给容器计算任务使用,目前还未有成熟的解决方案。
发明内容
发明人通过研究发现:相关技术容器集群系统对新型计算资源GPU设备调度中存在的不足,主要存在以下问题:
1)关于新型计算资源GPU相关技术容器资源分配技术无法衡量不同计算资源的算力。
2)不同厂家不同型号的GPU实现资源切片的方式是不同的,相关技术容器资源分配技术无法实现不同厂家、不同型号的计算设备虚拟化切片算力归一化。
3)不同计算任务对资源类型的需求是不同的,相关技术无法将容器计算任务调度到合适的新型计算资源上。
鉴于以上技术问题中的至少一项,本公开提供了一种容器资源调度方法和装置、计算机可读存储介质,可以实现多类型计算任务在异构新型计算资源上的归一化调度。
根据本公开的一个方面,提供一种容器资源调度方法,包括:
采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试;
根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力;
接收指定计算任务所属的算法类型、计算数据量和算法复杂度;
将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力;
根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
在本公开的一些实施例中,所述容器资源调度方法还包括:
建立基准测试算法集,进行基准测试库初始化。
在本公开的一些实施例中,所述容器资源调度方法还包括:
从容器集群获取容器节点上的计算设备信息;
在容器节点上的计算设备类型更新的情况下,向系统注册相应更新设备,并进行计算设备的算力换算。
在本公开的一些实施例中,所述对所有类型计算设备进行基准测试包括:
对容器资源池中所有类型计算设备运行基准测试压测;
在计算设备的一项性能指标出现瓶颈的情况下,输出基准测试的测试数据量作为基准测试结果。
在本公开的一些实施例中,所述根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力包括:
根据基准测试结果和基准测试算法复杂度换算计算设备算力,其其中,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识;
根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,所述根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上包括:
根据计算任务的计算数据量和算法复杂度确定计算任务的所需算力;
选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度;
根据计算任务的所需算力确定目标计算设备的需分配切片数量,将计算任务调度到目标计算设备的需分配切片数量的资源上。
在本公开的一些实施例中,所述选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度包括:
根据计算设备的已占用切片数与匹配算法的最小单元算力的乘积确定每种计算设备的已占用算力;
根据每种计算设备的已占用算力的比值确定每种计算设备的算力负载;
选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
在本公开的一些实施例中,所述根据计算任务的所需算力确定目标计算设备的需分配切片数量包括:
根据计算任务的所需算力、目标计算设备算力和目标计算设备的虚拟切片数确定目标计算设备的需分配切片数量。
在本公开的一些实施例中,所述容器资源调度方法还包括:
在调度完成后,更新目标计算设备的剩余切片数。
根据本公开的另一方面,提供一种容器资源调度装置,包括:
基站测试模块,用于采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试;
算力换算模块,用于根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力;
资源申请模块,用于接收指定计算任务所属的算法类型、计算数据量和算法复杂度;
资源调度模块,用于将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力;根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
在本公开的一些实施例中,所述容器资源调度装置用于执行实现如上述任一实施例所述的容器资源调度方法的操作。
根据本公开的另一方面,提供一种容器资源调度装置,包括存储器和处理器,其中:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述容器资源调度装置执行实现如上述任一实施例所述的容器资源调度方法的操作。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的容器资源调度方法。
本公开可以实现多类型计算任务在异构新型计算资源上的归一化调度。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开容器资源调度方法一些实施例的示意图。
图2为本公开容器资源调度方法另一些实施例的示意图。
图3为本公开容器资源调度装置一些实施例的示意图。
图4为本公开容器资源调度装置另一些实施例的示意图。
图5为本公开容器资源调度装置又一些实施例的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
发明人通过研究发现:关于计算任务的计算量:计算任务所需的设备资源与其的计算量有关,而计算量与算法的复杂度成比例关系,描述算法复杂度的参数为算法的输入数据规模,通常用n来表示,那么算法的复杂度可表示为一个关于n的函数,衡量算法开销通常使用O()运算符来表示,可以假设计算任务的计算数据规模为ni,则计算任务的算法复杂度为量为O(n),计算量为O(ni)。
关于GPU多维性能指标:GPU的主要性能参数有显存容量、显存带宽、张量核心、浮点计算能力FLOPS(floating-point operations persecond,每秒所执行的浮点运算次数),在GPU众多性能参数中,对不同的计算任务不同性能参数的重要程度也不同,即不同性能参数在不同计算任务下有不同的权重。例如卷积神经网络算法对张量核心、浮点计算能力的要求比其他性能指标要求更高。所以计算任务类型对性能指标有要求,如何评定计算任务类型和各设备性能的权重,也需要解决此问题。
主流的容器编排系统通过统一的设备插件方式支持像GPU,FPGA等硬件加速设备,但是目前对这些设备资源分配存在以下问题:
1)关于容器的新型计算资源GPU,每种计算资源又有多个厂家、多种型号的产品,不同厂家、不同型号的计算资源算力差异较大,容器系统没有统一的机制对其算力进行度量。
2)GPU性能指标有多种,现有技术没有考虑计算任务的算法类型、计算规模等因素而引起的对资源不同需求。
3)不同计算设备的虚拟化实现方式是不同的,以GPU为例,AMD的采用SR-IOV(Single-root I/O virtualization,单根I/O虚拟化)技术、Intel的采用KVMGT技术、Nvidia的采用GRID技术,不同厂家不同型号的GPU实现资源切片的方式是不同的,相关技术服务解决如何通过基准测试衡量设备算力以及如何将计算任务调度到合适的新型计算资源上的技术问题。
鉴于以上技术问题中的至少一项,本公开提供了一种容器资源调度方法和装置、计算机可读存储介质,下面通过具体实施例对本公开进行说明。
图1为本公开容器资源调度方法一些实施例的示意图。优选的,本实施例可由本公开容器资源调度装置执行。该方法可以包括步骤11-步骤15,其中:
步骤11,采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试。
在本公开的一些实施例中,所有类型计算设备可以为容器资源池中GPU或FPGA等计算设备。
在本公开的一些实施例中,步骤11中,所述对所有类型计算设备进行基准测试的步骤可以包括:对容器资源池中搜索有计算设备运行基准测试压测,其中,所述基准测试压测是一种固定参数、可变输入数据量的压测。
在本公开的一些实施例中,对容器资源池中搜索有计算设备运行基准测试压测可以包括:对每一计算设备S进行基准测试Tj压测直到GPU某一性能指标(例如:显存容量、显存带宽、张量核心、FLOPS中其中一种)出现瓶颈,输出基准测试的测试数据量nj作为基准测试结果。由于每种性能指标对每类算法的重要程度不同,产生瓶颈的指标也不尽相同。
步骤12,根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,步骤12可以包括:根据基准测试结果和基准测试算法复杂度换算计算设备算力,其中,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识;根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
步骤13,接收指定计算任务所属的算法类型、计算数据量和算法复杂度。
步骤14,将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力。
步骤15,根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
在本公开的一些实施例中,步骤15可以包括步骤151-步骤153,其中:
步骤151,根据计算任务的计算数据量和算法复杂度确定计算任务的所需算力。
步骤152,选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
在本公开的一些实施例中,步骤152可以包括:根据计算设备的已占用切片数与匹配算法的最小单元算力的乘积确定每种计算设备的已占用算力;根据每种计算设备的已占用算力的比值确定每种计算设备的算力负载;选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
步骤153,根据计算任务的所需算力确定目标计算设备的需分配切片数量,将计算任务调度到目标计算设备的需分配切片数量的资源上。
在本公开的一些实施例中,步骤153中,所述根据计算任务的所需算力确定目标计算设备的需分配切片数量的步骤可以包括:根据计算任务的所需算力、目标计算设备算力和目标计算设备的虚拟切片数确定目标计算设备的需分配切片数量。
发明人通过研究发现:由于算法资源用量与算法计算量成比例关系,因此本公开上述实施例的计算量可通过算法的复杂度和计算数据量衡量。
基于本公开上述实施例提供的容器资源调度方法,采用算法复杂度分析结合“事后统计法”即测试的方式衡量算法复杂度与资源的关系,从而可以推算与所需资源的关系,可以实现对多类型计算任务在异构新型计算资源上的归一化调度。
本公开上述实施例可以实现新型计算资源GPU针对不同算法类型的算力评估,并进行归一化调度。
本公开上述实施例通过结合计算任务的算法类型、数据规模、算法复杂度对换算算法任务的资源需求,可以评估不同类型计算任务的算力需求
本公开上述实施例可以实现不同类型的计算任务资源合理分配。
图2为本公开容器资源调度方法另一些实施例的示意图。优选的,本实施例可由本公开容器资源调度装置执行。图2实施例的方法可以包括步骤100(资源算力换算流程)和步骤200(资源分配流程),其中:
步骤100,资源算力换算流程。
在本公开的一些实施例中,如图2所示,步骤100(资源算力换算流程)可以包括步骤110-步骤140,其中:
步骤110,基准测试库初始化。
在本公开的一些实施例中,步骤110可以包括:建立某一计算领域的基准测试算法集,进行基准测试库初始化,其中,初始化过程是对基准测试工具的下载、安装、数据初始化的过程。
在本公开的一些实施例中,基准测试算法集可以包括某一计算领域(例如深度学习或云计算领域)内的每种主流计算架构中的一种实现算法(如CNN-benchmarks,即CNN-基准测试程序等),其中,主流计算架构包括CNN(Convolutional Neural Networks,卷积神经网络)、RNN(Recurrent Neural Networks,循环神经网络)、FT(Flexible Transmitter,新型神经元模型)、DNN(Deep Neural Networks,深度神经网络)等计算架构。
步骤120,资源注册。
在本公开的一些实施例中,步骤120可以包括:从容器集群获取容器节点上的计算设备信息;在容器节点上的计算设备类型更新的情况下,向系统注册相应更新设备,并进行计算设备的算力换算。
在本公开的一些实施例中,容器节点上的计算设备信息可以包括厂家A的GPU、厂家B的GPU以及产家C的FPGA。
在本公开的一些实施例中,计算设备类型可以为容器资源池中GPU或FPGA等类型。
在本公开的一些实施例中,步骤120可以包括:容器集群在纳管容器节点的情况下,获取容器节点上的计算设备信息,并对不同类型GPU资源启动算力换算流程,当容器节点上的计算设备类型更新时,将向系统注册相应更新设备,并启动算力换算流程。
步骤130,运行基准测试。
在本公开的一些实施例中,步骤130可以包括:对容器资源池中搜索有计算设备运行基准测试压测,其中,所述基准测试压测是一种固定参数、可变输入数据量的压测。
在本公开的一些实施例中,步骤130中的基准测试可以包括CNN基准测试、BERT(Bidirectional Encoder Representations from Transformers,来自变压器的双向编码器表示)基准测试、BiLSTM(Bi-directional Long Short-Term Memory,双向长短期记忆网络)基准测试等测试中的至少一项。
在本公开的一些实施例中,步骤130可以包括:对每一计算设备S进行基准测试Tj压测直到GPU某一性能指标(例如:显存容量、显存带宽、张量核心、FLOPS等性能指标中的一种)出现瓶颈,输出基准测试的测试数据量nj作为基准测试结果。由于每种性能指标对每类算法的重要程度不同,产生瓶颈的指标也不尽相同。
步骤140,算力换算。
在本公开的一些实施例中,步骤140可以包括:根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,步骤140可以包括:根据基准测试结果和基准测试算法复杂度换算计算设备算力,其中,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识;根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,步骤140可以包括:存储、更新目标设备资源每种基准测试的信息,其中,一条记录可以包括基准测试类型、算法复杂度O(n)、压测数据量、计算设备(例如GPU)标签和计算设备最大可切片数;换算最小单元算力并存储。
在本公开的一些实施例中,步骤140可以包括:根据公式(1)设备S的基准测试Tj所对应的最小单元算力Rj。
Rj=O(nj)/Ns (1)
公式(1)中,Ns为设备S最多可虚拟的切片数,nj为计算数据量,O(nj)为Tj基准测试计算量。
表1为本公开一些实施例中资源算力换算流程后的目标设备资源基准测试信息表。
表1
步骤200,资源分配流程。
在本公开的一些实施例中,资源分配流程的前提条件为:容器编排系统已实现GPU对接,例如Kubernetes(是一个开源的,用于管理云平台中多个主机上的容器化的应用)容器编排系统已基于Device Plugin设备插件API(Application Programming Interface,应用程序接口)实现GPU资源对接,实现GPU资源管理和调度;多个容器可同时并行使用一个GPU,并且提供资源限制(limits)保证QOS(Quality of Service,服务质量)。整个GPU的资源可以按照某种虚拟化的方式分割成若干分,例如在CUDA(Compute Unified DeviceArchitecture,统一计算设备架构)MPS(Multi-process Service,多进程服务)技术中将整个GPU分割成若干threads(切片)。
在本公开的一些实施例中,如图2所示,步骤200(资源分配流程)可以包括步骤210-步骤230,其中:
步骤210,容器申请分配资源。
在本公开的一些实施例中,步骤210可以包括:在计算任务是经典计算架构的某一算法实现的情况下,在部署容器计算任务时,向资源调度装置申请资源,其中,申请参数包含算法类型、计算数据类型、算法复杂度O(n)、数据量n等参数。
步骤220,根据算力需求进行调度。
在本公开的一些实施例中,步骤220可以包括:将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力;根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
在本公开的一些实施例中,步骤220可以包括:资源调度模块根据算力需求进行调度,通过selectors选择器选择命中节点上的命中GPU等计算设备,调度limits单位GPU,limits=p/n(n为命中GPU最多可分切片,p为换算得所需切片),limits=1代表调度整块GPU。
在本公开的一些实施例中,步骤220可以包括步骤221-步骤224,其中:
步骤221,根据算法复杂度和计算数据量换算计算任务的所需算力O(ni)。
步骤222,匹配计算任务的类型与基础测试集中的算法类型,具体地,计算任务和基准测试的算法同属一种计算架构并且计算数据类型相同即可匹配,假设匹配到基准测试K算法(即匹配算法)。
步骤223,选择剩余算力大于预定值(即剩余算力充足)且负载最小的节点设备进行调度,其中,算力负载=已占用算力/初始算力,已占用算力=已占用切片数*K算法的最小单元算力。
步骤224,根据公式(2)确定换算需分配的虚拟切片数量p,将计算任务调度到目标计算设备的需分配切片数量p的资源上。
公式(2)中,O(ni)为计算任务的所需算力,O(nk)为目标计算设备K算法的设备算力,Nk为目标设备的最多可虚拟切片数,为向上取整函数。
本公开上述实施例以最小单元算力为调度单位,避免资源碎片化。
步骤230,调度完成后,更新节点的剩余切片数。
本公开上述实施例提出一种基于资源算力的容器资源调度方法,通过预先构建的算力基准测试模型,对容器资源池中所有厂家、型号的GPU计算资源进行基准测试,即利用算法集分别对GPU进行压测,算法集由每种主流计算架构中的一种实现算法组成,直到GPU中某种性能指标(显存容量、显存带宽、张量核心、FLOPS中其中一种)达到瓶颈,分别得到各算法的计算数据量;根据基准测试算法复杂度和计算数据量换算设备算力;再根据每种GPU虚拟切片数换算其最小单元算力。
本公开上述实施例在资源分配时,由于同种计算架构的算法对GPU各性能需求特征相似,可套用统一算力模型,查询计算任务匹配的基准测试算法的单位算力,再根据计算任务的算法复杂度和计算数据量换算所需算力,通过资源单位算力和所需算力换算所需的资源切片数,从而可以将计算任务调度到合适的资源设备上。
图3为本公开容器资源调度装置一些实施例的示意图。如图3所示,本公开容器资源调度装置可以包括基站测试模块31、算力换算模块32、资源申请模块33和资源调度模块34,其中:
基站测试模块31,用于采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试。
在本公开的一些实施例中,基站测试模块31可以用于采用基准测试算法集中每种基准测试算法,对容器资源池中所有类型计算设备运行基准测试压测;在计算设备的一项性能指标出现瓶颈的情况下,输出基准测试的测试数据量作为基准测试结果。
在本公开的一些实施例中,基站测试模块31是用一个算法集按照统一的测试规范评估和量化目标系统的硬件性能的模块,本公开上述实施例的基准测试算法集由每种主流计算架构中的一种实现算法组成,该模块进行基础测试初始化,并实施基准测试,测试结果输出到算力换算模块。
在本公开的一些实施例中,基站测试模块31可以用于对容器资源池中搜索有计算设备运行基准测试压测,其中,所述基准测试压测是一种固定参数、可变输入数据量的压测。
在本公开的一些实施例中,基站测试模块31中的基准测试可以包括CNN基准测试、BERT基准测试、BiLSTM基准测试等测试中的至少一项。
在本公开的一些实施例中,基站测试模块31可以用于对每一计算设备S进行基准测试Tj压测直到GPU某一性能指标(例如:显存容量、显存带宽、张量核心、FLOPS等性能指标中的一种)出现瓶颈,输出基准测试的测试数据量nj作为基准测试结果。由于每种性能指标对每类算法的重要程度不同,产生瓶颈的指标也不尽相同。
算力换算模块32,用于根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,算力换算模块32可以用于存储、更新各设备类型的基准测试信息及测试结果,其中,一条记录包括基准测试类型、算法复杂度、压测数据量、GPU等计算设备的标签、GPU等计算设备的最大可切片数,根据基准测试结果换算资源最小单元算力(最小切片单元算力),最小单元算力是指计算设备最小规格的虚拟切片算力,与不同设备最多可划分的切片数有关。
在本公开的一些实施例中,算力换算模块32可以用于根据基准测试结果和基准测试算法复杂度换算计算设备算力,其其中,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识;根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力。
在本公开的一些实施例中,算力换算模块32可以用于存储、更新目标设备资源每种基准测试的信息,其中,一条记录可以包括基准测试类型、算法复杂度O(n)、压测数据量、计算设备(例如GPU)标签和计算设备最大可切片数;换算最小单元算力并存储。
在本公开的一些实施例中,算力换算模块32可以用于根据公式(1)设备S的基准测试Tj所对应的最小单元算力Rj。
资源申请模块33,用于接收指定计算任务所属的算法类型、计算数据量和算法复杂度。
在本公开的一些实施例中,资源申请模块33可以用于接收改造后资源申请需指定计算任务所属的算法类型、计算数据量、算法复杂度。
在本公开的一些实施例中,资源申请模块33可以用于在计算任务是经典计算架构的某一算法实现的情况下,在部署容器计算任务时,向资源调度装置申请资源,其中,申请参数包含算法类型、计算数据类型、算法复杂度O(n)、数据量n等参数。
资源调度模块34,用于将计算任务算法与基准测试算法进行匹配,查询该匹配算法的最小单元算力;根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
在本公开的一些实施例中,资源调度模块34可以用于将计算任务算法与基准测试算法进行匹配,查询该匹配算法的算力,根据计算任务申请的需求分配相应资源。
在本公开的一些实施例中,资源调度模块34可以用于根据计算任务的计算数据量和算法复杂度确定计算任务的所需算力;选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度;根据计算任务的所需算力确定目标计算设备的需分配切片数量,将计算任务调度到目标计算设备的需分配切片数量的资源上。
在本公开的一些实施例中,资源调度模块34在选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度的情况下,可以用于根据计算设备的已占用切片数与匹配算法的最小单元算力的乘积确定每种计算设备的已占用算力;根据每种计算设备的已占用算力的比值确定每种计算设备的算力负载;选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
在本公开的一些实施例中,资源调度模块34在根据计算任务的所需算力确定目标计算设备的需分配切片数量的情况下,可以用于根据计算任务的所需算力、目标计算设备算力和目标计算设备的虚拟切片数确定目标计算设备的需分配切片数量。
在本公开的一些实施例中,资源调度模块34可以用于根据算力需求进行调度,通过selectors选择器选择命中节点上的命中GPU等计算设备,调度limits单位GPU,limits=p/n(n为命中GPU最多可分切片,p为换算得所需切片),limits=1代表调度整块GPU。
在本公开的一些实施例中,资源调度模块34可以用于根据算法复杂度和计算数据量换算计算任务的所需算力O(ni);匹配计算任务的类型与基础测试集中的算法类型,具体地,计算任务和基准测试的算法同属一种计算架构并且计算数据类型相同即可匹配,假设匹配到基准测试K算法(即匹配算法);选择剩余算力大于预定值(即剩余算力充足)且负载最小的节点设备进行调度,其中,算力负载=已占用算力/初始算力,已占用算力=已占用切片数*K算法的最小单元算力;根据公式(2)确定换算需分配的虚拟切片数量p,将计算任务调度到目标计算设备的需分配切片数量p的资源上。
在本公开的一些实施例中,资源调度模块34还可以用于在调度完成后,更新目标计算设备的剩余切片数。
在本公开的一些实施例中,所述容器资源调度装置可以用于执行实现如上述任一实施例(例如图1或图2实施例)所述的容器资源调度方法的操作。
发明人通过研究发现:由于算法资源用量与算法计算量成比例关系,因此本公开上述实施例的计算量可通过算法的复杂度和计算数据量衡量。
基于本公开上述实施例提供的容器资源调度装置,采用算法复杂度分析结合“事后统计法”即测试的方式衡量算法复杂度与资源的关系,从而可以推算与所需资源的关系,可以实现对多类型计算任务在异构新型计算资源上的归一化调度。
图4为本公开容器资源调度装置另一些实施例的示意图。与图3实施例相比,图4实施例的容器资源调度装置还可以包括测试库初始化模块35和设备注册模块36,其中:
测试库初始化模块35,用于建立基准测试算法集,进行基准测试库初始化。
在本公开的一些实施例中,测试库初始化模块35可以用于建立某一计算领域的基准测试算法集,进行基准测试库初始化,其中,初始化过程是对基准测试工具的下载、安装、数据初始化的过程。
在本公开的一些实施例中,基准测试算法集可以包括某一计算领域(例如深度学习或云计算领域)内的每种主流计算架构中的一种实现算法(如CNN-benchmarks,即CNN-基准测试程序等),其中,主流计算架构包括CNN、RNN、FT、DNN等计算架构。
设备注册模块36,用于从容器集群获取容器节点上的计算设备信息;在容器节点上的计算设备类型更新的情况下,向系统注册相应更新设备,并进行计算设备的算力换算。
在本公开的一些实施例中,容器节点上的计算设备信息可以包括厂家A的GPU、厂家B的GPU以及产家C的FPGA。
在本公开的一些实施例中,计算设备类型可以为容器资源池中GPU或FPGA等类型。
在本公开的一些实施例中,设备注册模块36可以用于在容器集群纳管容器节点的情况下,获取容器节点上的计算设备信息,并对不同类型GPU资源启动算力换算流程,当容器节点上的计算设备类型更新时,将向系统注册相应更新设备,并启动算力换算流程。
本公开上述实施例可以实现新型计算资源GPU针对不同算法类型的算力评估,并进行归一化调度。
本公开上述实施例通过结合计算任务的算法类型、数据规模、算法复杂度对换算算法任务的资源需求,可以评估不同类型计算任务的算力需求
本公开上述实施例可以实现不同类型的计算任务资源合理分配。
图5为本公开容器资源调度装置又一些实施例的示意图。如图5所示,本公开容器资源调度装置可以包括存储器51和处理器52,其中:
存储器51,用于存储指令。
处理器52,用于执行所述指令,使得所述容器资源调度装置执行实现如上述任一实施例(例如图1或图2实施例)所述的容器资源调度方法的操作。
本公开上述实施例提出一种基于资源算力的容器资源调度装置,通过预先构建的算力基准测试模型,对容器资源池中所有厂家、型号的GPU计算资源进行基准测试,即利用算法集分别对GPU进行压测,算法集由每种主流计算架构中的一种实现算法组成,直到GPU中某种性能指标(显存容量、显存带宽、张量核心、FLOPS中其中一种)达到瓶颈,分别得到各算法的计算数据量;根据基准测试算法复杂度和计算数据量换算设备算力;再根据每种GPU虚拟切片数换算其最小单元算力。
本公开上述实施例在资源分配时,由于同种计算架构的算法对GPU各性能需求特征相似,可套用统一算力模型,查询计算任务匹配的基准测试算法的单位算力,再根据计算任务的算法复杂度和计算数据量换算所需算力,通过资源单位算力和所需算力换算所需的资源切片数,从而可以将计算任务调度到合适的资源设备上。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图1或图2实施例)所述的容器资源调度方法。
基于本公开上述实施例提供的计算机可读存储介质,采用算法复杂度分析结合“事后统计法”即测试的方式衡量算法复杂度与资源的关系,从而可以推算与所需资源的关系,可以实现对多类型计算任务在异构新型计算资源上的归一化调度。
本公开上述实施例可以实现新型计算资源GPU针对不同算法类型的算力评估,并进行归一化调度。
本公开上述实施例通过结合计算任务的算法类型、数据规模、算法复杂度对换算算法任务的资源需求,可以评估不同类型计算任务的算力需求
本公开上述实施例可以实现不同类型的计算任务资源合理分配。
在上面所描述的容器资源调度装置可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (20)
1.一种容器资源调度方法,其特征在于,包括:
采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试;
根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力,其中,所述根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力包括:根据基准测试结果和基准测试算法复杂度换算计算设备算力,根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力,所述最小单元算力为每个虚拟切片的算力;
接收指定计算任务所属的算法类型、计算数据量和算法复杂度;
将计算任务算法与基准测试算法进行匹配,查询匹配算法的最小单元算力,其中,所述匹配算法为该计算任务算法所匹配的基准测试算法,所述匹配算法的最小单元算力为该匹配算法所换算的每种计算设备的最小单元算力;
根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
2.根据权利要求1所述的容器资源调度方法,其特征在于,还包括:
建立基准测试算法集,进行基准测试库初始化。
3.根据权利要求1所述的容器资源调度方法,其特征在于,还包括:
通过容器集群获取容器节点上的计算设备信息;
在容器节点上的计算设备类型更新的情况下,向系统注册相应更新设备,并进行计算设备的算力换算。
4.根据权利要求1-3中任一项所述的容器资源调度方法,其特征在于,所述对所有类型计算设备进行基准测试包括:
对容器资源池中所有类型计算设备运行基准测试压测;
在计算设备的一项性能指标出现瓶颈的情况下,输出基准测试的测试数据量作为基准测试结果。
5.根据权利要求1-3中任一项所述的容器资源调度方法,其特征在于,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识。
6.根据权利要求1-3中任一项所述的容器资源调度方法,其特征在于,所述根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上包括:
根据计算任务的计算数据量和算法复杂度确定计算任务的所需算力;
选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度;
根据计算任务的所需算力确定目标计算设备的需分配切片数量,将计算任务调度到目标计算设备的需分配切片数量的资源上。
7.根据权利要求6所述的容器资源调度方法,其特征在于,所述选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度包括:
根据计算设备的已占用切片数与匹配算法的最小单元算力的乘积确定每种计算设备的已占用算力;
根据每种计算设备的已占用算力的比值确定每种计算设备的算力负载;
选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
8.根据权利要求6所述的容器资源调度方法,其特征在于,所述根据计算任务的所需算力确定目标计算设备的需分配切片数量包括:
根据计算任务的所需算力、目标计算设备算力和目标计算设备的虚拟切片数确定目标计算设备的需分配切片数量。
9.根据权利要求1-3中任一项所述的容器资源调度方法,其特征在于,还包括:
在调度完成后,更新目标计算设备的剩余切片数。
10.一种容器资源调度装置,其特征在于,包括:
基站测试模块,用于采用基准测试算法集中每种基准测试算法,对所有类型计算设备进行基准测试;
算力换算模块,用于根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力,其中,算力换算模块,用于在根据基准测试结果、基准测试算法复杂度和每种计算设备虚拟切片数换算每种计算设备的最小单元算力的情况下,根据基准测试结果和基准测试算法复杂度换算计算设备算力,根据计算设备算力和每种计算设备虚拟切片数换算每种计算设备的最小单元算力,所述最小单元算力为每个虚拟切片的算力;
资源申请模块,用于接收指定计算任务所属的算法类型、计算数据量和算法复杂度;
资源调度模块,用于将计算任务算法与基准测试算法进行匹配,查询匹配算法的最小单元算力,其中,所述匹配算法为该计算任务算法所匹配的基准测试算法,所述匹配算法的最小单元算力为该匹配算法所换算的每种计算设备的最小单元算力;根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上。
11.根据权利要求10所述的容器资源调度装置,其特征在于,还包括:
测试库初始化模块,用于建立基准测试算法集,进行基准测试库初始化。
12.根据权利要求10所述的容器资源调度装置,其特征在于,还包括:
设备注册模块,用于通过容器集群获取容器节点上的计算设备信息;在容器节点上的计算设备类型更新的情况下,向系统注册相应更新设备,并进行计算设备的算力换算。
13.根据权利要求10-12中任一项所述的容器资源调度装置,其特征在于:
基站测试模块,用于采用基准测试算法集中每种基准测试算法,对容器资源池中所有类型计算设备运行基准测试压测;在计算设备的一项性能指标出现瓶颈的情况下,输出基准测试的测试数据量作为基准测试结果。
14.根据权利要求10-12中任一项所述的容器资源调度装置,其特征在于,基准测试结果包括测试数据量、基准测试类型、压测数据量和计算设备标识。
15.根据权利要求10-12中任一项所述的容器资源调度装置,其特征在于:
资源调度模块,在根据匹配算法的最小单元算力、计算任务的计算数据量和算法复杂度,将计算任务调度到合适的资源设备上的情况下,用于根据计算任务的计算数据量和算法复杂度确定计算任务的所需算力;选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度;根据计算任务的所需算力确定目标计算设备的需分配切片数量,将计算任务调度到目标计算设备的需分配切片数量的资源上。
16.根据权利要求15所述的容器资源调度装置,其特征在于:
资源调度模块,在选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度的情况下,用于根据计算设备的已占用切片数与匹配算法的最小单元算力的乘积确定每种计算设备的已占用算力;根据每种计算设备的已占用算力的比值确定每种计算设备的算力负载;选择剩余算力大于预定值且算力负载最小的计算设备作为目标计算设备进行调度。
17.根据权利要求15所述的容器资源调度装置,其特征在于:
资源调度模块,在根据计算任务的所需算力确定目标计算设备的需分配切片数量的情况下,用于根据计算任务的所需算力、目标计算设备算力和目标计算设备的虚拟切片数确定目标计算设备的需分配切片数量。
18.根据权利要求10-12中任一项所述的容器资源调度装置,其特征在于:
资源调度模块,还用于在调度完成后,更新目标计算设备的剩余切片数。
19.一种容器资源调度装置,其特征在于,包括存储器和处理器,其中:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述容器资源调度装置实现如权利要求1-9中任一项所述的容器资源调度方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1-9中任一项所述的容器资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611255.7A CN113867882B (zh) | 2020-06-30 | 2020-06-30 | 容器资源调度方法和装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611255.7A CN113867882B (zh) | 2020-06-30 | 2020-06-30 | 容器资源调度方法和装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867882A CN113867882A (zh) | 2021-12-31 |
CN113867882B true CN113867882B (zh) | 2024-03-15 |
Family
ID=78981178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010611255.7A Active CN113867882B (zh) | 2020-06-30 | 2020-06-30 | 容器资源调度方法和装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867882B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794591B (zh) * | 2023-02-06 | 2023-05-23 | 南方电网数字电网研究院有限公司 | 一种电网it资源的调度方法 |
CN117453424B (zh) * | 2023-12-26 | 2024-04-19 | 北京航空航天大学杭州创新研究院 | 可动态扩展计算资源的加速算法运行效率的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9325585B1 (en) * | 2012-07-10 | 2016-04-26 | The Boeing Company | Mission-driven autonomous and adaptive resource management |
CN105677521A (zh) * | 2015-12-29 | 2016-06-15 | 东南大学—无锡集成电路技术研究所 | 一种面向移动智能终端处理器的基准测试程序合成方法 |
CN109769115A (zh) * | 2019-01-04 | 2019-05-17 | 武汉烽火众智数字技术有限责任公司 | 一种优化智能视频分析性能的方法、装置和设备 |
CN110362392A (zh) * | 2019-07-15 | 2019-10-22 | 深圳乐信软件技术有限公司 | 一种etl任务调度方法、系统、设备及存储介质 |
CN110941481A (zh) * | 2019-10-22 | 2020-03-31 | 华为技术有限公司 | 资源调度方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896064B2 (en) * | 2017-03-27 | 2021-01-19 | International Business Machines Corporation | Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads |
-
2020
- 2020-06-30 CN CN202010611255.7A patent/CN113867882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9325585B1 (en) * | 2012-07-10 | 2016-04-26 | The Boeing Company | Mission-driven autonomous and adaptive resource management |
CN105677521A (zh) * | 2015-12-29 | 2016-06-15 | 东南大学—无锡集成电路技术研究所 | 一种面向移动智能终端处理器的基准测试程序合成方法 |
CN109769115A (zh) * | 2019-01-04 | 2019-05-17 | 武汉烽火众智数字技术有限责任公司 | 一种优化智能视频分析性能的方法、装置和设备 |
CN110362392A (zh) * | 2019-07-15 | 2019-10-22 | 深圳乐信软件技术有限公司 | 一种etl任务调度方法、系统、设备及存储介质 |
CN110941481A (zh) * | 2019-10-22 | 2020-03-31 | 华为技术有限公司 | 资源调度方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113867882A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070117B (zh) | 一种数据处理方法及装置 | |
Wang et al. | Rafiki: Machine learning as an analytics service system | |
WO2022037337A1 (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
Ashari et al. | Fast sparse matrix-vector multiplication on GPUs for graph applications | |
CN106020715B (zh) | 存储池容量管理 | |
US20190171935A1 (en) | Robust gradient weight compression schemes for deep learning applications | |
Li et al. | Automating cloud deployment for deep learning inference of real-time online services | |
CN113867882B (zh) | 容器资源调度方法和装置、计算机可读存储介质 | |
KR102236298B1 (ko) | 빅데이터 기반의 인공지능 통합 플랫폼 시스템 | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
US20210209481A1 (en) | Methods and systems for dynamic service performance prediction using transfer learning | |
CN109842563A (zh) | 内容分发网络流量调度方法、装置和计算机可读存储介质 | |
CN111435463A (zh) | 数据处理方法及相关设备、系统 | |
CN102197600A (zh) | 用于确定信号表示的方法、设备、计算机程序和计算机程序产品 | |
KR20190134983A (ko) | 빅데이터 기반의 인공지능 통합 플랫폼 서비스 방법 | |
CN109871809A (zh) | 一种基于语义网的机器学习流程智能组装方法 | |
CN110413510A (zh) | 一种数据处理方法、装置及设备 | |
CN107360026A (zh) | 分布式消息中间件性能预测与建模方法 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN112200296A (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
US11481682B2 (en) | Dataset management in machine learning | |
US10248462B2 (en) | Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program | |
CN105940636A (zh) | 用于云数据中心分析的技术 | |
Wang et al. | Nexus: Bringing efficient and scalable training to deep learning frameworks | |
CN106909485A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |