CN116755892B - 虚拟显卡与云主机之间的计算资源分配方法及系统 - Google Patents

虚拟显卡与云主机之间的计算资源分配方法及系统 Download PDF

Info

Publication number
CN116755892B
CN116755892B CN202311052814.5A CN202311052814A CN116755892B CN 116755892 B CN116755892 B CN 116755892B CN 202311052814 A CN202311052814 A CN 202311052814A CN 116755892 B CN116755892 B CN 116755892B
Authority
CN
China
Prior art keywords
display card
processing module
card
target
target display
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
CN202311052814.5A
Other languages
English (en)
Other versions
CN116755892A (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.)
Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Original Assignee
Hunan Malanshan Video Advanced Technology Research Institute Co ltd
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 Hunan Malanshan Video Advanced Technology Research Institute Co ltd filed Critical Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Priority to CN202311052814.5A priority Critical patent/CN116755892B/zh
Publication of CN116755892A publication Critical patent/CN116755892A/zh
Application granted granted Critical
Publication of CN116755892B publication Critical patent/CN116755892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F9/505Allocation 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种虚拟显卡与云主机之间的计算资源分配方法及系统,本发明提出的虚拟显卡与云主机之间的计算资源分配方法能够更加高效地将第一图形处理器资源分配至不同的第一虚拟显卡;具体使用时先对各第一活动显卡进行第一负载测试,以得到各第一活动显卡对应的测试平均利用率,从而知晓各第一活动显卡的负载情况,然后将测试平均利用率大于第一预设利用率的第一活动显卡标记为第一目标显卡,后续再将第一图形处理器分配给第一目标显卡使用,即不再分配给非第一目标显卡的第一虚拟显卡,从而节省图形处理器资源,避免图形处理器资源的浪费。

Description

