CN113767367B - 虚拟机监视器及控制装置 - Google Patents

虚拟机监视器及控制装置 Download PDF

Info

Publication number
CN113767367B
CN113767367B CN202080031427.1A CN202080031427A CN113767367B CN 113767367 B CN113767367 B CN 113767367B CN 202080031427 A CN202080031427 A CN 202080031427A CN 113767367 B CN113767367 B CN 113767367B
Authority
CN
China
Prior art keywords
cpu core
virtual
virtual machine
cpu
allocated
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
CN202080031427.1A
Other languages
English (en)
Other versions
CN113767367A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo 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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of CN113767367A publication Critical patent/CN113767367A/zh
Application granted granted Critical
Publication of CN113767367B publication Critical patent/CN113767367B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

嵌入式设备的虚拟机监视器切换分配给各虚拟机的CPU资源。在需要调整CPU核心数的客户OS之间以作调整余量程度的重复的方式对各虚拟机分配CPU核心,对于重复分配的CPU核心,仅对一个OS赋予CPU时间(其他OS不运行),若客户OS间的负载发生变动,则切换赋予CPU时间的客户OS/虚拟机。进而,因切换而不再被分配CPU时间的客户OS以不分配实际进程的方式进行分配虚设进程等控制。

Description

虚拟机监视器及控制装置
技术领域
本发明例如涉及虚拟机监视器及控制装置的技术。
背景技术
下述专利文献1中记载有一种通过虚拟机监视器对各虚拟机分配CPU资源的方法的一例。专利文献1中,虚拟计算机系统具备:虚拟机;客户OS,其在虚拟机上运行;以及虚拟机监视器,其根据来自客户OS的HLT命令来算出分配给虚拟机的CPU的使用率,根据算出的CPU的使用率来决定对虚拟机分配CPU的时间长度。
现有技术文献
专利文献
专利文献1:日本专利特开2013-214146号公报
发明内容
发明要解决的问题
在嵌入式设备中使用虚拟机监视器的情况下,通过对一个CPU核心分配一个虚拟机的客户OS来确保实时性。专利文献1的方法是对一个CPU核心分配多个虚拟机的客户OS。因此产生CPU核心不分配给虚拟机的客户OS的时间,从而无法确保实时性。
本发明是鉴于上述问题而成,其目的在于提供一种能兼顾对客户OS间的负载变动的追踪与实时性的确保的虚拟机监视器和具有该虚拟机监视器的控制装置。
解决问题的技术手段
解决上述问题的本发明的虚拟机监视器的特征在于,在需要调整CPU核心数的客户OS之间以作调整余量程度的重复的方式对各虚拟机分配CPU核心,对于重复分配的CPU核心,仅对一个OS赋予CPU时间,根据客户OS间的负载的变动来切换赋予CPU时间的客户OS。
此外,其特征在于,在切换客户OS时,以对因切换而不再被赋予CPU时间的客户OS赋予虚设进程而不分配实际进程的方式进行控制。
发明的效果
根据本发明,能够兼顾对客户OS间的负载变动的追踪与实时性的确保。
根据本说明书的记述、附图,将明确本发明相关的更多特征。此外,上述以外的、课题、构成及效果将通过以下实施方式的说明来加以明确。
附图说明
图1为第1实施方式的整体构成图。
图2为第1实施方式中的功能构成图。
图3为第1实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图4为第1实施方式中的OS 131所包含的管理表132的构成图。
图5为第1实施方式中的OS 141所包含的管理表142的构成图。
图6为表示第1实施方式中的代理133、143的处理内容的流程图。
图7为表示第1实施方式中的虚拟机监视器12的处理内容的流程图。
图8为第1实施方式中的功能构成图。
图9为第1实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图10为第1实施方式中的OS 131所包含的管理表132的构成图。
图11为第1实施方式中的OS 141所包含的管理表142的构成图。
图12为表示第1实施方式中的代理133、143、OS 131、141和虚拟机监视器12的动作的顺序图。
图13为第2实施方式的整体构成图。
图14为第2实施方式中的功能构成图。
图15为第2实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图16为第2实施方式中的OS 131所包含的管理表132的构成图。
图17为第2实施方式中的OS 141所包含的管理表142的构成图。
图18为第2实施方式中的OS 151所包含的管理表152的构成图。
图19为第2实施方式中的功能构成图。
图20为第2实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图21为第2实施方式中的OS 131所包含的管理表132的构成图。
图22为第2实施方式中的OS 151所包含的管理表152的构成图。
图23为第2实施方式的变形例,为OS 131所包含的管理表132的构成图。
图24为第3实施方式中的OS 131所包含的管理表132的构成图。
图25为第3实施方式中的OS 141所包含的管理表142的构成图。
图26为第3实施方式中的OS 131所包含的管理表132的构成图。
图27为第3实施方式中的OS 141所包含的管理表142的构成图。
图28为表示第3实施方式中的代理133、143的处理内容的流程图。
图29为表示第3实施方式中的代理133、143、OS 131、141和虚拟机监视器12的动作的顺序图。
图30为表示第4实施方式中的代理133、143、OS 131、141和虚拟机监视器12的动作的顺序图。
图31为表示第4实施方式中的代理133、143的处理内容的流程图。
图32为第5实施方式中的功能构成图。
图33为表示第5实施方式中的虚拟机监视器12的处理内容的流程图。
图34为表示第5实施方式中的代理133、143的处理内容的流程图。
图35为表示第5实施方式中的代理153、OS 151和虚拟机监视器12的动作的顺序图。
图36为第5实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图37为第5实施方式中的OS 151所包含的管理表152的构成图。
图38为第5实施方式中的变形例的功能构成图。
图39为第5实施方式中的变形例的功能构成图。
图40为表示第5实施方式中的虚拟机监视器12的处理内容的流程图。
图41为表示第5实施方式中的代理133、OS 131和虚拟机监视器12的动作的顺序图。
图42为第5实施方式中的虚拟机监视器12所包含的管理表122的构成图。
图43为第5实施方式中的OS 131所包含的管理表132的构成图。
具体实施方式
下面,使用附图,对本发明的实施方式进行说明。
<第1实施方式>
图1为本发明的第1实施方式的整体构成图。
本实施方式的控制装置由ECU 1构成。ECU 1例如是搭载于汽车中而用于ADAS(先进驾驶辅助系统)或自动驻车控制的车载电脑。
ECU 1在硬件上具有CPU(运算处理装置)10和存储器(存储装置)11。CPU 10与存储器11在ECU 1内经由内部总线或适配器而相互连接。CPU 10具有多个CPU核心,在本实施方式中具有3个CPU核心1010~1012(CPU核心0~2)。
存储器11具有虚拟机监视器12和多个虚拟机13、14(VM1、2)。虚拟机监视器12和虚拟机13、14(VM1、2)是分别存放在存储器11中的虚拟化软件的程序。虚拟机监视器12为嵌入式的虚拟机监视器,具有管理表122和多个虚拟CPU核心。虚拟CPU核心包括4个虚拟CPU核心1230~1233(CPU核心0~3)。
虚拟机设置的是虚拟机13(VM1)和虚拟机14(VM2)这2个。虚拟机13(VM1)具有OS131(OS 1)、代理133、虚设进程134以及真实进程135这各个程序。OS 131(OS1)是所谓的客户OS,具有管理表132。
虚拟机14(VM2)具有与虚拟机13(VM1)同样的构成,具有OS 141(OS2)、代理143、虚设进程144以及真实进程145这各个程序。OS 141(OS2)为客户OS,具有管理表142。
3个CPU核心1010~1012(CPU核心0~2)执行存储器11中存放的程序。再者,在后面的说明中,有时会以程序为主语来进行说明,但执行主体始终是CPU核心1010~1012(CPU核心0~2)。此外,下面使用图2及图8对存储器11内存放的程序的功能进行说明。
图2和图8为本发明的第1实施方式中的控制装置的功能构成图。图2展示了虚拟机13(VM1)为低负载、虚拟机13(VM1)实质上没有使用CPU核心1011的状态,图8展示了虚拟机14(VM2)为低负载、虚拟机14(VM2)实质上没有使用CPU核心1011的状态。
虚拟机监视器12在需要调整CPU核心数的客户OS之间以作调整余量程度的重复的方式对各虚拟机分配CPU核心,对于重复分配的CPU核心,仅对一个OS赋予CPU时间,根据客户OS间的负载的变动来进行对赋予CPU时间的客户OS进行切换的处理。并且,在切换客户OS时,以对因切换而不再被赋予CPU时间的客户OS赋予虚设进程而不分配实际进程的方式进行控制。
图2中展示了在虚拟机13(VM1)中执行真实进程135a和虚设进程134、在虚拟机14(VM2)中执行真实进程145a、145b的状态。并且,图8中展示了在虚拟机13(VM1)中执行真实进程135a、135b、在虚拟机14(VM2)中执行虚设进程144和真实进程145b的状态。
虚拟机监视器12以宛如由虚拟CPU核心1230、1231(CPU核心0、1)执行虚拟机13(VM1)内的程序的方式进行虚拟化,此外,以宛如由虚拟CPU核心1232、1233(虚拟CPU核心2、3)执行虚拟机14(VM2)内的程序的方式进行虚拟化。
虚拟机监视器12使虚拟CPU核心1230(虚拟CPU核心0)对应于CPU核心1010(CPU核心0),使虚拟CPU核心1233(虚拟CPU核心3)对应于CPU核心1012(CPU核心2)。并且,使虚拟CPU核心1231(虚拟CPU核心1)和虚拟CPU核心1232(虚拟CPU核心2)两方对应于CPU核心1011(CPU核心1)。
虚拟机监视器12使虚拟CPU核心1230(虚拟CPU核心0)所执行的程序实际上由CPU核心1010(CPU核心0)来执行。并且,例如图2所示,使虚拟CPU核心1232、1233(虚拟CPU核心2、3)所执行的程序实际上由CPU核心1011、1012(CPU核心1、CPU核心2)来执行。
虚拟机监视器12对多个CPU核心中的一个第一CPU核心(CPU核心1011)关联多个虚拟机(VM1、VM2)。并且,仅对多个虚拟机中的一个第一虚拟机(VM2)分配第一CPU核心的使用时间。
例如图2所示,虚拟机监视器12像后文叙述那样事实上不让CPU核心1011(CPU核心1)执行虚拟CPU核心1231(虚拟CPU核心1)将要执行的程序。OS 131(OS1)欲让虚拟CPU核心1230(虚拟CPU核心0)执行真实进程135a,欲让虚拟CPU核心1231(虚拟CPU核心1)执行虚设进程134。但实际上,虚拟机监视器12不会让虚拟CPU核心1231(虚拟CPU核心1)上的程序执行,因此虚设进程134不会被执行。
真实进程145a、145b与虚拟CPU核心1232、1233(虚拟CPU核心2、3)、OS 141(OS2)的关系也和真实进程135a与虚拟CPU核心1230(虚拟CPU核心0)、OS 131(OS1)的关系是一样的。在各虚拟机(VM1、VM2)内未运行真实进程135、145的期间内,各OS(OS1、OS2)让未运行真实进程的虚拟CPU核心执行代理133、143。例如,OS 131(OS1)让虚拟CPU核心1230(虚拟CPU核心0)执行代理133。
真实进程135a、145a、145b能以分别占用对应的CPU核心1010、1011、1012(CPU核心0、1、2)的方式运行。另一方面,虚设进程134在对应的CPU核心1011(CPU核心1)内不会被执行。虚设进程134是虚设的,因此即便不被执行也没有问题。
上述对应关系由接下来说明的图3~图5、图9~图11的表格规定。也就是说,图3~图5所示的表格的值展示了图2所示的状态,图9~图11所示的表格的值展示了图8所示的状态。
图3为第1实施方式中的虚拟机监视器12所包含的管理表122的构成图。虚拟机监视器12的管理表122具有CPU核心-虚拟CPU核心对应表1221和虚拟CPU核心-VM对应表1222。
CPU核心-虚拟CPU核心对应表1221展示CPU核心1010~1012(CPU核心0~2)与虚拟CPU核心1230~1233(虚拟CPU核心0~3)的对应关系以及该虚拟CPU核心的分配率也就是CPU核心使用几%的CPU时间(CPU使用时间)来执行该虚拟CPU核心上的程序。例如,CPU核心1010(CPU核心0)关联于虚拟CPU核心1230(虚拟CPU核心0)。并且,使用100%的CPU时间来执行虚拟CPU核心1230上的程序。同样地,CPU核心1012(CPU核心2)关联于虚拟CPU核心1233(虚拟CPU核心3)。并且,使用100%的CPU时间来执行虚拟CPU核心1233上的程序。
CPU核心1011(CPU核心1)在关联于虚拟CPU核心1231(虚拟CPU核心1)的同时还关联于虚拟CPU核心1232(虚拟CPU核心2)。并且,使用100%的CPU时间来执行虚拟CPU核心1232(虚拟CPU核心2)上的程序。并且,使用0%的CPU时间来执行(也就是不执行)虚拟CPU核心1231(虚拟CPU核心1)上的程序。
虚拟CPU核心-VM对应表1222展示虚拟CPU核心(虚拟CPU核心0~3)与虚拟机(VM1、2)的对应。图3所示的例子展示了虚拟CPU核心1230、1231(虚拟CPU核心0、1)关联于虚拟机13(VM1)、虚拟CPU核心1232、1233关联于虚拟机14(VM2)的情况。也就是说,展示了虚拟CPU核心1230、1231(CPU核心0、1)执行虚拟机13(VM1)内的程序、虚拟CPU核心1232、1233(虚拟CPU核心2、3)执行虚拟机14(VM2)内的程序的情况。
图4为第1实施方式中的OS 131所包含的管理表132的构成图。虚拟机13(VM1)的管理表132具有虚拟CPU核心-进程对应表1321和虚设进程管理表1322。
虚拟CPU核心-进程对应表1321展示哪一虚拟CPU核心执行哪一进程也就是被执行的进程和执行该进程的虚拟CPU核心是哪一个。图4所示的例子展示了由虚拟CPU核心1230(虚拟CPU核心0)执行进程1000(真实进程135a)、由虚拟CPU核心1231(虚拟CPU核心1)执行进程9000(虚设进程134)的情况。
虚设进程管理表1322具有后文叙述的CPU使用率的阈值(%)、与其他虚拟机(OS)共享的虚拟CPU核心编号、以及共享该虚拟CPU核心的虚拟机的标识符的信息。再者,虚设进程管理表1322相关的详细内容将在后面图6的流程图的说明中加以叙述。
图5为第1实施方式中的OS 141所包含的管理表142的构成图。虚拟机14(VM2)的管理表142具有虚拟CPU核心-进程对应表1421和虚设进程管理表1422。除了管理的对象为OS141(OS2)以外,管理表142的构成与管理表132相同。
在图5所示的例子中,虚拟CPU核心-进程对应表1421规定由虚拟CPU核心1232(虚拟CPU核心2)执行进程1001(真实进程145a)、由虚拟CPU核心1233(虚拟CPU核心3)执行进程1002(真实进程145b)。虚设进程管理表1422的内容的说明将与图4的虚设进程管理表1322一起在后面图6的流程图的说明中加以叙述。
图2~图5展示了虚拟机13(VM1)为低负载、虚拟机13(VM1)实质上没有使用CPU核心1011的状态,相对于此,图8~图11展示了虚拟机14(VM2)为低负载、虚拟机14(VM2)实质上没有使用CPU核心1011的状态(图2与图8、图3与图9、图4与图10、图5与图11相互对应,各自的结构相同)。
图6为表示第1实施方式中的代理133、143的处理内容的流程图。虚拟机13、14(VM1、2)的代理133、143在自身的虚拟机的负载为低负载时,在与其他虚拟机的OS共享的虚拟CPU核心上运行虚设进程。并且,向其他虚拟机的OS上的代理通知与该虚拟CPU核心相对应的CPU核心已可用这一情况。存放有此时的通知目标OS和用于判断是否为低负载的阈值的信息的是图4、图5所示的虚设进程管理表1322、1422。
代理133、143判断自身的虚拟机13、14(VM1、2)的负载是否为低负载(步骤S101)。此时,代理133、143计算与虚拟机13、14(VM1、2)分别相关联的所有虚拟CPU核心的使用率的合计,并与虚设进程管理表1322、1422的阈值进行比较。继而,若使用率的合计低于阈值,则判断为低负载(步骤S101中为是),向OS 131、141针对虚设进程管理表1322、1422中的虚拟CPU核心编号而发送虚设进程分配请求(步骤S102)。
例如,在虚拟机13(VM1)的情况下,虚拟机13(VM1)关联有2个虚拟CPU核心1230、1231(虚拟CPU核心0、1),因此,虚拟机13(VM1)中的虚拟CPU核心的使用率的合计值最大为200%。虚拟机13(VM1)的代理133对该使用率的合计(2个虚拟CPU核心1230、1231(虚拟CPU核心0、1)的使用率的合计)与虚设进程管理表1322中规定的阈值20%进行比较,若低于阈值,则判断虚拟机13(VM1)的负载为低负载。对于虚拟机14(VM2),也同样地进行是否为低负载的判断。
例如根据图2~图5所示的状态,在虚拟机14(VM2)的负载已变为低负载的情况下,虚拟机14(VM2)的代理143判断虚拟机14(VM2)的负载已变为低负载,这时,指定虚设进程管理表1422中的虚拟CPU核心1232(虚拟CPU核心2),对OS 141(OS2)发送虚设进程分配请求(步骤S102)。当OS 141(OS2)从代理143接收到虚设进程分配请求时,对虚拟CPU核心1232(虚拟CPU核心2)分配虚设进程144。
当OS 141(OS2)分配虚设进程144时,OS 141(OS2)的管理表142变为图11所示的对应。也就是说,以由虚拟CPU核心1232(虚拟CPU核心2)执行进程9001(虚设进程144)、由虚拟CPU核心1233(虚拟CPU核心3)执行进程1002(真实进程145b)的方式变更对应。继而,虚拟机14(VM2)的代理143还将CPU核心-虚拟CPU核心对应变更请求发送至虚拟机监视器12(步骤S105),并返回至程序的开头。CPU核心-虚拟CPU核心对应变更请求是在虚拟机的负载的比例发生了变化的情况下请求对排他性地被给与CPU核心的使用时间的虚拟机进行切换的信号。
代理143在将CPU核心-虚拟CPU核心对应变更请求发送至虚拟机监视器12时,将存放在虚设进程管理表1422中的、共享虚拟CPU核心的虚拟机的标识符VM1和同样存放在虚设进程管理表1422中的虚拟CPU核心编号(虚拟CPU核心2)的信息一同发送至虚拟机监视器12。
如此,各代理133、143在未判断出自身的虚拟机13、14(VM1、2)的负载为低负载的情况下(步骤S101中为否),判断是否从虚拟机监视器12接收到CPU核心-虚拟CPU核心对应变更通知(步骤S111)。继而,在步骤S111中接收到了CPU核心-虚拟CPU核心对应变更通知的情况下(步骤S111中为是),对OS 131、141(OS1、2)发送虚设进程结束请求(步骤S115),并返回至程序的开头。
另一方面,在步骤S111中未接收到CPU核心-虚拟CPU核心对应变更通知的情况下(步骤S111中为否),CPU 10判断是否从OS 131、141(OS1、2)接收到结束请求(步骤S131)。继而,在从OS 131、141(OS1、2)接收到结束请求的情况下,将程序结束(步骤S131中为是),在未接收到结束请求的情况下(步骤S131中为否),返回至程序的开头。
例如,虚拟机13(VM1)的代理133在从虚拟机14(VM2)的代理143经由虚拟机监视器12接收到CPU核心-虚拟CPU核心对应变更通知的情况下(步骤S111中为是),在步骤S115中对自身的OS 131(OS1)发送虚设进程的结束请求。继而,当虚设进程结束时,OS 131(OS1)认为真实进程135b已可执行,从而对虚拟CPU核心1231(虚拟CPU核心1)分配进程1003(真实进程135b)并开始其执行。进程开始后的管理表132变为图10所示的构成。
图7为表示第1实施方式中的虚拟机监视器12的处理内容的流程图。
在多个虚拟机的负载的比例发生了变化的情况下,虚拟机监视器12判定是否接收到了对排他性地被给与第一CPU核心的使用时间的虚拟机进行切换的对应变更请求。继而,在接收到了CPU核心-虚拟CPU核心对应变更请求的情况下,在进行虚拟机的切换之前进行如下处理:制止向未被分配CPU核心的使用时间的虚拟机内的OS的与CPU核心相对应的虚拟CPU核心分配任意进程。
虚拟机监视器12判断是否接收到了来自任一代理133、143的CPU核心-虚拟CPU核心对应变更请求(步骤S211)。继而,在接收到了CPU核心-虚拟CPU核心对应变更请求的情况下(步骤S211中为是),从CPU核心-虚拟CPU核心对应表1221中检索同时发送来的虚拟CPU核心编号,将找到的虚拟CPU核心的分配率从100%变更为0%。
继而,还结合虚拟CPU核心-VM对应表1222进行对照来检测与该虚拟CPU核心所关联的CPU核心相同的CPU核心相关联、进而与共享同时发送来的虚拟CPU核心的虚拟机的标识符相关联的虚拟CPU核心,针对检测到的虚拟CPU核心而将分配率从0%变更为100%(步骤S212)。
进而,CPU 10从虚拟CPU核心-VM对应表1222中检索与已将分配率变更为100%的虚拟CPU核心相关联的虚拟机,对找到的虚拟机上的代理133、143发送CPU核心-虚拟CPU核心对应变更通知(步骤S213),并返回至程序的开头。
此处,以接收到来自代理143的CPU核心-虚拟CPU核心对应变更请求的情况为例,对步骤S212~S213的处理内容进行说明。当虚拟机监视器12从代理143收到CPU核心-虚拟CPU核心对应变更请求时,从CPU核心-虚拟CPU核心对应表1221中检索同时接收到的虚拟CPU核心编号(虚拟CPU核心1232(虚拟CPU核心2)),将具有该虚拟CPU核心编号的虚拟CPU核心的分配率从100%变更为0%。
进而,虚拟机监视器12将与同时接收到的虚拟CPU核心编号(虚拟CPU核心1232(虚拟CPU核心2))相关联的CPU核心1011(CPU核心1)相关联、进而与共享同时发送来的虚拟CPU核心的虚拟机的标识符相关联的虚拟CPU核心1231(虚拟CPU核心1)的分配率从0%变更为100%。变更后的管理表122变为图9所示的构成。
在步骤S211中未接收到CPU核心-虚拟CPU核心对应变更请求的情况下(步骤S211中为否),虚拟机监视器12判断是否从管理程序(未图示)接收到结束请求,在接收到的情况下结束(步骤S231中为是),在未接收到的情况下(步骤S231中为否),返回至程序的开头。
如以上所述,通过由CPU 10执行代理133、143和虚拟机监视器12,图3~图5的各表格的内容被重写为图9~图11的内容,变为图8所示的构成。图12为表示第1实施方式中的代理133、143、OS 131、141和虚拟机监视器12的动作的顺序图。从右上往左下对应于步骤S101中为是、S102、S105、S211中为是、S212、S213、S111中为是、S115。
根据本实施方式的ECU 1(控制装置),通过步骤S212,可以将与正在运行已变为低负载的虚拟机14(VM2)的虚拟CPU核心1232(虚拟CPU核心2)相对应的CPU核心1011(CPU核心1)的分配率变更为0%,将与正在运行虚拟机13(VM1)的虚拟CPU核心1231(虚拟CPU核心1)相对应的CPU核心1011(CPU核心1)的分配率变更为100%,能够实现与虚拟机的负载一致的CPU核心的分配率的变更。
进而,在步骤S212之前,在步骤S102中对将分配率设为0%的虚拟CPU核心1232(虚拟CPU核心2)分配虚设进程144,因此能防止OS 141对虚拟CPU核心1232(虚拟CPU核心2)分配真实进程145a这一情况。因而,具有虚拟机监视器12的ECU 1能够兼顾对OS131与141之间的负载变动的追踪与实时性的确保。
<第2实施方式>
接着,对本发明的第2实施方式进行说明。
图13为第2实施方式的整体构成图。对与第1实施方式同样的构成标注同一符号,由此省略其详细说明。
第1实施方式的图1所示的构成与第2实施方式的图13所示的构成的差异在于CPU10内的CPU核心1010~1014的数量、虚拟机监视器12内的虚拟CPU核心1230~1237的数量、以及追加了虚拟机15(VM3)。在本实施方式中,对CPU 10内的CPU核心的数量设为5、虚拟机监视器12内的虚拟CPU核心的数量设为8、虚拟机的数量设为3的情况进行说明。
虚拟机15(VM3)具有与虚拟机13、14(VM1、2)同样的构成,具有OS 151(OS3)、代理153、虚设进程154以及真实进程155这各个程序,OS 151(OS3)具有管理表152。
图14为第2实施方式中的控制装置的功能构成图。图14展示了虚拟机13、14(VM1、2)为低负载、虚拟机13、14(VM1、2)实质上没有使用CPU核心1011、1013的状态。
图14中展示了在虚拟机13(VM1)中执行真实进程135a和虚设进程134、在虚拟机14(VM2)中执行真实进程145a和虚设进程144a、144b、在虚拟机15(VM3)中执行真实进程155a~155c的状态。
虚拟机监视器12以宛如由虚拟CPU核心1230、1231(虚拟CPU核心0、1)执行虚拟机13(VM1)内的程序的方式进行虚拟化,此外,以宛如由虚拟CPU核心1232、1233、1234(虚拟CPU核心2、3、4)执行虚拟机14(VM2)内的程序的方式进行虚拟化。并且,以宛如由虚拟CPU核心1235、1236、1237(虚拟CPU核心5、6、7)执行虚拟机15(VM3)内的程序的方式进行虚拟化。
CPU核心1010(CPU核心0)关联于虚拟CPU核心1230(虚拟CPU核心0),CPU核心1012(CPU核心2)关联于虚拟CPU核心1232(虚拟CPU核心2),CPU核心1014(CPU核心4)关联于虚拟CPU核心1235(虚拟CPU核心5)。并且,CPU核心1011(CPU核心1)与虚拟CPU核心1231、1233、1236(虚拟CPU核心1、3、6)这3个相关联,CPU核心1013(CPU核心3)与虚拟CPU核心1234、1237(虚拟CPU核心4、7)这2个相关联。
虚拟机13(VM1)与其他虚拟机14(VM2)共享1个虚拟CPU核心1231(虚拟CPU核心1)。虚拟机14(VM2)与其他虚拟机13、15(VM1、3)共享2个虚拟CPU核心1233、1234(虚拟CPU核心3、4)。虚拟机15(VM3)与其他虚拟机13、14(VM1、2)共享2个虚拟CPU核心1236、1237(虚拟CPU核心6、7)。
图15~图18为与图14所示的状态相对应的虚拟机监视器12和OS 131~133(OS1~3)的管理表的构成图。图15为第2实施方式中的虚拟机监视器12所包含的管理表122的构成图,是对应于第1实施方式的图3的图。
图15的CPU核心-虚拟CPU核心对应表1221中展示了CPU核心1011~1014(CPU核心0~4)与虚拟CPU核心1230~1237(虚拟CPU核心0~7)的对应。例如,CPU核心1011(CPU核心1)与虚拟CPU核心1231、1233、1236(虚拟CPU核心1、3、6)相关联,虚拟CPU核心1231、1233(虚拟CPU核心1、3)这2个的分配率为0%。与虚拟CPU核心1231、1233(虚拟CPU核心1、3)一起共享CPU核心1011(CPU核心1)的虚拟CPU核心1236(虚拟CPU核心6)的分配率为100%。
图15的虚拟CPU核心-VM对应表1222中展示了虚拟CPU核心1230、1231(虚拟CPU核心0、1)关联于虚拟机13(VM1)、虚拟CPU核心1232~1234(虚拟CPU核心2~4)关联于虚拟机14(VM2)、虚拟CPU核心1235~1237(虚拟CPU核心5~7)关联于虚拟机15(VM3)的情况。图16为第2实施方式中的OS 131所包含的管理表132的构成图,是对应于第1实施方式的图4的图。图16所示的管理表132的构成与图4相同。
图17为第2实施方式中的OS 141所包含的管理表142的构成图。图17所示的例子展示了由虚拟CPU核心1232(虚拟CPU核心2)执行进程1002(真实进程145a)、由虚拟CPU核心1233、1234(虚拟CPU核心3、4)执行进程9001、9002(虚设进程144a、144b)的情况。虚设进程管理表1422中,虚拟CPU核心1233、1234(虚拟CPU核心3、4)分别关联于虚拟机15(VM3),虚拟CPU核心1233(虚拟CPU核心3)的阈值设定为40%,虚拟CPU核心1234(虚拟CPU核心4)的阈值设定为20%。
虚设进程管理表1422中阈值有2个,由此,根据使用率来变更与CPU核心的对应的虚拟CPU核心的数量发生变化。在虚拟机14(VM2)的情况下,虚拟机14(VM2)关联有3个虚拟CPU核心1232~1234(虚拟CPU核心2~4),因此虚拟机14(VM2)中的虚拟CPU核心的使用率的合计值最大为300%。
虚拟机14(VM2)的代理143对该使用率的合计(3个虚拟CPU核心1232~1234(虚拟CPU核心2~4)的使用率的合计)与虚设进程管理表1422中规定的阈值20%、40%进行比较,判断虚拟机14(VM2)的负载是否为低负载。例如展示了如下情况:在OS 141的使用率的值低于阈值40%且高于20%的情况下,由虚拟CPU核心1233(虚拟CPU核心3)执行进程9001(虚设进程144a)。并且,在OS2的使用率低于阈值20%的情况下,进而由虚拟CPU核心1234(虚拟CPU核心4)执行进程9002(虚设进程144b)。
图18为第2实施方式中的OS 151所包含的管理表152的构成图。图18所示的例子展示了由虚拟CPU核心1235~1237(虚拟CPU核心5~7)执行进程1004~1006(真实进程155a~155c)的情况。虚设进程管理表1522中,虚拟CPU核心1236、1237(虚拟CPU核心6、7)分别关联于虚拟机13、14(VM1、2),虚拟CPU核心1236(虚拟CPU核心6)的阈值设定为40%,虚拟CPU核心1237(虚拟CPU核心7)的阈值设定为20%。虚设进程管理表1522中例如展示了如下情况:在OS 151的使用率的值低于阈值40%且高于20%的情况下,由虚拟CPU核心1236(虚拟CPU核心6)执行进程1004(真实进程155b),在OS3的使用率低于阈值20%的情况下,进而由虚拟CPU核心1237(虚拟CPU核心7)执行进程1006(真实进程155c)。
图19为第2实施方式中的功能构成图。图19中展示了虚拟机14、15(VM2、3)为低负载、虚拟机14(VM2)实质上没有使用CPU核心1011、1013、虚拟机15(VM3)实质上没有使用CPU核心1011的状态。也就是说,展示了在虚拟机13(VM1)中执行真实进程135a、135b、在虚拟机14(VM2)中执行真实进程145a和虚设进程144a、144b、在虚拟机15(VM3)中执行真实进程155a、155c和虚设进程154b的状态。
虚拟机监视器12以宛如由虚拟CPU核心1232~1234(CPU核心2~4)执行虚拟机14(VM2)内的程序的方式进行虚拟化,此外,以宛如由虚拟CPU核心1235~1237(虚拟CPU核心5~7)执行虚拟机15(VM3)内的程序的方式进行虚拟化。并且,以宛如由虚拟CPU核心1231、1232(虚拟CPU核心0、1)执行虚拟机13(VM1)内的程序的方式进行虚拟化。根据本实施方式的控制装置,可以从1个虚拟机向2个以上的虚拟机变更虚拟CPU核心与CPU核心的关联。
图20~图23为与图19所示的状态相对应的虚拟机监视器12和OS 131~133(OS1~3)的管理表的构成图。
图20为第2实施方式中的虚拟机监视器12所包含的管理表122的构成图。根据图20,分配率0%的是虚拟CPU核心1233、1234、1236(虚拟CPU核心3、4、6)这3个。与图15所示的例子的差异在于虚拟CPU核心1236(虚拟CPU核心6)的分配率变为0%、虚拟CPU核心1231(虚拟CPU核心1)的分配率变为100%。
图21为第2实施方式中的OS 131所包含的管理表132的构成图。与图16所示的例子的差异在于对虚拟CPU核心1231(虚拟CPU核心1)分配的是真实进程1003(真实进程135b)。
图22为第2实施方式中的OS 151所包含的管理表152的构成图。与图18所示的构成的差异在于对虚拟CPU核心1236(虚拟CPU核心6)分配的是虚设进程9003(虚设进程154a)。
图23展示第2实施方式的变形例,是OS 131所包含的管理表132的构成图。该变形例的管理表132为如下构成:虚设进程管理表1322中有多个虚拟机的通知目标(VM2、3),可根据负载来改变交给哪一方。
<第3实施方式>
接着,使用图24~图29,对本发明的第3实施方式进行说明。
图24和图26为第3实施方式中的OS 131所包含的管理表132的构成图,图24所示的构成对应于图4,图26所示的构成对应于图10。对与上述实施方式同样的构成要素标注同一符号,由此省略其详细说明。
本实施方式中的OS 131(OS1)的管理表132除了图4所示的构成以外还具备进程-虚拟CPU核心分配候选对应表1323。进程-虚拟CPU核心分配候选对应表1323指定能分别运行真实进程和虚设进程的虚拟CPU核心。
例如,在图24所示的进程-虚拟CPU核心分配候选对应表1323中,指定虚拟CPU核心1231(虚拟CPU核心1)作为能分别运行进程9000(虚设进程134)和进程1003(真实进程135)的虚拟CPU核心。虚设进程和真实进程中,虚设进程的优先度高于真实进程,因此虚拟CPU核心1231(虚拟CPU核心1)执行虚设进程134。
图25和图27为OS 141所包含的管理表142的构成图,图25所示的构成对应于图5,图27所示的构成对应于图11。
本实施方式中的OS 141(OS2)的管理表142除了图5所示的构成以外还具备进程-虚拟CPU核心分配候选对应表1423。进程-虚拟CPU核心分配候选对应表1423的构成与图24所示的进程-虚拟CPU核心分配候选对应表1323相同。图25中,虚设进程未关联有虚拟CPU核心,因此虚设进程不会运行。
图28为表示第3实施方式中的代理133、143的处理内容的流程图。与图6所示的第1实施方式的构成的差异在于执行步骤S103、S106代替图6的步骤S105以及在步骤S115之前执行步骤S113。
在步骤S103中,请求OS 141(OS2)向虚拟机监视器12发布Halt命令。该请求是指定虚拟CPU核心1232(虚拟CPU核心2)来进行,虚拟CPU核心1232(虚拟CPU核心2)停止动作。在步骤S106中,从OS 141(OS2)上的代理143对OS 131(OS1)上的代理133发送CPU核心可用通知。
在步骤S112中,OS 131(OS1)上的代理判定是否接收到CPU核心可用通知,在接收到的情况下(步骤S112中为是),在步骤S113中请求OS 131(OS1)向虚拟机监视器12发布Resume命令。发布Resume命令的请求是由代理133指定虚拟CPU核心1231(虚拟CPU核心1)来进行,虚拟CPU核心1231(虚拟CPU核心1)恢复动作。
图29为表示第3实施方式中的代理133、143、OS 131、141(OS1、2)和虚拟机监视器12的动作的顺序图。从右上往左下对应于步骤S101中为是、S102、S103、S106、S112中为是、S113、S115。
在本实施方式中,虚拟机监视器12只是从OS 131(OS1)接受Halt命令的发布、从OS141(OS2)接受Resume命令的发布,可以使用现有的无改造的构成。
<第4实施方式>
接着,对本发明的第4实施方式进行说明。
图30为表示第4实施方式中的代理133、143、OS 131、141以及虚拟机监视器12的动作的顺序图,图31为表示第4实施方式中的代理133、143的处理内容的流程图。对与第1实施方式同样的构成标注同一符号,由此省略其详细说明。
本实施方式与第1实施方式的图6所示的构成的差异在于从负载已升高的虚拟机向其他虚拟机发布CPU核心使用请求。例如,虚拟机13(VM1)的代理133判定自身正在使用的CPU核心的负载是否为低负载(步骤S101),在不是低负载的情况下(步骤S101中为否),判定是否为高负载(步骤S301)。继而,当判定为高负载时(步骤S301中为是),从虚拟机13(VM1)向虚拟机14(VM2)发送CPU核心使用请求(步骤S305)。
另一方面,当判定不是高负载时(步骤S301中为否),虚拟机14(VM2)的代理143判定是否从虚拟机13(VM1)接收到CPU核心使用请求(步骤S310)。继而,当从虚拟机13(VM1)接收到CPU核心使用请求时(步骤S310中为是),判定是否将虚拟CPU核心交给虚拟机13(VM1)也不会导致虚拟机13(VM1)正在使用的CPU核心过载(步骤S315)。继而,在判定不会过载的情况下(步骤S315中为否),执行步骤S102之后的处理,将虚拟CPU核心交给虚拟机13(VM1)。根据本实施方式的控制装置,可以从多个虚拟机当中已变为高负载那一侧请求CPU资源。
<第5实施方式>
接着,对本发明的第5实施方式进行说明。对与第2实施方式同样的构成标注同一符号,由此省略其详细说明。
图32为第5实施方式中的功能构成图。本实施方式与第2实施方式的差异在于,本实施方式是设想了因CPU核心1011的故障等而不可用这一情况的构成。
图33为表示第5实施方式中的虚拟机监视器12的处理内容的流程图。图33所示的流程图与图7所示的构成的不同点在于在步骤S211之前执行步骤S350、S355、S360、S365。
例如,当检测到CPU核心1011(CPU核心1)的停止因素时(步骤S350中为是),对正在使用与CPU核心1011相关联的虚拟CPU核心的虚拟机上的代理(图32的构成中为代理153)发送虚拟CPU核心不可用通知(步骤S355)。
继而,等待直至接收到CPU核心-虚拟CPU核心对应变更请求为止(步骤S360),在接收到的情况下(步骤S360中为是),进行CPU核心-虚拟CPU核心对应变更(步骤S365)。此处的处理内容是步骤S212前半部分处理+α的处理内容。即,从CPU核心-虚拟CPU核心对应表1221中检索同时发送来的虚拟CPU核心编号,将找到的虚拟CPU核心的分配率从100%变更为0%。进而,从CPU核心-虚拟CPU核心对应表1221中将已不可用的CPU核心删除。
图34为表示第5实施方式中的代理133、143的处理内容的流程图。图6所示的构成与图34所示的构成的差异在于在步骤S101之前执行步骤S330。在步骤S330中,判断是否接收到虚拟CPU核心不可用通知,在接收到的情况下,执行步骤S102之后的处理,由此对该虚拟CPU分配虚设进程。
图35为表示第5实施方式中的代理153、OS 151以及虚拟机监视器12的动作的顺序图。从上往下对应于步骤S350中为是、S355、S102、S105、S360中为是、S365。
图36为第5实施方式中的虚拟机监视器12所包含的管理表122的构成图。图36中展示了CPU核心1011变为不可用之后的构成。CPU核心1011(CPU核心1)从CPU核心-虚拟CPU核心对应表1221中被删除掉。
图37为第5实施方式中的OS 151所包含的管理表152的构成图。图37中展示了CPU核心1011变为不可用之后的构成。对虚拟CPU核心1236(虚拟CPU核心6)分配了进程9003(虚设进程154a)。
图38~图43为第5实施方式的变种,是表示其他变形例的图。在图38~图43所示的变形例中,在使另一CPU核心空闲后,对该CPU核心分配因故障等而暂时解除了分配的虚拟CPU核心。
图38为第5实施方式中的变形例的功能构成图。图38展示了按照与图35同样的顺序从图32所示的状态起发生变化、解除了CPU核心1013与虚拟CPU核心1234、1237的关联的状态。
图39为第5实施方式中的变形例的功能构成图。图39展示了从图38的状态设定(复活)CPU核心1013到虚拟CPU核心1231、1233、1236的关联的状态。
图40为表示第5实施方式中的虚拟机监视器12的处理内容的流程图。图33与图40的差异在于在步骤S350中的否之后执行步骤S375、S380。在步骤S375中,检测已空闲的CPU核心(图38的例子中为CPU核心1013),在步骤S380中,进行CPU核心-虚拟CPU核心对应变更。此处的处理内容是步骤S212前半部分处理+α的处理内容。即,针对CPU核心-虚拟CPU核心对应表1221上的想要复活关联的虚拟CPU核心而存放检测到的空闲CPU核心,选择该虚拟CPU核心中的一个(后文叙述的图42中为虚拟CPU核心1231(虚拟CPU核心1))而将分配率从0%变更为100%。其后,从步骤S213继续处理。
图41为表示第5实施方式中的代理133、OS 131以及虚拟机监视器12的动作的顺序图。从上往下对应于步骤S375中为是、S380、S213、S111中为是、S115。
图42为第5实施方式中的虚拟机监视器12所包含的管理表122的构成图。图42展示了对CPU核心1011变为不可用之前所关联的虚拟CPU核心关联已空闲的CPU核心1013(CPU核心3)、将虚拟CPU核心1231(虚拟CPU核心1)的分配率设为100%之后的构成。
图43为第5实施方式中的OS 131所包含的管理表132的构成图。图43中展示了CPU核心1013(CPU核心3)变为可用后的构成。对虚拟CPU核心1231(虚拟CPU核心1)分配了进程1003(真实进程135a)。
以上,对本发明的实施方式进行了详细叙述,但本发明并不限定于所述实施方式,可以在不脱离权利要求书记载的本发明的精神的范围内进行各种设计变更。例如,所述实施方式是为了以易于理解的方式说明本发明所作的详细说明,并非一定限定于具备说明过的所有构成。此外,可以将某一实施方式的构成的一部分替换为其他实施方式的构成,此外,也可以对某一实施方式的构成加入其他实施方式的构成。进而,可以对各实施方式的构成的一部分进行其他构成的追加、删除、替换。
符号说明
1…ECU(控制装置)
10…CPU(运算处理装置)
12…虚拟机监视器
13…虚拟机(VM1)
14…虚拟机(VM2)
133、143、153…代理
134、144、154…虚设进程。

