CN114296865B - 一种虚拟机线程的调度方法、装置、电子设备及存储介质 - Google Patents
一种虚拟机线程的调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114296865B CN114296865B CN202111534192.0A CN202111534192A CN114296865B CN 114296865 B CN114296865 B CN 114296865B CN 202111534192 A CN202111534192 A CN 202111534192A CN 114296865 B CN114296865 B CN 114296865B
- Authority
- CN
- China
- Prior art keywords
- thread
- scheduling
- history
- time
- real
- 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 60
- 230000006399 behavior Effects 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 8
- 230000002035 prolonged effect Effects 0.000 abstract description 6
- 230000019771 cognition Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Abstract
本申请涉及一种虚拟机线程的调度方法、装置、电子设备及存储介质,包括获取历史线程和待选择线程,其中历史线程为前一时间片运行的线程,待选择线程为下一时间片可选择的线程,在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,并为历史线程设置延时调度标识。基于本申请实施例可以实现增强虚拟机监视器系统对不同虚拟机操作系统线程实时性的认知,增加实时线程被调度的次数,延长实时线程被调度的时间,从而提高虚拟机的及时响应性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟机线程的调度方法、装置、电子设备及存储介质。
背景技术
在支持实时调度的虚拟机监视器(Hypervisor)系统中,虚拟机(VirtualMachine,VM)和虚拟处理器(Virtual central processing unit,VCPU)的实时响应性能是评价虚拟机监视器实时性核心指标之一。
在同一台计算机上运行的虚拟机,存在实时操作系统和普通操作系统,实时操作系统为当前正在运行的操作系统。在实时操作系统和普通操作系统内部,都有各自的实时线程和非实时线程,其中,实时线程优先于非实时线程运行,实时线程一旦被激活,需要立即得到调度响应。当多个实时线程同时处于激活状态,一般按优先级大小排列等待调度,如果多个实时线程优先级相等,则一般按照时间片轮转。虚拟机操作系统内部的调度程序能够负责其内部的实时线程和非实时线程的调度运行。
然而,虚拟机监视器系统无法判断不同操作系统之间被调度线程的实时性,一个虚拟机操作系统里面的实时线程很可能被另一个虚拟机操作系统的普通线程抢占,导致实时线程的优先级被反转,使用户当前正在运行的实时线程没有被优先调度,从而影响虚拟机和虚拟处理器的实时响应性能。
发明内容
本申请实施例提供了一种虚拟机线程的调度方法、装置、电子设备及存储介质,可以通过在操作系统线程标识信息的实时标识中加入预设值,虚拟机监视器系统通过获取线程的实时标识判断线程的实时性,解决虚拟机监视器系统对于不同虚拟机操作系统线程的实时性不可知问题,并根据线程的实时性尽可能优先调度实时线程,增加实时线程被调度次数,延长实时线程占用CPU资源的时间。
本申请实施例提供了一种虚拟机线程的调度方法,该方法包括:
获取历史线程和待选择线程;历史线程为前一时间片运行的线程;待选择线程为下一时间片可选择的线程;
在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息;
若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度;
为历史线程设置延时调度标识。
进一步地,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,包括:
若第一标识信息中的实时标识为预设值,且历史线程不存在对应的延时调度标识,将历史线程作为目标线程进行调度。
进一步地,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,包括:
若第一标识信息中的实时标识为预设值,且当前时间未到达历史线程的截止时间,将历史线程作为目标线程进行调度。
进一步地,该方法还包括:
若第一标识信息中的实时标识为预设值,且历史线程存在对应的延时调度标识,将待选择线程作为目标线程进行调度;删除延时调度标识。
进一步地,该方法还包括:
若第一标识信息中的实时标识为预设值,且当前时间到达历史线程的截止时间,将待选择线程作为目标线程进行调度。
进一步地,获取历史线程的第一标识信息之后,还包括:
若第一标识信息中的实时标识为空值,将待选择线程作为目标线程进行调度。
进一步地,获取历史线程和待选择线程之后,还包括:
若待选择线程和历史线程为同一线程,将历史线程作为目标线程进行调度。
相应地,本申请实施例还提供了一种虚拟机线程的调度装置,该装置包括:
线程获取模块,用于获取历史线程和待选择线程;历史线程为前一时间片运行的线程;待选择线程为下一时间片可选择的线程;
第一标识信息获取模块,用于在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息;
目标线程调度模块,用于若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度;
延时调度标识设置模块,用于为历史线程设置延时调度标识。
进一步地,目标线程调度模块,用于:
若第一标识信息中的实时标识为预设值,且历史线程不存在对应的延时调度标识,将历史线程作为目标线程进行调度。
进一步地,目标线程调度模块,用于:
若第一标识信息中的实时标识为预设值,且当前时间未到达历史线程的截止时间,将历史线程作为目标线程进行调度。
进一步地,目标线程调度模块,用于:若第一标识信息中的实时标识为预设值,且历史线程存在对应的延时调度标识,将待选择线程作为目标线程进行调度;删除延时调度标识。
进一步地,目标线程调度模块,用于:
若第一标识信息中的实时标识为预设值,且当前时间到达历史线程的截止时间,将待选择线程作为目标线程进行调度。
进一步地,目标线程调度模块,用于:
若待选择线程和历史线程为同一线程,将历史线程作为目标线程进行调度。
相应地,本申请实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的虚拟机线程的调度方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的虚拟机线程的调度方法。
采用上述技术方案,本申请实施例具有如下有益效果:
(1)通过在虚拟机操作系统的线程中预设表示实时属性的实时标识,增强虚拟机监视器对虚拟机中运行线程的实时性认知,从而避免调度时由于虚拟机监视器系统无法获取不同虚拟机操作系统线程的实时性而进行盲目调度;
(2)通过优先调度带有预设实时标识的实时线程,可以增加实时线程被调度的次数,从而增加实时线程获得CPU资源的时长,使实时线程的运行更具稳定性,提高虚拟机操作系统的实时响应性能;
(3)通过实时线程在满足继续调度条件时优先调度的方法,对于不同虚拟机操作系统的线程,可以减少切换不同虚拟机操作系统的情况,提高了虚拟机监视器实时调度的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图;
图3是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图一;
图4是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图二;
图5是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图三;
图6是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图四;
图7是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图五;
图8是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图六;
图9是本申请实施例提供的一种虚拟机线程的调度装置的结构示意图;
图10是本申请实施例提供的一种虚拟机线程的调度方法的服务器的硬件结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。显然,所描述的实施例仅仅是本申请一个实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
此处所称的“实施例”是指可包含于本申请至少一个实现方式中的特定特征、结构或特性。在本申请实施例的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置/系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。术语“第一”、“第二”、“第三”、“第四”和“第五”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”和“第五”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”、“第三”、“第四”和“第五”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例能够以除了在这里图示或描述以外的顺序实施。此外,术语“包括”、“具有”和“为”以及他们的任何变形,意图在于覆盖不排他的包含。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,该示意图包括服务器101,其中,一种可选的实施方式中,该服务器101可以是包括虚拟机的实体计算机,该服务器包含虚拟机监视器系统,还包含可以实现线程调度的模型,并可以实时的获取想要的数据,以备后续可以得到线程调度的结果。
可选地,服务器可以包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
具体地,服务器101获取历史线程和待选择线程,其中,历史线程为前一时间片运行的线程,待选择线程为下一时间片可选择的线程,在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,并为历史线程设置延时调度标识。
下面介绍本申请一种虚拟机线程的调度方法的具体实施例,本说明书提供了如实施例或流程图所示的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多执行顺序中的一种方式,不代表唯一的执行顺序,在实际执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
虚拟机操作系统内部的调度程序可以明确其内部线程的实时性,对该操作系统内部具有实时性的线程优先调度运行。而对于不同的操作系统,虚拟机监视器系统无法判断不同操作系统线程的实时性,基于此种情况,可以向用户期望当前时间运行的操作系统线程标识信息中加入实时标识,当历史线程与待选择线程分别属于不同的操作系统时,虚拟机监视器系统可以根据该线程的标识信息判断该线程的实时性。
在一种可选的实施方式中,当一个虚拟机操作系统的实时线程对应的虚拟处理器可以分配给实现视频播放功能等,另一个虚拟机操作系统的非实时线程对应的虚拟处理器可以分配给实现下载功能等,此时视频播放功能需要持续进行,将其预设为实时线程,在实时线程的标识信息中加入实时标识,使虚拟机监视器系统在调度时可以判断视频播放功能对应的线程的实时性,优先调度视频播放功能对应的该实时线程,使下载功能对应的非实时线程尽可能少的抢占CPU资源,保证视频播放功能对应的实时线程可以优先获得CPU资源,减少对视频播放及时响应的影响。
图2是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图,如图2所示,该方法可以包括:
S201:获取历史线程和待选择线程;历史线程为前一时间片运行的线程;待选择线程为下一时间片可选择的线程;
本申请实施例中,在调度目标线程之前运行的线程为历史线程,待选择线程为线程调度时可供调度的线程,待选择线程可以是虚拟机操作系统的任意线程。
S203:在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息;
在一种可选的实施方式中,第一标识信息可以是历史线程的线程标识信息。
在一种可选的实施方式中,历史线程和待选择线程可以是不同操作系统的线程,历史线程属于第一操作系统,待选择线程属于第二操作系统。
在一种可选的实施方式中,第一操作系统和第二操作系统可以安装在同一个虚拟机中,也可以安装在同一台计算机的不同虚拟机中,使用同一虚拟机监视器系统进行调度。
在一种可选的实施方式中,在当前运行的线程的标识信息中加入实时标识,以CPU架构ARM64平台为例,两个64位寄存器TPIDR_EL0/TPIDR_EL1存放的是虚拟机操作系统的线程标识,将64位中的最高位16位征用,其中,可以将最高16位分为两部分,保留上半部分的8位,在下半部分8位中加入实时属性字段,用作实时属性的判断,加入实时属性字段的线程预设为具有高优先级的实时线程。可选地,8位实时属性可以表示256个优先级。将实时属性字段加入当前正在运行的虚拟机操作系统线程中,以明确该线程的实时性,能够避免虚拟机监视器由于无法获取不同操作系统线程的实时性而进行盲目调度,减少虚拟机操作系统的修改。
S205:若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度;
在一种可选的实施方式中,若第一标识信息中存在实时标识,且实时标识为预设值,可以根据此预设值确定历史线程具有实时性,将历史线程作为预设的实时线程,并对该历史线程预设一个运行的截止时间。判断历史线程是否还满足继续调度的条件,若满足继续调度条件,则历史线程可以作为目标线程进行调度,历史线程继续调度,即历史线程产生延时调度。
在一种可选的实施方式中,图3是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图一,具体如图3所示,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,其中,继续调度条件可以是历史线程存在延时调度标识。
S2051:若第一标识信息中的实时标识为预设值,且历史线程不存在对应的延时调度标识,将历史线程作为目标线程进行调度。
本申请实施例中,延时调度标识是记录线程是否产生过延时调度的标志,延时调度标识可以是虚拟机监视器调度模块中的一段程序。
历史线程不存在对应的延时调度标识,则历史线程在上一次调度时没有产生延时调度,在第一标识信息中的实时标识还存在预设值的条件下,调度历史线程作为目标线程,能够使预设为实时线程的历史线程尽可能多次产生延时调度,从而使历史线程运行时间更长,有更多的时间占用CPU资源。
在一种可选的实施方式中,历史线程为预设的实时线程,其对应的功能可以是当前正在播放的视频,或者正在输入即时消息的对话框等,待选择的线程对应的功能可以是下载的图片、最小化的文档等。若历史线程尽可能多次产生延时调度,对于正在播放的视频,下载图片会减少抢占CPU的时间,从而降低了播放视频过程中出现卡顿、掉帧等情况的可能性。
在一种可选的实施方式中,图4是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图二,具体如图4所示,继续调度条件还可以依据历史线程的截止时间进行判断。
S2053:若第一标识信息中的实时标识为预设值,且当前时间未到达历史线程的截止时间,将历史线程作为目标线程进行调度。
在一种可选的实施方式中,若第一标识信息中的实时标识为预设值,则历史线程为预设的实时线程,该线程存在一个预设的截止时间,截止时间可以是预设的该线程运行结束的时间。判断预设为实时线程的该历史线程是否已经到达预设的截止时间,若还未到达历史线程的截止时间,且历史线程不存在对应的延时调度标识,将历史线程作为目标线程进行调度,此时历史线程产生延时调度,可以使预设为实时线程的该历史线程尽可能运行更长的时间,从而增加实时线程运行的稳定性。
在一种可选的实施方式中,历史线程为预设的实时线程,其对应的功能可以是当前正在播放的视频,待选择的线程可以是下载的图片。历史线程的截止时间可以是播放视频的时长,在视频还未播放结束的情况下,若产生延时调度,对于正在播放的视频,下载图片会减少抢占CPU的时间,从而降低了播放视频过程中出现卡顿、掉帧等情况的可能性。
S207:为历史线程设置延时调度标识。
在一种可选的实施方式中,虚拟机监视器系统基于延时调度标识判断线程是否已经产生过延时调度。当线程存在延时调度标识,该线程已经产生延时调度。将历史线程作为目标线程进行调度,此时历史线程产生延时调度,为历史线程设置延时调度标识可以用于标记历史线程已经产生过一次延时调度,用于下一次调度时判断该历史线程已经在本次调度时产生了延时调度。可选地,延时调度标识可以是调度模块中与历史线程对应的一段程序。
本申请实施例中,历史线程可能会出现不满足继续调度条件的情况。
在一种可选的实施方式中,图5是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图三,具体如图5所示,其中,不满足继续调度条件可以是历史线程存在对应的延时调度标识。
S2041:若第一标识信息中的实时标识为预设值,且历史线程存在对应的延时调度标识,将待选择线程作为目标线程进行调度;删除延时调度标识。
在一种可选的实施方式中,尽管第一标识信息中的实时标识为预设值,此时该历史线程为预设的实时线程,但是,历史线程存在对应的延时调度标识,则该历史线程在上一次调度时已经产生过延时调度,调度模块会调度待选择线程。本次调度没有选择该历史线程,将历史线程的延时调度标识删除。这避免预设为实时线程的VCPU线程长期霸占CPU资源,出现影响其它线程运行的情况,为其它操作系统的线程留出可以运行的时间。在本次调度时,将历史线程的延时调度标识删除,预设为实时线程的该历史线程不再存在延时调度标识,则在下一次调度时,该历史线程不会受到上一次延时调度的影响。可选地,在下一次调度时,该历史线程可以视为没有产生过延时调度。
在一种可选的实施方式中,历史线程为预设的实时线程,其对应的功能可以是当前正在播放的视频,待选择的线程可以是下载的图片。为了使下载图片功能对应的线程也有机会运行,当调度模块判断出视频功能对应的线程已经产生过延时调度,则会调度下载图片功能对应的线程,以尽量避免对应视频播放功能的线程长期霸占CPU资源,从而给下载图片功能对应的线程分配一定的运行时间。
在一种可选的实施方式中,图6是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图四,具体如图6所示,其中,不满足继续调度条件可以是历史线程已经到达截止时间。
S2043:若第一标识信息中的实时标识为预设值,且当前时间到达历史线程的截止时间,将待选择线程作为目标线程进行调度。
在一种可选的实施方式中,历史线程到达预设截止时间时,此时历史线程可能存在延时调度标识,需要删除历史线程的延时调度标识,以避免影响后续调度线程的准确性。
在另一种可选的实施方式中,历史线程到达预设截止时间时,历史线程可能不存在延时调度标识。若上一次调度时选择的线程不是历史线程,则上一次调度时会删除该历史线程的延时调度标识,此时该历史线程没有延时调度标识。
在一种可选的实施方式中,在当前时间到达历史线程的截止时间后,删除第一标识信息中的实时标识的预设值,使实时标识为空值,历史线程由预设的实时线程变成非实时线程,以避免影响后续调度线程的准确性与稳定性。
在一种可选的实施方式中,图7是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图五,具体如图7所示,获取历史线程的第一标识信息之后,还包括:
S206:若第一标识信息中的实时标识为空值,将待选择线程作为目标线程进行调度。
在一种可选的实施方式中,第一标识信息中的实时标识为空值,则历史线程不是预设的实时线程,不具有实时线程相应的高优先级。
在一种可选的实施方式中,待选择线程的标识信息中存在实时标识且为预设值,此时待选择线程为预设的实时线程,具有更高的优先级,则调度待选择线程作为目标线程。
在另一种可选的实施方式中,若待选择线程是虚拟机监视器系统原本进行盲目调度时可能即将调度的线程,在历史线程没有预设为实时线程的情况下,调度模块可以调度待选择线程作为目标线程。
在一种可选的实施方式中,图8是本申请实施例提供的一种虚拟机线程的调度方法的流程示意图六,具体如图8所示,获取历史线程和待选择线程之后,还包括:
S202:若待选择线程和历史线程为同一线程,将历史线程作为目标线程进行调度。
在一种可选的实施方式中,历史线程和待选择线程还可以是同一操作系统的任意VCPU线程,其中,历史线程和待选择线程可以是同一线程。当即将调度的仍然是历史线程时,即待选择线程和历史线程为同一线程,调度历史线程作为目标线程。此时没有对历史线程进行延时调度干预,因此,历史线程可以不属于产生延时调度,可以不用为历史线程设置延时调度标识。
在一种可选的实施方式中,还可以对虚拟机进行故障检测。在对目标线程调度之前可以触发虚拟机故障检测模块,虚拟机故障检测模块可以确定虚拟机工作状态,若虚拟机工作状态异常,可能出现死机或故障的状况,则生成故障指令,虚拟机基于该故障指令可以进行重启或关闭的操作。
在一种可选的实施方式中,历史线程已经产生过延时调度,若历史线程所在的实时操作系统仍然在运行历史线程,即再次延时调度了该历史线程,此时虚拟机监视器系统会触发虚拟机故障检测,通过判断虚拟机的工作状态进行纠错,若虚拟机工作状态异常,虚拟机监视器系统会强制让出CPU资源给其它非实时的操作系统,让非实时操作系统的线程也会有时间运行。
采用本申请实施例提供的虚拟机线程的调度方法,通过获取历史线程和待选择线程,其中历史线程为前一时间片运行的线程,待选择线程为下一时间片可选择的线程,在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,并为历史线程设置延时调度标识。如此,可以实现虚拟机监视器系统对不同虚拟机操作系统线程实时性的认知,增加实时线程的调度次数,延长实时线程的被调度的时间,即延长实时线程占用CPU资源的时间,从而提高虚拟机的及时响应性能。
本申请实施例还提供的一种虚拟机线程的调度装置,图9是本申请实施例提供的一种虚拟机线程的调度装置的结构示意图。如图9所示,该装置包括:
线程获取模块901,用于获取历史线程和待选择线程;历史线程为前一时间片运行的线程;待选择线程为下一时间片可选择的线程;
第一标识信息获取模块902,用于在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息;
目标线程调度模块903,用于若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度;
延时调度标识设置模块904,用于为历史线程设置延时调度标识。
在一种可选的实施方式中,目标线程调度模块903,用于若第一标识信息中的实时标识为预设值,且历史线程不存在对应的延时调度标识,将历史线程作为目标线程进行调度。
在一种可选的实施方式中,目标线程调度模块903,用于若第一标识信息中的实时标识为预设值,且当前时间未到达历史线程的截止时间,将历史线程作为目标线程进行调度。
在一种可选的实施方式中,目标线程调度模块903,用于若第一标识信息中的实时标识为预设值,且历史线程存在对应的延时调度标识,将待选择线程作为目标线程进行调度;删除延时调度标识。
在一种可选的实施方式中,目标线程调度模块903,用于若第一标识信息中的实时标识为预设值,且当前时间到达历史线程的截止时间,将待选择线程作为目标线程进行调度。
在一种可选的实施方式中,目标线程调度模块903,用于若待选择线程和历史线程为同一线程,将历史线程作为目标线程进行调度。
本申请实施例中的装置与方法实施例基于同样的申请构思。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图10是本申请实施例提供的一种虚拟机线程的调度方法的服务器的硬件结构框图。如图10所示,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1010(处理器1010可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1030,一个或一个以上存储应用程序1023或数据1022的存储介质1020(例如一个或一个以上海量存储设备)。其中,存储器1030和存储介质1020可以是短暂存储或持久存储。存储在存储介质1020的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1010可以设置为与存储介质1020通信,在服务器1000上执行存储介质1020中的一系列指令操作。服务器1000还可以包括一个或一个以上电源1060,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1040,和/或,一个或一个以上操作系统1021,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1040可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1000的通信供应商提供的无线网络。在一个实例中,输入输出接口1040包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1040可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。本申请的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种虚拟机线程调度方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述虚拟机线程的调度方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的虚拟机线程的调度方法、设备或存储介质的实施例可见,本申请中通过获取历史线程和待选择线程,其中历史线程为前一时间片运行的线程,待选择线程为下一时间片可选择的线程,在历史线程属于第一操作系统,待选择线程属于第二操作系统的情况下,获取历史线程的第一标识信息,若第一标识信息中的实时标识为预设值,且历史线程满足继续调度条件,将历史线程作为目标线程进行调度,并为历史线程设置延时调度标识。如此,可以实现虚拟机监视器系统对不同虚拟机操作系统线程实时性的认知,增加实时线程的调度次数,延长实时线程的被调度的时间,即延长实时线程占用CPU资源的时间,从而提高虚拟机的及时响应性能。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种虚拟机线程的调度方法,其特征在于,包括:
获取历史线程和待选择线程;所述历史线程为前一时间片运行的线程;所述待选择线程为下一时间片可选择的线程;
在所述历史线程属于第一操作系统,所述待选择线程属于第二操作系统的情况下,获取所述历史线程的第一标识信息,所述第一操作系统和所述第二操作系统是不同的虚拟机操作系统;
若所述第一标识信息中的实时标识为预设值,且所述历史线程满足继续调度条件,将所述历史线程作为目标线程进行调度;
为所述历史线程设置延时调度标识,所述延时调度标识用于标记所述历史线程继续调度的行为。
2.根据权利要求1所述的虚拟机线程的调度方法,其特征在于,所述若所述第一标识信息中的实时标识为预设值,且所述历史线程满足继续调度条件,将所述历史线程作为目标线程进行调度,包括:
若所述第一标识信息中的实时标识为预设值,且所述历史线程不存在对应的延时调度标识,将所述历史线程作为所述目标线程进行调度。
3.根据权利要求1所述的虚拟机线程的调度方法,其特征在于,所述若所述第一标识信息中的实时标识为预设值,且所述历史线程满足继续调度条件,将所述历史线程作为目标线程进行调度,包括:
若所述第一标识信息中的实时标识为预设值,且当前时间未到达所述历史线程的截止时间,将所述历史线程作为所述目标线程进行调度。
4.根据权利要求1-3任一所述的虚拟机线程的调度方法,其特征在于,所述方法还包括:
若所述第一标识信息中的实时标识为预设值,且所述历史线程存在对应的延时调度标识,将所述待选择线程作为所述目标线程进行调度;删除所述延时调度标识。
5.根据权利要求1-3任一所述的虚拟机线程的调度方法,其特征在于,所述方法还包括:
若所述第一标识信息中的实时标识为预设值,且当前时间到达所述历史线程的截止时间,将所述待选择线程作为所述目标线程进行调度。
6.根据权利要求1所述的虚拟机线程的调度方法,其特征在于,所述获取所述历史线程的第一标识信息之后,还包括:
若所述第一标识信息中的实时标识为空值,将所述待选择线程作为所述目标线程进行调度。
7.根据权利要求1所述的虚拟机线程的调度方法,其特征在于,所述获取历史线程和待选择线程之后,还包括:
若所述待选择线程和所述历史线程为同一线程,将所述历史线程作为所述目标线程进行调度。
8.一种虚拟机线程的调度装置,其特征在于,包括:
线程获取模块,用于获取历史线程和待选择线程;所述历史线程为前一时间片运行的线程;所述待选择线程为下一时间片可选择的线程;
第一标识信息获取模块,用于在所述历史线程属于第一操作系统,所述待选择线程属于第二操作系统的情况下,获取所述历史线程的第一标识信息,所述第一操作系统和所述第二操作系统是不同的虚拟机操作系统;
目标线程调度模块,用于若所述第一标识信息中的实时标识为预设值,且所述历史线程满足继续调度条件,将所述历史线程作为目标线程进行调度;
延时调度标识设置模块,用于为所述历史线程设置延时调度标识,所述延时调度标识用于标记所述历史线程继续调度的行为。
9.一种电子设备,包括存储器和处理器,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现权利要求1-7任意一项所述的虚拟机线程的调度方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-7任意一项所述的虚拟机线程的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534192.0A CN114296865B (zh) | 2021-12-15 | 2021-12-15 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534192.0A CN114296865B (zh) | 2021-12-15 | 2021-12-15 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114296865A CN114296865A (zh) | 2022-04-08 |
CN114296865B true CN114296865B (zh) | 2024-03-26 |
Family
ID=80967824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111534192.0A Active CN114296865B (zh) | 2021-12-15 | 2021-12-15 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296865B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010047B (zh) * | 2022-12-12 | 2023-12-15 | 爱芯元智半导体(宁波)有限公司 | 线程调度方法、硬件电路及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103514043A (zh) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | 多处理器系统及该系统的数据处理方法 |
WO2018040750A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
WO2021218935A1 (zh) * | 2020-04-27 | 2021-11-04 | 安谋科技(中国)有限公司 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
CN113778824A (zh) * | 2021-08-23 | 2021-12-10 | 深圳市联影高端医疗装备创新研究院 | 操作系统实时性检测方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733449B (zh) * | 2017-04-17 | 2022-01-25 | 伊姆西Ip控股有限责任公司 | 用于管理虚拟机的方法、设备和计算机可读存储介质 |
-
2021
- 2021-12-15 CN CN202111534192.0A patent/CN114296865B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103514043A (zh) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | 多处理器系统及该系统的数据处理方法 |
WO2018040750A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
WO2021218935A1 (zh) * | 2020-04-27 | 2021-11-04 | 安谋科技(中国)有限公司 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
CN113778824A (zh) * | 2021-08-23 | 2021-12-10 | 深圳市联影高端医疗装备创新研究院 | 操作系统实时性检测方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Linux内核的实时支持的研究与实现;邹勇, 王青, 李明树;计算机研究与发展(04) * |
Also Published As
Publication number | Publication date |
---|---|
CN114296865A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468450B (zh) | 任务调度方法及系统 | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
CN111464355A (zh) | Kubernetes容器集群的伸缩容控制方法、装置和网络设备 | |
CN112416581B (zh) | 定时任务的分布式调用系统 | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
CN110457197B (zh) | 服务测试方法、装置、计算机设备和存储介质 | |
CN107451147A (zh) | 一种kafka集群动态切换的方法和装置 | |
CN110417870A (zh) | 配置文件管理方法、装置、设备和存储介质 | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
US10305974B2 (en) | Ranking system | |
CN114296865B (zh) | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 | |
US20170230713A1 (en) | Set Top Box Upgrade Method and Apparatus | |
US8843545B2 (en) | Supervision timer control mechanisms | |
CN111796933B (zh) | 资源调度方法、装置、存储介质和电子设备 | |
EP3032417A1 (en) | Cloud orchestration and placement using historical data | |
CN112631680A (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN111522664A (zh) | 基于分布式服务的服务资源管控方法及装置 | |
CN114124763B (zh) | 一种宽带接入速率的测量方法及系统 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN114691321A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN113419836A (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
CN111045805A (zh) | 任务执行器的评级方法、装置、计算机设备以及存储介质 | |
CN113747506A (zh) | 一种资源调度方法、装置和网络系统 | |
CN113342493B (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 |