虚拟显卡与云主机之间的计算资源分配方法及系统
技术领域
本发明涉及云计算技术领域,具体涉及一种虚拟显卡与云主机之间的计算资源分配方法。
背景技术
显卡,又称显示卡(Video card),是计算机中一个重要的组成部分,承担着输出显示图形的任务。
云主机是利用网络技术,把一台物理服务器分成多个“虚拟”的主机,这些“虚拟”的主机即称之为云主机;每一台云主机都具有独立的域名和IP地址,也具有完整的Internet服务器功能。对外界而言,每一台云主机都和一台独立的物理主机完全一样。而虚拟显卡,就是将物理服务器上搭载的实体显卡虚拟成多张虚拟显卡;在操作系统层面,可识别到多张虚拟显卡,每张虚拟显卡可分别供不同云主机使用,从而提升显卡资源的利用率,进而提高图形处理性能。
对于同一物理服务器而言,虚拟显卡虽然在上层表现为多个显卡,但底层实际是使用同一张实体显卡的图形处理器(Graphics Processing Unit,GPU)资源;故在服务器的实际运行过程中,需要将图形处理器资源合理分配至不同的虚拟显卡,以充分保证虚拟显卡的正常运行,进而保证各云主机的顺畅运行。
而现有的将图形处理器资源分配至不同的虚拟显卡的方案比较简单,即按照时间平均分配,即每张虚拟显卡单独占用图形处理器资源一定时间后再将图形处理器资源交由其他虚拟显卡单独占用;但在实际很多应用场景中,各虚拟显卡并不会同时高负荷使用,故现有的将图形处理器资源按时间平均分配至不同的虚拟显卡的方案会造成图形处理器资源的浪费。
发明内容
本发明的主要目的是提供一种虚拟显卡与云主机之间的计算资源分配方法及系统,旨在解决现有的将图形处理器资源按时间平均分配至不同的虚拟显卡的方案会造成图形处理器资源的浪费的问题。
本发明提出的技术方案为:
一种虚拟显卡与云主机之间的计算资源分配方法,应用于虚拟显卡与云主机之间的计算资源分配系统;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应;所述方法,包括:
处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数;
处理模块将活动主机对应的第一虚拟显卡标记为第一活动显卡,并对第一活动显卡进行编号,以获取第一排列序号;
处理模块对各第一活动显卡进行第一预设次数轮第一负载测试,每轮第一负载测试的过程为:处理模块将第一图形处理器按照第一排列序号依次分配给各第一活动显卡单独使用,且各第一活动显卡单独使用第一图形处理器的时长均为第一预设时长;
处理模块获取每一第一活动显卡在每一轮第一负载测试过程中所对应的第一图形处理器的利用率的平均值,并标记为每一活动显卡的测试平均利用率;
处理模块将测试平均利用率大于第一预设利用率的第一活动显卡标记为第一目标显卡;
处理模块将第一图形处理器分配给第一目标显卡使用。
优选的,所述处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数的计算公式为:
式中,为第一预设次数;/>为标准测试时长,单位为s;/>为活动主机的数量;/>为第一预设时长,即在第一负载测试过程中各第一活动显卡单独使用第一图形处理器的时长,单位为s。
优选的,所述处理模块将第一图形处理器分配给第一目标显卡使用,包括:
当第一目标显卡的数量为1个时,处理模块将第一图形处理器分配给第一目标显卡单独使用;
当第一目标显卡的数量为至少2个时,处理模块对各第一目标显卡进行编号,以获取第二排列序号;
处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,其中,第二预设次数大于2次,且各第一目标显卡的每次轮流使用第一图形处理器的使用时长均为第一预设时长。
优选的,所述处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,包括:
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数的循环使用过程中所对应的第一图形处理器的利用率的平均值,并标记为每一第一目标显卡的实际平均利用率,其中,第三预设次数小于第二预设次数;
处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长;
处理模块基于单次使用时长确定周期时长;
处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,其中,每次循环使用的总时长为周期时长,且在同一循环内,各第一目标显卡使用第一图形处理器的时长分别为对应的单次使用时长。
优选的,所述处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长的公式为:
式中,为第i个第一目标显卡的单次使用时长,单位为s,i为正整数,且i≤I,I为第一目标显卡的总数;/>为第i个第一目标显卡的实际平均利用率,/>为标准利用率;/>为第一预设时长,单位为s;
所述处理模块基于单次使用时长确定周期时长的计算公式为:
式中,为周期时长,单位为s。
优选的,还包括:
处理模块将除第一目标显卡之外的第一虚拟显卡标记为第二目标显卡;
在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时判断是否满足第二条件、第三条件和第四条件的任一项,其中,第二条件为任一个第二目标显卡对应的云主机启用,第三条件为任一个第一目标显卡对应的云主机停用,第四条件为各第一目标显卡轮流循环使用第一图形处理器的循环次数达到第二预设次数;
若是,处理模块将所有的第一目标显卡的第一目标显卡标记去除,并执行所述处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数的步骤。
优选的,云主机包括显示模块;各第一虚拟显卡分别通信连接于对应的云主机的显示模块;所述方法,还包括:
处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡;
在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时获取第三目标显卡对应的云主机通信连接的显示模块的显示帧率,并将显示帧率与第三目标显卡建立对应关系;
处理模块判断是否存在满足第五条件的第三目标显卡,其中,第五条件为:第三目标显卡对应的显示帧率在过去第二预设时长内的平均值低于预设帧率;
若是,将满足第五条件的第三目标显卡标记为第一目标显卡;
执行所述处理模块将第一图形处理器分配给第一目标显卡使用的步骤。
优选的,所述处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,包括:
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数的循环使用过程中所对应的第一图形处理器的利用率,并标记为每一第一目标显卡的实际单次利用率,其中,第三预设次数小于第二预设次数;
处理模块判断是否存在满足第六条件的第一目标显卡,其中,第六条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递增;
若存在满足第六条件的第一目标显卡,处理模块将满足第六条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长增加第三预设时长;
处理模块判断是否存在满足第七条件的第一目标显卡,其中,第七条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递减;
若存在满足第七条件的第一目标显卡,处理模块将满足第七条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长减少第三预设时长。
优选的,服务器还包括第二物理显卡;第二物理显卡包括第二图形处理器,且第二物理显卡虚拟为多个第二虚拟显卡;第二虚拟显卡和云主机一一对应;所述方法,还包括:
处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡;
处理模块将第三目标显卡对应的云主机对应的第二虚拟显卡标记为第四目标显卡;
处理模块对第四目标显卡进行编号,以获取第三排列序号;
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块对各第四目标显卡持续循环进行第二负载测试,每次第二负载测试的过程为:处理模块将第二图形处理器按照第三排列序号依次分配给各第四目标显卡单独使用,且各第四目标显卡单独使用第二图形处理器的时长均为第一预设时长;
在对第四目标显卡进行第二负载测试的过程中,处理模块获取每一第四目标显卡每次单独使用第二图形处理器时所对应的第二图形处理器的利用率,并标记为每一第四目标显卡的测试单次利用率;
处理模块将测试单次利用率大于第三预设利用率的次数连续大于第五预设次数的第四目标显卡所对应的云主机标记为需求主机;
处理模块将需求主机所对应的第一虚拟显卡标记为第一目标显卡,并控制第二图形处理器不再分配给需求主机所对应的第二虚拟显卡使用;
执行所述处理模块将第一图形处理器分配给第一目标显卡使用的步骤。
本发明还提出一种虚拟显卡与云主机之间的计算资源分配系统,应用所述的虚拟显卡与云主机之间的计算资源分配方法;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应。
通过上述技术方案,能实现以下有益效果:
本发明提出的虚拟显卡与云主机之间的计算资源分配方法能够更加高效地将第一图形处理器资源分配至不同的第一虚拟显卡;具体使用时先对各第一活动显卡进行第一负载测试,以得到各第一活动显卡对应的测试平均利用率,从而知晓各第一活动显卡的负载情况,然后将测试平均利用率大于第一预设利用率的第一活动显卡标记为第一目标显卡,后续再将第一图形处理器分配给第一目标显卡使用,即不再分配给非第一目标显卡的第一虚拟显卡,从而节省图形处理器资源,避免图形处理器资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法第一实施例的流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提出一种虚拟显卡与云主机之间的计算资源分配方法及系统。
如附图1所示,在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的一实施例中,本实施例应用于虚拟显卡与云主机之间的计算资源分配系统;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应;本实施例包括如下步骤:
步骤S110:处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数。
具体的,这里的第一预设次数为后续进行第一负载测试的轮数,为了保证第一负载测试的时长不过长;所以活动主机的数量越多,则第一预设次数越小。
步骤S120:处理模块将活动主机对应的第一虚拟显卡标记为第一活动显卡,并对第一活动显卡进行编号,以获取第一排列序号。
步骤S130:处理模块对各第一活动显卡进行第一预设次数轮第一负载测试,每轮第一负载测试的过程为:处理模块将第一图形处理器按照第一排列序号依次分配给各第一活动显卡单独使用,且各第一活动显卡单独使用第一图形处理器的时长均为第一预设时长(例如0.1s)。
具体的,例如本实施例中第一活动显卡为4个,分别排序为1号、2号、3号和4号;则每一轮第一负载测试中,处理模块将第一图形处理器分别按照1号→2号→3号→4号的顺序依次进行分配,每个第一活动显卡在每一轮第一负载测试中,均单独使用一次第一图形处理器。
步骤S140:处理模块获取每一第一活动显卡在每一轮第一负载测试过程中所对应的第一图形处理器的利用率的平均值,并标记为每一活动显卡的测试平均利用率。
具体的,例如本实施例中第一预设次数为5次,则每个第一活动显卡对应的测试平均利用率为5次第一负载测试所对应的第一图形处理器的利用率的平均值;该平均值能够反映第一活动显卡的使用负载情况。
步骤S150:处理模块将测试平均利用率大于第一预设利用率(例如20%)的第一活动显卡标记为第一目标显卡。
具体的,若测试平均利用率大于第一预设利用率,说明第一活动显卡处于正常使用情况,若不大于第一预设利用率,则该第一活动显卡处于相对空闲的情况,即该第一活动显卡对应的云主机的显示负载较低,无需进行后续的正常使用分配。
步骤S160:处理模块将第一图形处理器分配给第一目标显卡使用。
具体的,即仅对第一目标显卡分配第一图形处理器,而非第一目标显卡处于相对空闲的情况,则无需进行分配。
本发明提出的虚拟显卡与云主机之间的计算资源分配方法能够更加高效地将第一图形处理器资源分配至不同的第一虚拟显卡;具体使用时先对各第一活动显卡进行第一负载测试,以得到各第一活动显卡对应的测试平均利用率,从而知晓各第一活动显卡的负载情况,然后将测试平均利用率大于第一预设利用率的第一活动显卡标记为第一目标显卡,后续再将第一图形处理器分配给第一目标显卡使用,即不再分配给非第一目标显卡的第一虚拟显卡,从而节省图形处理器资源,避免图形处理器资源的浪费。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第二实施例中,基于第一实施例,所述处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数的计算公式为:
式中,为第一预设次数;/>为标准测试时长,单位为s;/>为活动主机的数量;/>为第一预设时长,即在第一负载测试过程中各第一活动显卡单独使用第一图形处理器的时长,单位为s。
本实施例给出了计算第一预设次数的具体方案,例如本实施例中,为2s,活动主机的数量为4个,第一预设时长为0.1s,则相应的第一预设次数为5次,即第一负载测试执行5轮。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第三实施例中,基于第一实施例,步骤S160,包括如下步骤:
步骤S310:当第一目标显卡的数量为1个时,处理模块将第一图形处理器分配给第一目标显卡单独使用。
步骤S320:当第一目标显卡的数量为至少2个时,处理模块对各第一目标显卡进行编号,以获取第二排列序号。
具体的,第一目标显卡为2个时,则将第一目标显卡进行编号编号,例如1号和2号。
步骤S330:处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,其中,第二预设次数大于2次(例如100次),且各第一目标显卡的每次轮流使用第一图形处理器的使用时长均为第一预设时长。
具体的,处理模块将第一图形处理器分别按照1号→2号的顺序依次进行分配,每个第一目标显卡在每一轮使用中,均单独使用一次第一图形处理器,且循环的次数大于2次(本实施例中,总使用时长为20s);这个步骤即是将第一图形处理器分配给各第一目标显卡正常使用的方案。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第四实施例中,基于第三实施例,所步骤S330,包括如下步骤:
步骤S410:在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数(例如10次)的循环使用过程中所对应的第一图形处理器的利用率的平均值,并标记为每一第一目标显卡的实际平均利用率,其中,第三预设次数小于第二预设次数。
步骤S420:处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长。
具体的,若实际平均利用率越大,说明对应的第一目标显卡的负载上升,则需要增加该第一目标显卡在每次循环使用过程中对应的单次使用时长。相反,若实际平均利用率越小,说明对应的第一目标显卡的负载下降,则需要减少该第一目标显卡在每次循环使用过程中对应的单次使用时长,以节约第一图形处理器的计算资源。
步骤S430:处理模块基于单次使用时长确定周期时长。
具体的,周期时长为所有的第一目标显卡对应的单次使用时长之和。
步骤S440:处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,其中,每次循环使用的总时长为周期时长,且在同一循环内,各第一目标显卡使用第一图形处理器的时长分别为对应的单次使用时长。
具体的,本实施例给出了根据第一目标显卡在正常使用过程中的第一图形处理器的利用率的变化情况来动态调整对应的单次使用时长的方案。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第五实施例中,基于第四实施例,所述处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长的公式为:
式中,为第i个第一目标显卡的单次使用时长,单位为s,i为正整数,且i≤I,I为第一目标显卡的总数(例如2个);/>为第i个第一目标显卡的实际平均利用率,/>为标准利用率(例如50%);/>为第一预设时长,单位为s。
所述处理模块基于单次使用时长确定周期时长的计算公式为:
式中,为周期时长,单位为s。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第六实施例中,基于第四实施例,步骤S410,之后还包括如下步骤:
步骤S610:处理模块实时判断是否存在满足第一条件的第一目标显卡,其中,第一条件为:第一目标显卡的实际平均利用率低于第二预设利用率(例如20%)。
若是,执行步骤S620:处理模块将满足第一条件的第一目标显卡的第一目标显卡标记去除。
步骤S630:处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第四预设次数(例如80次),其中,第四预设次数小于第二预设次数,因之前已经循环使用了多次,则这里正常使用的循环次数要少于第二预设次数。
具体的,若第一目标显卡的实际平均利用率低于第二预设利用率,说明该第一目标显卡的负载处于相对空闲状态,不再需要分配第一图形处理器,则直接将将满足第一条件的第一目标显卡的第一目标显卡标记去除;然后再次将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第七实施例中,基于第三实施例,本实施例还包括如下步骤:
步骤S710:处理模块将除第一目标显卡之外的第一虚拟显卡标记为第二目标显卡。
具体的,这里的第二目标显卡即是没有被分配使用第一图形处理器的第一虚拟显卡。
步骤S720:在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时判断是否满足第二条件、第三条件和第四条件的任一项,其中,第二条件为任一个第二目标显卡对应的云主机启用,第三条件为任一个第一目标显卡对应的云主机停用,第四条件为各第一目标显卡轮流循环使用第一图形处理器的循环次数达到第二预设次数。
若是,执行步骤S730:处理模块将所有的第一目标显卡的第一目标显卡标记去除,并执行步骤S110。
具体的,当满足上述第二条件、第三条件或第四条件时,则都需要终端当前的正常使用循环,并重新进入第一负载测试阶段,以便于重新标记第一目标显卡,并重新进入新的正常使用循环。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第八实施例中,基于第三实施例,云主机包括显示模块;各第一虚拟显卡分别通信连接于对应的云主机的显示模块;本实施例还包括如下步骤:
步骤S810:处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡。
具体的,这里的第三目标显卡即是启动的云主机所对应的非第一目标显卡,即未分配第一图形处理器但对应的云主机处于启用状态的第一虚拟显卡。
步骤S820:在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时获取第三目标显卡对应的云主机通信连接的显示模块的显示帧率,并将显示帧率与第三目标显卡建立对应关系。
步骤S830:处理模块判断是否存在满足第五条件的第三目标显卡,其中,第五条件为:第三目标显卡对应的显示帧率在过去第二预设时长(例如5s)内的平均值低于预设帧率(例如10帧)。
若是,执行步骤S840:将满足第五条件的第三目标显卡标记为第一目标显卡。
执行步骤S160。
具体的,若第三目标显卡满足第五条件,说明该第三目标显卡对应的显示模块出现了卡顿,即需要分配第一图形处理器资源给该第三目标显卡,以满足用户使用需求,因此将满足第五条件的第三目标显卡标记为第一目标显卡,然后执行步骤S160(即执行正常循环使用的步骤)。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第九实施例中,基于第三实施例,步骤S330,包括如下步骤:
步骤S910:在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数(例如10次)的循环使用过程中所对应的第一图形处理器的利用率,并标记为每一第一目标显卡的实际单次利用率,其中,第三预设次数小于第二预设次数。
步骤S920:处理模块判断是否存在满足第六条件的第一目标显卡,其中,第六条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递增。
步骤S930:若存在满足第六条件的第一目标显卡,处理模块将满足第六条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长增加第三预设时长(例如0.05s)。
具体的,若第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递增,说明该第一目标显卡的负载在不断上升,为了保证正常使用,需要增加第一目标显卡每次单独占用第一图形处理器的时长,即将满足第六条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长增加第三预设时长。
步骤S940:处理模块判断是否存在满足第七条件的第一目标显卡,其中,第七条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递减。
步骤S950:若存在满足第七条件的第一目标显卡,处理模块将满足第七条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长减少第三预设时长(例如0.05s)。
具体的,若第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递减,说明该第一目标显卡的负载在不断降低,为了节约第一图形处理器资源,,需要减少第一目标显卡每次单独占用第一图形处理器的时长,即将满足第七条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长减少第三预设时长。
在本发明提出的一种虚拟显卡与云主机之间的计算资源分配方法的第十实施例中,基于第一实施例,服务器还包括第二物理显卡;第二物理显卡包括第二图形处理器,且第二物理显卡虚拟为多个第二虚拟显卡;第二虚拟显卡和云主机一一对应;本实施例还包括如下步骤:
步骤S1010:处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡。
具体的,这里的第三目标显卡即是启动的云主机所对应的非第一目标显卡,即未分配第一图形处理器但对应的云主机处于启用状态的第一虚拟显卡。
步骤S1020:处理模块将第三目标显卡对应的云主机对应的第二虚拟显卡标记为第四目标显卡。
具体的,这里的第四目标显卡即是未分配第一图形处理器但对应的云主机处于启用状态的第二虚拟显卡。
步骤S1030:处理模块对第四目标显卡进行编号,以获取第三排列序号。
步骤S1030:在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块对各第四目标显卡持续循环进行第二负载测试,每次第二负载测试的过程为:处理模块将第二图形处理器按照第三排列序号依次分配给各第四目标显卡单独使用,且各第四目标显卡单独使用第二图形处理器的时长均为第一预设时长。
具体的,例如本实施例中第四目标显卡为2个,分别排序为1号和2号;则每一轮第二负载测试中,处理模块将第二图形处理器分别按照1号→2号的顺序依次进行分配,每个第四目标显卡在每一轮第二负载测试中,均单独使用一次第二图形处理器(这里的第二负载测试为持续进行,直到第四目标显卡的数量为0)。
步骤S1040:在对第四目标显卡进行第二负载测试的过程中,处理模块获取各第四目标显卡每次单独使用第二图形处理器时所对应的第二图形处理器的利用率,并标记为每一第四目标显卡的测试单次利用率。
具体的,这里的测试单次利用率能够实时反映第四目标显卡的负载情况,进而反应第四目标显卡对应的云主机的负载情况。
步骤S1050:处理模块将测试单次利用率连续大于第三预设利用率(20%)的次数大于第五预设次数(例如3次)的第四目标显卡所对应的云主机标记为需求主机。
具体的,若某个第四目标显卡的单次利用率连续3次大于第三预设利用率,说明该云主机的负载上升,需要分配第一图形处理器,以满足使用需求。
步骤S1060:处理模块将需求主机所对应的第一虚拟显卡标记为第一目标显卡,并控制第二图形处理器不再分配给需求主机所对应的第二虚拟显卡使用。
具体的,则处理模块将需求主机所对应的第一虚拟显卡标记为第一目标显卡,并控制第二图形处理器不再分配给需求主机所对应的第二虚拟显卡使用(即需求主机对应的第二虚拟显卡不再参与第二负载测试)。
执行步骤S160。
具体的,本实施例在第一目标显卡正常被分配使用第一图形处理器时,能够基于第二虚拟显卡对未分配第一图形处理器但对应的云主机进行持续的第二负载测试,以及时知晓其他未分配第一图形处理器资源的云主机的负载情况,以及时对负载出现上升且未分配第一图形处理器资源的云主机的第一虚拟显卡进行第一图形处理器的分配,从而保证用户使用体验。
本发明还提出一种虚拟显卡与云主机之间的计算资源分配系统,应用任一项所述的虚拟显卡与云主机之间的计算资源分配方法;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,应用于虚拟显卡与云主机之间的计算资源分配系统;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应;所述方法,包括:
处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数;
处理模块将活动主机对应的第一虚拟显卡标记为第一活动显卡,并对第一活动显卡进行编号,以获取第一排列序号;
处理模块对各第一活动显卡进行第一预设次数轮第一负载测试,每轮第一负载测试的过程为:处理模块将第一图形处理器按照第一排列序号依次分配给各第一活动显卡单独使用,且各第一活动显卡单独使用第一图形处理器的时长均为第一预设时长;
处理模块获取每一第一活动显卡在每一轮第一负载测试过程中所对应的第一图形处理器的利用率的平均值,并标记为每一活动显卡的测试平均利用率;
处理模块将测试平均利用率大于第一预设利用率的第一活动显卡标记为第一目标显卡;
处理模块将第一图形处理器分配给第一目标显卡使用。
2.根据权利要求1所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,所述处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数的计算公式为:
式中,为第一预设次数;/>为标准测试时长,单位为s;/>为活动主机的数量;/>为第一预设时长,即在第一负载测试过程中各第一活动显卡单独使用第一图形处理器的时长,单位为s。
3.根据权利要求1所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,所述处理模块将第一图形处理器分配给第一目标显卡使用,包括:
当第一目标显卡的数量为1个时,处理模块将第一图形处理器分配给第一目标显卡单独使用;
当第一目标显卡的数量为至少2个时,处理模块对各第一目标显卡进行编号,以获取第二排列序号;
处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,其中,第二预设次数大于2次,且各第一目标显卡的每次轮流使用第一图形处理器的使用时长均为第一预设时长。
4.根据权利要求3所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,所述处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,包括:
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数的循环使用过程中所对应的第一图形处理器的利用率的平均值,并标记为每一第一目标显卡的实际平均利用率,其中,第三预设次数小于第二预设次数;
处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长;
处理模块基于单次使用时长确定周期时长;
处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,其中,每次循环使用的总时长为周期时长,且在同一循环内,各第一目标显卡使用第一图形处理器的时长分别为对应的单次使用时长。
5.根据权利要求4所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,所述处理模块基于各第一目标显卡的实际平均利用率确定各第一目标显卡对应的单次使用时长的公式为:
式中,为第i个第一目标显卡的单次使用时长,单位为s,i为正整数,且i≤I,I为第一目标显卡的总数;/>为第i个第一目标显卡的实际平均利用率,/>为标准利用率;/>为第一预设时长,单位为s;
所述处理模块基于单次使用时长确定周期时长的计算公式为:
式中,为周期时长,单位为s。
6.根据权利要求3所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,还包括:
处理模块将除第一目标显卡之外的第一虚拟显卡标记为第二目标显卡;
在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时判断是否满足第二条件、第三条件和第四条件的任一项,其中,第二条件为任一个第二目标显卡对应的云主机启用,第三条件为任一个第一目标显卡对应的云主机停用,第四条件为各第一目标显卡轮流循环使用第一图形处理器的循环次数达到第二预设次数;
若是,处理模块将所有的第一目标显卡的第一目标显卡标记去除,并执行所述处理模块将当前处于启用状态的云主机标记为活动主机,并基于活动主机的数量确定第一预设次数的步骤。
7.根据权利要求3所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,云主机包括显示模块;各第一虚拟显卡分别通信连接于对应的云主机的显示模块;所述方法,还包括:
处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡;
在处理模块将第一图形处理器分配给第一目标显卡使用的过程中,处理模块实时获取第三目标显卡对应的云主机通信连接的显示模块的显示帧率,并将显示帧率与第三目标显卡建立对应关系;
处理模块判断是否存在满足第五条件的第三目标显卡,其中,第五条件为:第三目标显卡对应的显示帧率在过去第二预设时长内的平均值低于预设帧率;
若是,将满足第五条件的第三目标显卡标记为第一目标显卡;
执行所述处理模块将第一图形处理器分配给第一目标显卡使用的步骤。
8.根据权利要求3所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,所述处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用,且循环次数为第二预设次数,包括:
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块获取各第一目标显卡在过去的第三预设次数的循环使用过程中所对应的第一图形处理器的利用率,并标记为每一第一目标显卡的实际单次利用率,其中,第三预设次数小于第二预设次数;
处理模块判断是否存在满足第六条件的第一目标显卡,其中,第六条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递增;
若存在满足第六条件的第一目标显卡,处理模块将满足第六条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长增加第三预设时长;
处理模块判断是否存在满足第七条件的第一目标显卡,其中,第七条件为第一目标显卡所对应的实际单次利用率在过去的第三预设次数的循环使用过程中单调递减;
若存在满足第七条件的第一目标显卡,处理模块将满足第七条件的第一目标显卡的每次轮流使用第一图形处理器的使用时长减少第三预设时长。
9.根据权利要求1所述的一种虚拟显卡与云主机之间的计算资源分配方法,其特征在于,服务器还包括第二物理显卡;第二物理显卡包括第二图形处理器,且第二物理显卡虚拟为多个第二虚拟显卡;第二虚拟显卡和云主机一一对应;所述方法,还包括:
处理模块将除第一目标显卡之外的第一活动显卡标记为第三目标显卡;
处理模块将第三目标显卡对应的云主机对应的第二虚拟显卡标记为第四目标显卡;
处理模块对第四目标显卡进行编号,以获取第三排列序号;
在处理模块将第一图形处理器按照第二排列序号依次分配至各第一目标显卡轮流循环使用的过程中,处理模块对各第四目标显卡持续循环进行第二负载测试,每次第二负载测试的过程为:处理模块将第二图形处理器按照第三排列序号依次分配给各第四目标显卡单独使用,且各第四目标显卡单独使用第二图形处理器的时长均为第一预设时长;
在对第四目标显卡进行第二负载测试的过程中,处理模块获取每一第四目标显卡每次单独使用第二图形处理器时所对应的第二图形处理器的利用率,并标记为每一第四目标显卡的测试单次利用率;
处理模块将测试单次利用率大于第三预设利用率的次数连续大于第五预设次数的第四目标显卡所对应的云主机标记为需求主机;
处理模块将需求主机所对应的第一虚拟显卡标记为第一目标显卡,并控制第二图形处理器不再分配给需求主机所对应的第二虚拟显卡使用;
执行所述处理模块将第一图形处理器分配给第一目标显卡使用的步骤。
10.一种虚拟显卡与云主机之间的计算资源分配系统,其特征在于,应用如权利要求1-9中任一项所述的虚拟显卡与云主机之间的计算资源分配方法;所述系统包括服务器;服务器包括第一物理显卡和处理模块;服务器运行有多个云主机;第一物理显卡包括第一图形处理器,且第一物理显卡虚拟为多个第一虚拟显卡;第一虚拟显卡和云主机一一对应。
CN202311052814.5A 2023-08-21 2023-08-21 虚拟显卡与云主机之间的计算资源分配方法及系统 Active CN116755892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311052814.5A CN116755892B (zh) 2023-08-21 2023-08-21 虚拟显卡与云主机之间的计算资源分配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311052814.5A CN116755892B (zh) 2023-08-21 2023-08-21 虚拟显卡与云主机之间的计算资源分配方法及系统