Claims (7)

1.一种嵌入式虚拟机监视器,其在具备多个CPU核心的运算处理装置中使多个虚拟机运行,其特征在于,
对所述多个CPU核心中的一个第一CPU核心关联多个虚拟机,
仅对所述多个虚拟机中的一个第一虚拟机分配所述第一CPU核心的使用时间,
在所述多个虚拟机的负载的比例发生了变化的情况下,判定是否接收到对排他性地被给与所述第一CPU核心的使用时间的虚拟机进行切换的对应变更请求,
在接收到所述对应变更请求的情况下,在进行所述虚拟机的切换之前进行如下处理:制止向未被分配所述第一CPU核心的使用时间的虚拟机内的OS的与所述第一CPU核心相对应的虚拟CPU核心分配任意进程。
2.根据权利要求1所述的嵌入式虚拟机监视器,其特征在于,
所述制止处理是通过在未被分配所述第一CPU核心的使用时间的虚拟机内的OS中执行虚设进程来进行。
3.根据权利要求1所述的嵌入式虚拟机监视器,其特征在于,
所述制止处理是针对未被分配所述第一CPU核心的使用时间的虚拟机内的OS的所有进程的CPU核心分配设定,制止向与所述第一CPU核心相对应的虚拟CPU核心的关联。
4.一种控制装置,其具有CPU、由该CPU执行的嵌入式虚拟机监视器、以及由该嵌入式虚拟机监视器执行的多个虚拟机,其特征在于,
所述嵌入式虚拟机监视器对所述CPU的一个CPU核心以可执行的方式关联所述多个虚拟机内的程序,
仅对所述多个虚拟机中的一个虚拟机分配所述CPU核心,
根据所述多个虚拟机各自的负载将分配所述CPU核心的虚拟机切换至其他虚拟机,
在被分配了所述CPU核心的虚拟机的负载低于阈值时,所述嵌入式虚拟机监视器使被分配了所述CPU核心的虚拟机执行虚设进程,在正在执行该虚设进程的状态下,将分配所述CPU核心的虚拟机从被分配了所述CPU核心的虚拟机切换至其他虚拟机。
5.根据权利要求4所述的控制装置,其特征在于,
被分配了所述CPU核心的虚拟机在自身的负载低于阈值时执行虚设进程,同时将分配所述CPU核心的虚拟机切换至其他虚拟机的对应变更请求发送至所述虚拟机监视器,
当所述虚拟机监视器从被分配了所述CPU核心的虚拟机接收到所述对应变更请求时,对所述其他虚拟机发送通知将被分配所述CPU核心这一情况的对应变更通知,
当所述其他虚拟机从所述虚拟机监视器接收到所述对应变更通知时,该其他虚拟机结束正在执行的虚设进程,使用所述CPU核心来执行真实进程。
6.根据权利要求5所述的控制装置,其特征在于,
被分配了所述CPU核心的虚拟机在自身的负载低于阈值时执行虚设进程,同时对与所述虚拟机关联于同一CPU核心的其他虚拟机发送通知该CPU核心可用这一情况的CPU核心可用通知,
所述其他虚拟机结束正在执行的虚设进程,使用所述CPU核心来执行真实进程。
7.根据权利要求5所述的控制装置,其特征在于,
被分配了所述CPU核心的虚拟机在负载高于阈值时对与所述虚拟机关联于同一CPU核心的其他虚拟机发送请求使用CPU核心的CPU使用请求,
接收到该CPU使用请求的所述其他虚拟机在自身的负载不过载的情况下执行虚设进程。
CN202080031427.1A 2019-05-10 2020-04-24 虚拟机监视器及控制装置 Active CN113767367B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-089546 2019-05-10
JP2019089546 2019-05-10
PCT/JP2020/017630 WO2020230586A1 (ja) 2019-05-10 2020-04-24 ハイパーバイザおよび制御装置

