CN109857542A - 算力资源调节方法、***及装置 - Google Patents
算力资源调节方法、***及装置 Download PDFInfo
- Publication number
- CN109857542A CN109857542A CN201811536156.6A CN201811536156A CN109857542A CN 109857542 A CN109857542 A CN 109857542A CN 201811536156 A CN201811536156 A CN 201811536156A CN 109857542 A CN109857542 A CN 109857542A
- Authority
- CN
- China
- Prior art keywords
- virtual machines
- logic function
- task
- weight parameter
- interface
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本公开涉及一种算力资源调节方法、***及装置,具体提供了一种算力资源调节方法,包括如下步骤:监控一个或多个虚拟机占用的逻辑功能接口上的负载以得到包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
Description
技术领域
本公开涉及算力资源调节领域,更具体地涉及基于硬件的算法协处理器的算力资源调节方法及实现该方法的装置及***。
背景技术
算法协处理器的基本组成包括对称算法及哈希算法加速组件、非对称算法加速组件、真随机数组件、模块访问控制组件、地址转换及内存管理组件和密钥存储及管理等组件。上述各组件构成的密码模块将完成数据的加密和解密、密钥管理、随机数生成等功能,在大量数据加解密操作时可以有效的降低中央处理单元(CPU)核的处理负荷,同时可实现2级地址转换,并有效地支持虚拟化的需求。算法协处理器的算力资源包括其提供的计算。根据算法协处理器的硬件设计,其单位时间内的算力输出是既定值,这样的算力资源分配对云计算和云加密业务具有重要的意义,如一个签名验签的计算就占用该硬件模块的算力资源。
如何进行算力资源调节是目前需要解决的技术问题之一。
发明内容
本公开提供了一种算力资源调节方法,包括如下步骤:监控一个或多个虚拟机占用的逻辑功能接口上的负载以得到包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
本公开还提供了一种算力资源调节***,包括:一个或多个逻辑功能接口,被一个或多个虚拟机占用;性能控制部件,被配置为对一个或多个虚拟机占用的逻辑功能接口上的负载进行监控以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;权重参数计算部件,被配置为根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;调度接口,被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
本公开还提供了一种算力资源调节装置,包括:监控部件,被配置为监控一个或多个虚拟机占用的逻辑功能接口上的负载以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;计算部件,被配置为根据所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及调度部件,被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
本公开采用硬件对算法协处理器的性能进行监控,并采用虚拟化中间层软件根据监控结果计算权重参数,从而能根据各个虚拟机的状态在各个虚拟机之间动态调节算法协处理器的算力资源分配,因而能减少算法协处理器算力闲置时间,提高算法协处理器的利用率。本公开可以减少现有技术中仅采用软件监控算法协处理器时对CPU资源的占用,同时软件计算权重参数与硬件监控相结合的闭环调节也极大了增强了算法协处理器算力资源调度的灵活性,满足了在多虚拟机多应用场景下的实际需求。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A和图1B分别示出了现有技术中调节算法协处理器的算力资源的两种方式;
图2示出了应用本公开的实施例的应用场景的示意图;
图3示出了根据本公开的实施例的算力资源调节方法的流程图;
图4示出了根据本公开的另一实施例的算力资源调节方法的流程图;
图5示出了根据本公开的实施例的算力资源调节***的框图;
图6示出了根据本公开的实施例的算力资源调节装置的框图。
具体实施方式
以下将详细且清楚地描述本发明构思的实施例,以达到本领域普通技术人员可以容易地实施本发明构思的程度。
算法协处理器可以采用国产密码算法来进行相关的计算。国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,其分别是非对称算法、哈希算法和对称算法。
SM2算法,即SM2椭圆曲线公钥密码算法,是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
SM3算法,即SM3杂凑算法,是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
SM4算法,即SM4分组密码算法,是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
算法协处理器内置于服务器中央处理器***级芯片(System-On-Chip,SoC)之内,随着服务器芯片将广泛应用到以服务器主机为基础物理设施,如云架构的大数据、云服务、数据中心等各个应用场景之中。以最为典型的内容分发网络(Content Delivery Network,CDN)中心为例,采用了华芯通服务器中央处理器芯片的负载均衡节点收到客户端的安全网站连接请求后,将利用其内置的算法协处理器中的密码模块对连接握手过程中的密钥交换进行密码运算的加速以应对高并发的网络连接请求。随着云计算和大数据产业的蓬勃发展、对平台计算性能要求的不断提高、以及对信息安全的持续保障的需求,需要对已有的密码应用进行创新,使之更加适应最新的信息技术和***架构。将国密密码算法加速模块集成到服务器中央处理器SoC芯片内部,使之效用与计算平台紧密链接,形成效率更高、安全性更高的应用新模式。
现代服务器多采用虚拟化技术。虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作***,并且各个操作***内的应用程序可以在相互独立的空间内运行而互不影响,这显著提高了计算机的工作效率。
通过使用虚拟化技术,可以不再受限于物理上的界限,而能够将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,让CPU、内存、磁盘、I/O等硬件资源变成可以动态管理的“资源池”。服务器的虚拟化技术能够提高资源的利用率、简化***管理、实现服务器整合、以及让IT对业务的变化更具适应力。算法协处理器作为在服务器SOC主芯片上非常重要的IO资源,在服务器虚拟化场景中需要被多个虚拟机使用,即需要实现算法协处理器的虚拟化。
虚拟化包含多个层面,目前主流的虚拟化方法可分为软件虚拟化和硬件虚拟化。硬件虚拟化是从底层的硬件平台直接支持软件环境,又称为平台虚拟化;软件虚拟化包括操作***虚拟化,在该虚拟化方法中,在硬件平台之上,存在独立于操作***的虚拟化软件中间层,称为管理器。在软件虚拟化中,管理器创建虚拟化平台,多个操作***实例运行在这个虚拟化平台上,从而使得硬件平台可以被多个操作***和应用共享。通过使用虚拟化技术,可以在一台物理机上产生多台虚拟机,每台虚拟机安装有不同的操作***,它们共享物理机的CPU、内存、IO等硬件资源,但是逻辑上彼此隔离。
因此,算法协处理器作为高性能的算法模块在云计算和云加密业务中有很重要的应用。在目前的一些业务应用中,甚至存在对上十万次每秒的算法签名验签性能的需求,因此只依靠CPU的算力性能是不够的。算法协处理的设计为这一需求提供了可靠的解决方案。在多虚拟机共用算法协处理器的情况下,如何最大限度地充分利用算法协处理器的算力,优化资源配置,从而达到更精确的资源调度是目前面临的问题。
目前,调节算法协处理器的算力资源主要有以下2种方法,参考图1A和图1B所示,其中图1A和图1B分别示出了现有技术中调节算法协处理器的算力资源的两种方式:
第一种由硬件来实现,称为静态配置法,***架构如图1A所示。在由硬件实现的静态配置法中,由硬件模块本身虚拟化出多个同质寄存器接口,分别接入不同的虚拟机。硬件在初始化过程中可设置每个虚拟机占用算法协处理器的算力权重参数,算法协处理器按照该参数为调度为每个虚拟机的工作时间,但在工作过程中无法再次调节每个虚拟机可以占用的算力资源,即无法动态调节算力权重参数。这会导致算力资源无法充分利用,因而该方案不能从整体上提高算法协处理器的利用率。
第二种是由软件来实现,由虚拟化软件中间层管理器软件来监控算法协处理器的IO使用情况,***架构如图1B所示。上层***每进行一次IO读写,管理器软件中的监控软件就会进行一次数据统计,包括对单位时间内数据吞吐量进行统计或对单次命令操作时间进行计时统计。此种方法占用大量的CPU资源,尤其是在完成比较精细化的数据监控时,占用资源更多。且此类软件监控一般只能监控对某个IO端口的读写操作,较难记录较细粒度的业务IO数据使用情况,如一段时间内签名验签服务器的签名操作的性能。对于这种较细粒度的性能监控,需要更大的CPU占用率,且无法在***底层实现精确统计。
本发明人充分认识到对算法协处理器的算力资源进行调节的上述两种调节方法的优缺点,创新地提出了以硬件进行算力资源监控为基础,搭配软件配置的闭环动态调节***,进行算法协处理器的算力资源调节,从而充分利用算法协处理器的算力资源,细粒度上精确控制每种算法模式,提高整体性能。
下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对次序或重要性。
图2示出了应用本公开的实施例的应用场景的示意图。示例应用场景中的算力资源调节***包括硬件部分和软件部分。其中,软件部分包括:管理器(Hypervisor)软件204,以及多个虚拟机201;硬件部分包括:性能控制模块2031,调度接口2032,算法协处理器核心单元2034,以及多个逻辑功能接口2033。
管理器软件204是本***中实现算法协处理器算力调节的软件核心部分,是功能的主要实现单元之一。管理器软件启动后会将逻辑功能接口分配给指定虚拟机,并初始化性能控制模块中的各个权重参数寄存器并写入初始值。因此,在管理器软件启动后,每个虚拟机就会对应一个逻辑功能接口,且性能控制模块中的各个权重参数寄存器会被设定初始值。
如图2中所示,各虚拟机运行在管理器软件层次之上。在虚拟机工作时,会先初始化对应的逻辑功能接口,并配置逻辑功能接口中的命令地址配置寄存器和状态地址配置寄存器,从而配置命令队列和状态队列在内存中的基地址和大小。此外,虚拟机还会初始化逻辑功能接口中的中断寄存器并使能逻辑功能接口,完成初始化。完成初始化后的这些虚拟机直接通过调用逻辑功能接口对算法协处理器进行访问,每个逻辑功能接口在虚拟机看来是一个独立的硬件设备,以此实现功能共享和接口隔离。根据本公开的实施例的管理器软件可以根据每个虚拟机的需求来设定权重参数,同时算法协处理器内部的性能控制模块不断监控和动态管理各参数。
硬件部分中的多个逻辑功能接口2033提供多组相同的硬件配置寄存器,包括中断寄存器、逻辑接口控制寄存器、命令地址配置寄存器、和状态地址配置寄存器。每组寄存器可无差别的分配给不同的虚拟机使用,它们是软件与硬件的交互接口,提供基本的IO操作。软件和硬件的交互方式主要通过命令队列和状态队列的方式进行。软件把要做的任务(譬如签名、验签等)通过命令的形式写在内存特定的位置,硬件将命令通过DMA取回来,并解析执行;硬件对命令的执行结束后,再将执行的结果以状态的形式写回特定的内存地址。其中,如上所述,由虚拟机配置逻辑功能接口中的命令地址配置寄存器和状态地址配置寄存器,从而配置命令队列和状态队列在内存中的基地址。
硬件部分中的调度接口2032是逻辑功能接口2033与算法协处理器核心单元2034之间的桥梁。调度接口从性能控制模块获取各个逻辑功能接口2033对应的权重参数,并根据每个逻辑功能接口2033,即相应虚拟机的权重参数来调节各个虚拟机对应的命令队列中的命令在算法协处理器的核心单元2034中的处理次序。调度接口2032可以对各个命令队列中的命令的处理次序进行调度。在一个实施例中,调度接口2032可以采用加权轮询调度(Weighted Round Robin)方法来对各个命令队列中的命令的处理次序进行调度。可以由调度接口的硬件逻辑来实现加权轮询调度方法,在调度中所使用的权重参数可以从性能监控模块2031中获取。采用加权轮询调度方法来调节处理次序的示例可以为:假设有三个逻辑功能接口,对应的权重参数分别为5、1、1,则调度接口总共会向算法协处理器核心单元发送7次请求,并使得第一个逻辑功能接口被分配5次在算法协处理器核心单元中的处理机会,其他2个依次分别被分配1次。
硬件部分中的性能控制模块提供了一组读写功能的寄存器,供管理器软件进行读写配置。性能控制模块包括:监控使能寄存器、监控状态及结果寄存器、监控时间设定寄存器、监控类型寄存器、与各个逻辑功能接口对应的权重参数设定寄存器。其中监控类型寄存器可指定多种监控业务类型,如SM2签名、验签、加密等类型,或默认情况下可不区分任何类型进行监控。性能控制模块主要与管理器软件层进行交互。
在硬件部分中,算法协处理器核心单元2034是整个硬件模块的功能基础,其承担所有大规模的高速硬件运算,如椭圆曲线上点加或点乘等基本操作。除底层基本运算元操作,它还实现了协议层全硬件加速,其支持的协议包括:SM2加密、解密、签名、验签、SM2密钥交换协议、SM3摘要算法、SM4算法多种模式。
由此,通过上述各个软、硬件模块协作,可以在减少对CPU的占用的情况下根据各个虚拟机的相应负载来分配对应的权重参数,并根据与各个虚拟机的负载相关的权重参数来调节算法协处理器的算力资源,实现了对算法协处理器的算力资源的闭环动态调节过程。通过此软硬件结合的闭环动态调节过程,可以在减少对CPU的占用的情况下根据各个虚拟机的实际任务量来合理而动态地分配算法协处理器的算力资源,从而最大限度地提高算法协处理器的利用率,减少算法协处理器的闲置时间。
图3示出了根据本公开的实施例的算力资源调节方法的流程图。根据本公开的实施例的算力资源调节方法,包括如下步骤:
步骤S301,监控一个或多个虚拟机占用的逻辑功能接口上的负载以得到包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;
步骤S302,根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及
步骤S303,按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
根据本公开的实施例,管理器软件可以设定性能控制模块中的监控时间设定寄存器,并使能监控。性能控制模块被使能监控后开始对一个或多个虚拟机占用的逻辑功能接口上的负载进行监控,从而获得监控结果。监控结果可以包括所设定的监控时间内各个逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个。
监控时间结束后,管理器软件可通过中断或查询方式从性能控制模块获取监控结果。其中,中断方式是当硬件完成预定时间的统计,达到规定的时间时,硬件会自动发送中断给CPU,CPU获取中断后进行进入中断处理程序,并读取硬件寄存器的统计数据。与中断方式不同,查询方式是硬件在规定时间内完成统计后不主动产生中断,而是CPU自动在一段时间内查询硬件是否完成统计。
根据获得的监控结果,管理器软件使用上述N、M、和K的线性函数a*N+b*M+c*k计算该段监控时间内各虚拟机占用算法协处理器的算力资源的实际权重参数,其中a、b、c分别为***调节常量,对每个逻辑功能接口均相同。
在一个实施例中,管理器软件也可以使用上述N、M、和K的非线性函数来计算权重参数。
在又一个实施例中,管理器软件还可以使用上述N、M、和K,使用基于模型的预测方法来计算权重参数,这些模型例如可以是基于概率的计算模型,或者还可以是其他基于机器学习的计算模型。
在计算出权重参数后,管理器软件将计算出的实际权重参数写入性能控制模块的权重参数寄存器,并实时生效,算法协处理器中的调度接口将立即按照新的权重参数对各个虚拟机所对应的未完成的任务进行调度分配。管理器软件可以根据实际需要决定是否再次进行监控。如果继续监控则重复上述步骤,否则结束监控。
在一个实施例中,上述方法中的预定监控时间的最小粒度可以为1ms(1毫秒)的整数倍。例如,可以将预定监控时间设定为1秒,或者1小时,或者为1毫秒的整数倍的其他值。
如此,根据对每个虚拟机的负载的实时监控结果,采用监控结果中反应虚拟机负载大小的相关参数的线性、非线性函数来为每个虚拟机设置与负载相关的权重参数,可以使得每个虚拟机根据其负载不同而被配置不同的权重,进而按照不同的权重来调度这些虚拟机,从而一方面可以使得这些虚拟机的负载得到平衡,另一方面还可以提高算法协处理器的算力资源的利用率,减少算法协处理器的空闲时间。
图4示出了根据本公开的另一实施例的算力资源调节方法的流程图。根据本公开的实施例的算力资源调节方法,包括如下步骤:
步骤S401,监控一个或多个虚拟机占用的逻辑功能接口上的负载以得到包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;
步骤S402,根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及
步骤S403,其中S403包括:S4031,根据计算出的一个或多个虚拟机各自的权重参数来为一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及S4032,采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
当然,步骤S403中的调度方法不限于S4031和S4032,实际上只要能够根据各个虚拟机的(反映了其负载的)不同的权重参数来合理地分配虚拟机的资源的方式都可以实现本公开的技术效果。
根据本公开的上述各个实施例的算力资源调节方法,通过不断监控被各个虚拟机占用的逻辑功能接口上的负载,并根据监控的结果来计算各个虚拟机对应的权重参数,从而根据此权重参数来将算法协处理器的算力资源分配给各个虚拟机,实现了对算法协处理器的算力资源的闭环动态调节过程。通过此闭环动态调节过程,可以根据各个虚拟机的实际任务量来合理而动态地分配算法协处理器的算力资源,从而最大限度地对各个虚拟机的负载进行均衡并提高算法协处理器的利用率,减少算法协处理器的闲置时间。
图5示出了根据本公开的实施例的算力资源调节***的框图。根据本公开的实施例的算力资源调节***包括一个或多个逻辑功能接口501,性能控制部件502,权重参数计算部件503,以及调度接口504。该算力资源调节***中的一个或多个逻辑功能接口501可以被一个或多个虚拟机占用。性能控制部件502可以被配置为对一个或多个虚拟机占用的逻辑功能接口上的负载进行监控以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果。权重参数计算部件503可以被配置为根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量。调度接口504可以被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
根据本公开的上述各个实施例的算力资源调节***,通过使用性能控制部件不断监控被各个虚拟机占用的逻辑功能接口上的负载,权重参数计算部件根据性能控制部件监控的结果来计算各个虚拟机对应的权重参数,调度接口再根据权重参数计算部件计算出的权重参数来将算法协处理器的算力资源分配给各个虚拟机,通过硬件监控结合软件计算权重的软硬件结合方式,实现了对算法协处理器的算力资源的闭环动态调节过程。
在一个实施例中,可以将性能控制部件502进行监控的预定监控时间的最小粒度设定为1毫秒的整数倍。例如,可以将预定监控时间设定为1毫秒、3毫秒、1秒、1小时、或者为1毫秒的整数倍的其他值。
在一个实施例中,调度接口504可以被配置为根据计算出的一个或多个虚拟机各自的权重参数来为一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
如此,对权重参数更大的虚拟机分配更多的任务处理次数,可以使得负载过高的虚拟机被分配更多的算力资源,从而对各个虚拟机的负载进行均衡,并同时也可以最大限度地提高算法协处理器的算力资源的利用率以及减少算法协处理器的闲置时间。
当然,调度接口504实现的调度方法不限于此,实际上只要能够根据各个虚拟机的(反映了其负载的)不同的权重参数来合理地分配虚拟机的资源的方式都可以实现本公开的技术效果。
根据本公开的实施例的算力资源调节***能够克服现有技术中硬件调节方式无法动态配置权重参数的缺点、以及软件调节方式中采用软件进行监控时对CPU的占用过高的缺点。根据本公开实施例的硬件监控结合软件计算权重参数的闭环动态调节过程,通过使用硬件监控可以有效降低对CPU的占用,而且还可以根据各个虚拟机的实际任务量来合理而动态地分配算法协处理器的算力资源,从而最大限度地对多个虚拟机的负载进行均衡并提高算法协处理器的利用率,减少算法协处理器的闲置时间。
图6示出了根据本公开的实施例的算力资源调节装置的框图。根据本公开的算力资源调节装置600包括:监控部件601、计算部件602、以及调度部件603。监控部件601被配置为监控一个或多个虚拟机占用的逻辑功能接口上的负载以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果。计算部件602被配置为根据所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量。调度部件603被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
在一个实施例中,可以将监控部件601进行监控的预定监控时间的最小粒度设定为1毫秒的整数倍。例如,可以将预定监控时间设定为1毫秒、3毫秒、1秒、1小时、或者为1毫秒的整数倍的其他值。
在一个实施例中,调度部件603可以被配置为根据计算出的一个或多个虚拟机各自的权重参数来为一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
如此,对权重参数更大的虚拟机分配更多的任务处理次数,可以使得负载过高的虚拟机被分配更多的算力资源,从而对各个虚拟机的负载进行均衡,并同时也可以最大限度地提高算法协处理器的算力资源的利用率以及减少算法协处理器的闲置时间。
当然,调度部件603实现的调度方法不限于此,实际上只要能够根据各个虚拟机的(反映了其负载的)不同的权重参数来合理地分配虚拟机的资源的方式都可以实现本公开的技术效果。
根据本公开的实施例的算力资源调节装置能够克服现有技术中硬件调节方式无法动态配置权重参数的缺点、以及软件调节方式中采用软件进行监控时对CPU的占用过高的缺点。根据本公开实施例的硬件监控结合软件计算权重参数的闭环动态调节过程,通过使用硬件监控可以有效降低对CPU的占用,而且还可以根据各个虚拟机的实际任务量来合理而动态地分配算法协处理器的算力资源,从而最大限度地对多个虚拟机的负载进行均衡并提高算法协处理器的利用率,减少算法协处理器的闲置时间。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的算力资源调节方法、***、和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第三等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所附权利要求及其等同物的保护范围为准。
Claims (9)
1.一种算力资源调节方法,包括如下步骤:
监控一个或多个虚拟机占用的逻辑功能接口上的负载以得到包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;
根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及
按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
2.如权利要求1所述的方法,其中所述预定监控时间的最小粒度为1ms的整数倍。
3.如权利要求1所述的方法,其中,按照所述权重参数来调度为所述一个或多个虚拟机分配的相应的任务的步骤包括:
根据计算出的所述一个或多个虚拟机各自的权重参数来为所述一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及
采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
4.一种算力资源调节***,包括:
一个或多个逻辑功能接口,被一个或多个虚拟机占用;
性能控制部件,被配置为对一个或多个虚拟机占用的逻辑功能接口上的负载进行监控以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;
权重参数计算部件,被配置为根据监控结果中包括的所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;
调度接口,被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
5.如权利要求4所述的***,其中所述预定监控时间的最小粒度为1ms的整数倍。
6.如权利要求4所述的***,其中,所述调度接口被配置为:
根据计算出的所述一个或多个虚拟机各自的权重参数来为所述一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及
采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
7.一种算力资源调节装置,包括:
监控部件,被配置为监控一个或多个虚拟机占用的逻辑功能接口上的负载以获得包括在预定监控时间内所述逻辑功能接口所处理的命令的数量N、所处理的实际数据量M、以及单次命令操作时间K中的至少一个的监控结果;
计算部件,被配置为根据所述N、M、和K的线性函数a*N+b*M+c*k、所述N、M、和K的非线性函数中的一种来计算一个或多个虚拟机的相应的权重参数,其中a、b、c为***调节常量;以及
调度部件,被配置为按照所述权重参数来调度为所述一个或多个虚拟机占用的逻辑功能接口分配的相应的任务。
8.如权利要求7所述的装置,其中所述预定监控时间的最小粒度为1ms的整数倍。
9.如权利要求7所述的装置,其中,所述调度部件被配置为:
根据计算出的所述一个或多个虚拟机各自的权重参数来为所述一个或多个虚拟机分配与权重参数成正比的任务处理次数;以及
采用轮询的方式使得所述一个或多个虚拟机的任务被处理的次数达到所述任务处理次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536156.6A CN109857542B (zh) | 2018-12-14 | 2018-12-14 | 算力资源调节方法、***及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536156.6A CN109857542B (zh) | 2018-12-14 | 2018-12-14 | 算力资源调节方法、***及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857542A true CN109857542A (zh) | 2019-06-07 |
CN109857542B CN109857542B (zh) | 2021-01-29 |
Family
ID=66891371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811536156.6A Active CN109857542B (zh) | 2018-12-14 | 2018-12-14 | 算力资源调节方法、***及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857542B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995614A (zh) * | 2019-11-05 | 2020-04-10 | 华为技术有限公司 | 一种算力资源分配的方法及装置 |
CN111190733A (zh) * | 2019-12-27 | 2020-05-22 | 华为技术有限公司 | 用于进行rsa计算的计算资源调度方法及装置 |
CN112765610A (zh) * | 2019-08-30 | 2021-05-07 | 创新先进技术有限公司 | 交易调度方法及装置 |
CN113535386A (zh) * | 2021-06-23 | 2021-10-22 | 河北中兴冀能电力发展有限公司 | 一种应用于电力仪器设备的板间多运算芯片资源监控*** |
CN113641468A (zh) * | 2021-06-23 | 2021-11-12 | 河北中兴冀能电力发展有限公司 | 一种应用于电力仪器设备的板间多运算芯片算力平衡*** |
CN113778666A (zh) * | 2021-08-13 | 2021-12-10 | 济南浪潮数据技术有限公司 | 一种监控设备所需资源的动态分配方法、装置及介质 |
CN114115789A (zh) * | 2021-10-20 | 2022-03-01 | 北京百度网讯科技有限公司 | 芯片插件化实现方法、装置、电子设备及存储介质 |
CN114760313A (zh) * | 2020-12-29 | 2022-07-15 | 中国联合网络通信集团有限公司 | 业务调度方法和业务调度装置 |
CN115795522A (zh) * | 2023-02-09 | 2023-03-14 | 广州万协通信息技术有限公司 | 多核并发的高速密码引擎数据处理方法及装置 |
WO2023230909A1 (zh) * | 2022-05-31 | 2023-12-07 | 华为技术有限公司 | 调度方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145364A1 (en) * | 2011-12-01 | 2013-06-06 | Tunghai University | Method of dynamic resource allocation for a virtual machine cluster |
CN107329815A (zh) * | 2017-06-26 | 2017-11-07 | 浙江工业大学 | 一种基于BP‑Tabu搜索的云任务负载均衡调度方法 |
CN107861820A (zh) * | 2017-12-08 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种虚拟机资源分配方法及*** |
CN107885579A (zh) * | 2017-11-13 | 2018-04-06 | 郑州云海信息技术有限公司 | 虚拟机的负载均衡方法和计算机可读存储介质 |
-
2018
- 2018-12-14 CN CN201811536156.6A patent/CN109857542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145364A1 (en) * | 2011-12-01 | 2013-06-06 | Tunghai University | Method of dynamic resource allocation for a virtual machine cluster |
CN107329815A (zh) * | 2017-06-26 | 2017-11-07 | 浙江工业大学 | 一种基于BP‑Tabu搜索的云任务负载均衡调度方法 |
CN107885579A (zh) * | 2017-11-13 | 2018-04-06 | 郑州云海信息技术有限公司 | 虚拟机的负载均衡方法和计算机可读存储介质 |
CN107861820A (zh) * | 2017-12-08 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种虚拟机资源分配方法及*** |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765610A (zh) * | 2019-08-30 | 2021-05-07 | 创新先进技术有限公司 | 交易调度方法及装置 |
CN110995614A (zh) * | 2019-11-05 | 2020-04-10 | 华为技术有限公司 | 一种算力资源分配的方法及装置 |
CN111190733A (zh) * | 2019-12-27 | 2020-05-22 | 华为技术有限公司 | 用于进行rsa计算的计算资源调度方法及装置 |
WO2021128945A1 (zh) * | 2019-12-27 | 2021-07-01 | 华为技术有限公司 | 用于进行rsa计算的计算资源调度方法及装置 |
CN111190733B (zh) * | 2019-12-27 | 2023-11-17 | 华为技术有限公司 | 用于进行rsa计算的计算资源调度方法及装置 |
CN114760313A (zh) * | 2020-12-29 | 2022-07-15 | 中国联合网络通信集团有限公司 | 业务调度方法和业务调度装置 |
CN114760313B (zh) * | 2020-12-29 | 2023-11-24 | 中国联合网络通信集团有限公司 | 业务调度方法和业务调度装置 |
CN113641468A (zh) * | 2021-06-23 | 2021-11-12 | 河北中兴冀能电力发展有限公司 | 一种应用于电力仪器设备的板间多运算芯片算力平衡*** |
CN113641468B (zh) * | 2021-06-23 | 2023-09-22 | 河北中兴冀能电力发展有限公司 | 一种应用于电力仪器设备的板间多运算芯片算力平衡*** |
CN113535386A (zh) * | 2021-06-23 | 2021-10-22 | 河北中兴冀能电力发展有限公司 | 一种应用于电力仪器设备的板间多运算芯片资源监控*** |
CN113778666A (zh) * | 2021-08-13 | 2021-12-10 | 济南浪潮数据技术有限公司 | 一种监控设备所需资源的动态分配方法、装置及介质 |
CN113778666B (zh) * | 2021-08-13 | 2024-05-24 | 郑州浪潮数据技术有限公司 | 一种监控设备所需资源的动态分配方法、装置及介质 |
CN114115789A (zh) * | 2021-10-20 | 2022-03-01 | 北京百度网讯科技有限公司 | 芯片插件化实现方法、装置、电子设备及存储介质 |
CN114115789B (zh) * | 2021-10-20 | 2022-08-23 | 北京百度网讯科技有限公司 | 芯片插件化实现方法、装置、电子设备及存储介质 |
WO2023230909A1 (zh) * | 2022-05-31 | 2023-12-07 | 华为技术有限公司 | 调度方法及相关装置 |
CN115795522A (zh) * | 2023-02-09 | 2023-03-14 | 广州万协通信息技术有限公司 | 多核并发的高速密码引擎数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109857542B (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857542A (zh) | 算力资源调节方法、***及装置 | |
He et al. | Improving resource utilisation in the cloud environment using multivariate probabilistic models | |
US8612615B2 (en) | Systems and methods for identifying usage histories for producing optimized cloud utilization | |
Hu et al. | Time-and cost-efficient task scheduling across geo-distributed data centers | |
US20210026690A1 (en) | Time-aware application task scheduling system | |
CN106506670B (zh) | 一种云平台虚拟资源高速调度方法与*** | |
EP2923479B1 (en) | Method and apparatus for controlling utilization in a horizontally scaled software application | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
CN104428752A (zh) | 将虚拟机流卸载至物理队列 | |
Verner et al. | Scheduling processing of real-time data streams on heterogeneous multi-GPU systems | |
US11861406B2 (en) | Dynamic microservices allocation mechanism | |
CN110188022A (zh) | 一种基于Java的集群性能测试方法及*** | |
CN109729113A (zh) | 管理专用处理资源的方法、服务器***和计算机程序产品 | |
Nadeem et al. | An early evaluation and comparison of three private cloud computing software platforms | |
Li et al. | Endpoint-flexible coflow scheduling across geo-distributed datacenters | |
Chang et al. | A bandwidth sharing theory for a large number of HTTP-like connections | |
Muruganandam et al. | Blockchain based adaptive resource allocation in cloud computing | |
Tan et al. | DMVL: An I/O bandwidth dynamic allocation method for virtual networks | |
CN113703945B (zh) | 微服务集群的调度方法、装置、设备及存储介质 | |
Hou et al. | Real-time optimization of dynamic speed scaling for distributed data centers | |
Zhang et al. | Towards reliable (and efficient) job executions in a practical geo-distributed data analytics system | |
CN106357676A (zh) | 一种云服务资源开销优化方法 | |
Dong et al. | Delayed best-fit task scheduling to reduce energy consumption in cloud data centers | |
CN110209477A (zh) | 一种基于自学习的计算任务调度方法 | |
Balakrishna et al. | Energy Efficient Dynamic Particle Swarm Optimization (EEDPSO) Resource Allocation in Cloud Computing. |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 9th Floor, Building C, Gui'an Center, Plot ZD-64, Big Data Science and Technology Innovation City, Gui'an New Area, Guiyang City, Guizhou Province, 550003 (No. 2 on the south side) Patentee after: Guizhou Huaxin Semiconductor Technology Co.,Ltd. Address before: 550081 2nd floor, intersection of Qianzhong Avenue and Jinma Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee before: GUIZHOU HUAXINTONG SEMICONDUCTOR TECHNOLOGY Co.,Ltd. |