Publications (2)

Publication Number Publication Date
CN116755892A CN116755892A (zh) 2023-09-15
CN116755892B true CN116755892B (zh) 2023-10-17

Family

ID=87950102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311052814.5A Active CN116755892B (zh) 2023-08-21 2023-08-21 虚拟显卡与云主机之间的计算资源分配方法及系统

Country Status (1)

Country Link
CN (1) CN116755892B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170787A (ja) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
WO2018223075A1 (en) * 2017-06-02 2018-12-06 Alibaba Group Holding Limited Method and apparatus for implementing virtual gpu and system
CN109376011A (zh) * 2018-09-26 2019-02-22 郑州云海信息技术有限公司 虚拟化系统中管理资源的方法和装置
CN109656714A (zh) * 2018-12-04 2019-04-19 成都雨云科技有限公司 一种虚拟化显卡的gpu资源调度方法
CN109753338A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 虚拟gpu使用率的检测方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298490B2 (en) * 2012-12-20 2016-03-29 Vmware, Inc. Managing a data structure for allocating graphics processing unit resources to virtual machines
US9904973B2 (en) * 2015-11-11 2018-02-27 Amazon Technologies, Inc. Application-specific virtualized graphics processing
US10304153B2 (en) * 2016-11-07 2019-05-28 Vmware, Inc. Virtual machine graphic resource usage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170787A (ja) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
WO2018223075A1 (en) * 2017-06-02 2018-12-06 Alibaba Group Holding Limited Method and apparatus for implementing virtual gpu and system
CN109753338A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 虚拟gpu使用率的检测方法和装置
CN109376011A (zh) * 2018-09-26 2019-02-22 郑州云海信息技术有限公司 虚拟化系统中管理资源的方法和装置
CN109656714A (zh) * 2018-12-04 2019-04-19 成都雨云科技有限公司 一种虚拟化显卡的gpu资源调度方法