Publications (2)

Publication Number Publication Date
CN113767367A CN113767367A (zh) 2021-12-07
CN113767367B true CN113767367B (zh) 2024-05-31

Family

ID=73288993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080031427.1A Active CN113767367B (zh) 2019-05-10 2020-04-24 虚拟机监视器及控制装置

Country Status (5)

Country Link
US (1) US20220261262A1 (zh)
JP (1) JP7308937B2 (zh)
CN (1) CN113767367B (zh)
DE (1) DE112020001632T5 (zh)
WO (1) WO2020230586A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259656B2 (ja) * 2019-09-04 2023-04-18 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054534A (ja) * 2011-09-05 2013-03-21 Fujitsu Ltd 仮想マシン制御装置,仮想マシン制御プログラムおよび仮想マシン制御方法
CN104620222A (zh) * 2012-08-23 2015-05-13 亚马逊技术有限公司 扩展虚拟机实例
JP2015152987A (ja) * 2014-02-12 2015-08-24 株式会社日立製作所 制御装置
JP2016151939A (ja) * 2015-02-18 2016-08-22 Necプラットフォームズ株式会社 コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム
JP2018116389A (ja) * 2017-01-17 2018-07-26 株式会社デンソー 処理装置
CN108733449A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
EP3470980A1 (en) * 2017-10-10 2019-04-17 OpenSynergy GmbH Control unit, method for operating a control unit, method for configuring a virtualization system of a control unit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774794B2 (en) * 2005-08-19 2010-08-10 Intel Corporation Method and system for managing bandwidth in a virtualized system
US9465663B2 (en) * 2008-10-31 2016-10-11 Synopsys, Inc. Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
JP2013214146A (ja) 2012-03-30 2013-10-17 Toshiba Corp 仮想計算機システム、ハイパーバイザ及び仮想計算機システム管理方法
US9747185B2 (en) * 2013-03-26 2017-08-29 Empire Technology Development Llc Acceleration benefit estimator
US20150355946A1 (en) * 2014-06-10 2015-12-10 Dan-Chyi Kang “Systems of System” and method for Virtualization and Cloud Computing System
US9703951B2 (en) * 2014-09-30 2017-07-11 Amazon Technologies, Inc. Allocation of shared system resources
JP6943030B2 (ja) * 2017-06-16 2021-09-29 富士通株式会社 情報処理装置、情報処理方法およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054534A (ja) * 2011-09-05 2013-03-21 Fujitsu Ltd 仮想マシン制御装置,仮想マシン制御プログラムおよび仮想マシン制御方法
CN104620222A (zh) * 2012-08-23 2015-05-13 亚马逊技术有限公司 扩展虚拟机实例
JP2015152987A (ja) * 2014-02-12 2015-08-24 株式会社日立製作所 制御装置
JP2016151939A (ja) * 2015-02-18 2016-08-22 Necプラットフォームズ株式会社 コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム
JP2018116389A (ja) * 2017-01-17 2018-07-26 株式会社デンソー 処理装置
CN108733449A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
EP3470980A1 (en) * 2017-10-10 2019-04-17 OpenSynergy GmbH Control unit, method for operating a control unit, method for configuring a virtualization system of a control unit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Enhancing Energy-Efficient and QoS Dynamic Virtual Machine Consolidation Method in Cloud Environment;Yaqiu Liu, et.al;《IEEE ACCESS》;第6卷;第31224-31235页 *
基于XEN虚拟机的处理器调度算法研究;张颜;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第2期);第I137-10页 *