Also Published As

Publication number Publication date
CN116755892A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
US11409547B2 (en) Method for rendering user interface and terminal
US20170192819A1 (en) Method and electronic device for resource allocation
WO2019205371A1 (zh) 服务器、消息分配的方法及存储介质
CN112148489A (zh) 游戏资源调度方法、装置、设备及存储介质
CN111450524B (zh) 云游戏中的信息处理方法、装置、云游戏服务器及介质
CN110661654B (zh) 一种网络带宽资源分配方法、装置、设备及可读存储介质
WO2019072208A1 (zh) 应用程序运行控制方法及设备
CN111506434B (zh) 一种任务处理方法、装置及计算机可读存储介质
CN111708642B (zh) Vr系统中处理器性能优化方法、装置及vr设备
CN111475256A (zh) 资源分配方法、装置及系统
US20170177255A1 (en) Method and electronic device for allocating dynamic memory resources
CN110933136A (zh) 一种服务节点选择方法、装置、设备及可读存储介质
CN111659126A (zh) 匹配进程的分配方法、装置、服务器、终端及存储介质
CN111625353A (zh) 虚拟资源分发处理方法、装置、服务器及存储介质
CN112099946A (zh) 资源调度方法、装置及存储介质
CN116755892B (zh) 虚拟显卡与云主机之间的计算资源分配方法及系统
CN114035947A (zh) 资源动态调配方法、装置、设备及系统
CN111857992B (zh) 一种Radosgw模块中线程资源分配方法和装置
WO2019076254A1 (zh) 游戏应用控制方法及设备
WO2019042172A1 (zh) 资源配置方法及相关产品
CN117112222A (zh) 一种请求处理方法、装置、电子设备及存储介质
CN111949398A (zh) 资源调度方法及装置
CN115098272A (zh) Gpu资源调度方法、调度器、电子设备和存储介质
CN111835770B (zh) 一种数据处理方法、装置、服务器及存储介质
CN116755905B (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