Also Published As

Publication number Publication date
JPWO2020230586A1 (zh) 2020-11-19
WO2020230586A1 (ja) 2020-11-19
US20220261262A1 (en) 2022-08-18
CN113767367A (zh) 2021-12-07
DE112020001632T5 (de) 2022-01-13
JP7308937B2 (ja) 2023-07-14

Similar Documents

Publication Publication Date Title
US8146089B2 (en) Sharing resources of a partitioned system
JP5433837B2 (ja) 仮想計算機システム、仮想計算機の制御方法及びプログラム
CN110941481A (zh) 资源调度方法、装置及系统
EP2388699B1 (en) Information processing device and information processing method
KR101680109B1 (ko) 복수 코어 장치 및 그의 로드 조정 방법
US8051281B2 (en) Operating system startup control method and information processing apparatus
US8555289B2 (en) System and method for dynamically managing tasks for data parallel processing on multi-core system
JP7006451B2 (ja) 電子制御装置及びマルチコアの割当て方法
CN110673927B (zh) 一种虚拟机的调度方法和装置
KR101585160B1 (ko) 독립실행환경을 제공하는 분산 컴퓨팅 시스템 및 분산 컴퓨팅 시스템의 제어방법
KR100791296B1 (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
WO2016092856A1 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラムを記憶する記憶媒体
CN113767367B (zh) 虚拟机监视器及控制装置
CN113032101A (zh) 虚拟机的资源分配方法、服务器及计算机可读存储介质
CN112948050A (zh) 一种部署pod的方法及装置
JP5790758B2 (ja) スケジューリング方法およびスケジューリングシステム
CN109639460B (zh) Nfv资源管理的方法和装置
JPH07160656A (ja) 外部割込み制御方法
US11720388B2 (en) Management of dynamic sharing of central processing units
JP4862770B2 (ja) 仮想計算機システムにおけるメモリ管理方式及びその方法、およびプログラム
CN111225007A (zh) 数据库连接方法、装置和系统
US20220365803A1 (en) Assignment control device, assignment control method, and assignment control program
KR101952221B1 (ko) 캐시 부스팅과 경과시간 최소화를 통한 효율적인 멀티태스킹 그래픽처리장치
CN110069287B (zh) 一种多系统共存的方法、装置及存储设备
CN108009005A (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