CN113467884A - 资源配置方法和装置、电子设备及计算机可读存储介质 - Google Patents

资源配置方法和装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113467884A
CN113467884A CN202110574518.6A CN202110574518A CN113467884A CN 113467884 A CN113467884 A CN 113467884A CN 202110574518 A CN202110574518 A CN 202110574518A CN 113467884 A CN113467884 A CN 113467884A
Authority
CN
China
Prior art keywords
virtual machine
thread
computing
resource
switching
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
Application number
CN202110574518.6A
Other languages
English (en)
Other versions
CN113467884B (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.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte 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 Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110574518.6A priority Critical patent/CN113467884B/zh
Publication of CN113467884A publication Critical patent/CN113467884A/zh
Priority to PCT/CN2022/093506 priority patent/WO2022247698A1/zh
Priority to US18/518,277 priority patent/US20240086228A1/en
Application granted granted Critical
Publication of CN113467884B publication Critical patent/CN113467884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种资源配置方法和装置、电子设备及计算机可读存储介质。该方法包括:获取第一虚拟机的第一计算资源;接收计算资源切换指令,其中,所述计算资源切换指令指示将所述第一虚拟机的至少一个计算核切换给第二虚拟机使用;根据所述计算资源切换指令以及所述第一计算资源确定所述第一计算资源中待切换的计算核以及对应的第一线程;将所述第一线程切换为运行所述第二虚拟机。本申请实施例在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,实现了隐私隔离。

Description

资源配置方法和装置、电子设备及计算机可读存储介质
技术领域
本申请涉及虚拟化技术领域,尤其涉及一种资源配置方法和装置、电子设备及计算机可读存储介质。
背景技术
在主流虚拟化场景(如KVM)下,用户态负责创建并管理虚拟机,每个虚拟机在Linux系统中以进程的形式存在,该虚拟机的每个vCPU对应虚拟机进程中的一个线程,称为vCPU线程。用户态的vCPU线程在运行时,进入处理器非根模式运行虚拟机代码,当虚拟机执行特权指令时,会退出非根模式进行处理或模拟。对于广泛使用的独享型虚拟机实例来说,每个vCPU线程会独占一个专用的计算核去运行。
当需要从已有的虚拟机实例中切分一部分CPU计算资源以供其他系统(比如构建一个新的机密虚拟机)使用时,一般是由虚拟机内部下线一部分CPU,让出物理计算核资源以供目标系统运行使用。
在现有技术中,首先,由于引入了新的vCPU线程,增加了资源开销。其次,由于在创建新的vCPU线程时复用了原虚拟机的已下线vCPU线程与相应计算核的绑定设置,即这两个计算核x和y仍然复用了虚拟机A对于核心和线程的设置,因此使得后期调整原虚拟机A的绑定设置时,这两个已经借给虚拟机B使用的核心x和y也需要由虚拟机B负责进行同步调整以适应虚拟机A的新的设置,因此增加了管控的复杂度。最后,如果虚拟机A遭受恶意攻击,可能强制上线已切分vCPU(即vCPU-x线程和vCPU-y线程),与虚拟机B的vCPU线程共享运行于相同计算核,利用侧信道攻击窥探虚拟机B的隐私。
发明内容
本申请实施例提供一种资源配置方法和装置、电子设备及计算机可读存储介质,以解决现有技术中在两个虚拟机之间切换资源需要创建新线程的缺陷。
为达到上述目的,本申请实施例提供了一种资源配置方法,包括:
获取第一虚拟机的第一计算资源,其中,所述第一计算资源包括所述第一虚拟机当前使用的至少一个计算核以及在该计算核上运行的第一线程;
接收计算资源切换指令,其中,所述计算资源切换指令指示将所述第一虚拟机的至少一个计算核切换给第二虚拟机使用;
根据所述计算资源切换指令以及所述第一计算资源确定所述第一计算资源中待切换的计算核以及对应的第一线程;
将所述第一线程切换为运行所述第二虚拟机。
本申请实施例还提供了一种资源配置装置,包括:
获取模块,用于获取第一虚拟机的第一计算资源,其中,所述第一计算资源包括所述第一虚拟机当前使用的至少一个计算核以及在该计算核上运行的第一线程;
接收模块,用于接收计算资源切换指令,其中,所述计算资源切换指令指示将所述第一虚拟机的至少一个计算核切换给第二虚拟机使用;
确定模块,用于根据所述计算资源切换指令以及所述第一计算资源确定所述第一计算资源中待切换的计算核以及对应的第一线程;
切换模块,用于将所述第一线程切换为运行所述第二虚拟机。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的资源配置方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的资源配置方法。
本申请实施例提供的资源配置方法和装置、电子设备及计算机可读存储介质,通过根据计算资源切换指令和第一虚拟机的计算资源来将在待切换给第二虚拟机使用的计算核的其上运行的线程切换为运行第二虚拟机,从而在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,并且由于在两个虚拟机的资源切换过程中没有创建新的线程,这样实现了两个虚拟机分别占用同一个线程中实现互斥运行,从而实现了隐私隔离。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1a是根据现有技术中的资源配置方案的原理示意图;
图1b为本申请实施例提供的资源配置方案的应用场景示意图;
图2为本申请提供的资源配置方法一个实施例的流程图;
图3为本申请提供的资源配置方法另一个实施例的流程图;
图4为本申请提供的资源配置装置实施例的结构示意图;
图5为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有资源配置能力的系统,例如包括有多个虚拟机的计算系统等等。图1b为本申请实施例提供的资源配置方案的应用场景示意图,图1b所示的场景仅仅是本申请的技术方案的原理的示例之一。
随着虚拟化计算技术发展,使得人们能够使用有限的物理计算资源执行更加灵活的各种计算任务。例如,在主流虚拟化场景(如KVM)下,用户态负责创建并管理虚拟机,每个虚拟机在Linux系统中以进程的形式存在,该虚拟机可以具有多个vCPU(virtual centralprocessing unit,虚拟中央处理单元),每一个vCPU可以在虚拟机进程中的一个线程上运行,称为vCPU线程。用户态的vCPU线程在运行时,进入处理器非根模式运行虚拟机代码,当虚拟机执行特权指令时,会退出非根模式进行处理或模拟。对于广泛使用的独享型虚拟机实例来说,每个vCPU线程会独占一个专用的计算核去运行。
在该情况下,通常会根据当前计算任务的需要或者虚拟机规划的需要而创建虚拟机,例如,如图1a中所示,图1a是根据现有技术中的资源配置方案的原理示意图,虚拟机A是之前根据某个或多个计算需求的执行而创建的,其可以具有四个vCPU并且每个vCPU都可以分别运行在一个vCPU线程上,并且每个vCPU线程都与实际的物理计算资源,例如,图1a中所示的计算核进行绑定,从而虚拟机A,或者说其四个vCPU看就可以通过各自的vCPU线程而运行在四个计算核上。之后,随着计算任务的执行,会出现当前已经创建的虚拟机A的规格,即四个vCPU的使用率不饱和,因此,就可以从已有的虚拟机A中切分计算资源,即一部分CPU计算资源以供其他系统(比如构建一个新的虚拟机)使用,在该情况下,通常是由虚拟机A内部下线一部分CPU,以让出物理计算核资源以供目标系统运行使用。
例如,在如图1a中所示的现有技术的原理示意图中,当需要虚拟机A让出在vCPU-x和vCPU-y这两个线程对应的计算核x和y时,也就是说,在该情况下,虚拟机A的运行在vCPU-x和vCPU-y这两个线程上的两个vCPU暂时没有计算任务,因此,可以将其临时从虚拟机A卸下来创建一个新的虚拟机B,以便于提高计算核x和y的利用率。为此,在如图1a中所示的现有技术中,虚拟机A可以先将vCPU-x和vCPU-y这两个虚拟机下线,例如标记为不可用,同时使得vCPU-x线程和vCPU-y线程这两个线程进入睡眠状态,从而将这两个线程与物理计算核x和y解绑。这样,原本运行虚拟机A的vCPU-x和vCPU-y上的计算任务的计算核就脱离了虚拟机A的管理,变为可自由分配的计算资源,例如,可以用于创建新的虚拟机B。
这时,虚拟机B就可以创建自己的线程来使用空余出来的计算核x和y。在创建线程时,通常需要虚拟机为该线程与对应的计算核之间的绑定关系进行设置。但是由于虚拟机B是直接使用的虚拟机A下线的计算核,因此,例如,虚拟机B可以直接复用虚拟机A的vCPU-x线程和vCPU-y线程与对应的计算核x和计算核y的绑定设置来设置为其创建的vCPU-x’线程和vCPU-y’线程。
但是在该情况下,由于在创建虚拟机B的上述过程中,为虚拟机B创建了新的vCPU-x’线程和vCPU-y’线程,而增加了资源开销。其次,由于在创建新的vCPU-x’线程和vCPU-y’线程时复用了原虚拟机A的已下线vCPU线程与相应计算核的绑定设置,即这两个计算核x和y仍然复用了虚拟机A对于核心和线程的设置,因此使得后期调整原虚拟机A的绑定设置时,这两个已经借给虚拟机B使用的核心x和y也需要由虚拟机B负责进行同步调整以适应虚拟机A的新的设置,即,虚拟机A需要将调整后的设置转发给虚拟机B,并且虚拟机B需要根据其vCPU-x’线程和vCPU-y’线程当前执行的计算任务而例如等待当前循环结束之后才能够更改其线程与核心的绑定设置,因此增加了管控的复杂度。此外,在如图1a中所示的现有技术中,由于虚拟机A的在将计算资源转移给虚拟机B时,仅将vCPU-x线程和vCPU-y线程进入睡眠状态而不是彻底杀掉,因此,例如在虚拟机A遭受恶意攻击而直接将这两个已进入休眠状态的vCPU-x线程和vCPU-y线程强制上线,即,在没有B将计算核x和y完成归还操作的情况下,甚至是在虚拟机B仍然在使用计算核x和y时就直接让虚拟机A的vCPU-x线程和vCPU-y线程上线,即又绑定到了计算核x和计算核y上,因此,在该情况下,计算核x和y上同时绑定了虚拟机A和虚拟机B的线程,即,虚拟机A和虚拟机B的vCPU线程共享运行于相同计算核,从而恶意攻击虚拟机A的攻击方就可以利用侧信道攻击来窥探虚拟机B的隐私。
为此,本申请实施例提出了一种资源配置方法,例如,如图1b中所示,在本申请实施例的资源配置方案中,当虚拟机A需要释放出计算核x和计算核y以将其切换给虚拟机B使用时,虚拟机A仍然是可以将vCPU-x和vCPU-y这两个虚拟处理器下线,例如标记为不可用,之后,与现有技术中不同的是,根据本申请实施例,虚拟机A没有使vCPU-x线程和vCPU-y线程这两个线程进入睡眠状态,而是将这两个线程直接分配给虚拟机B使用,同时保持与物理计算核x和y的绑定关系。因此,原本运行虚拟机A的vCPU-x和vCPU-y上的计算任务的计算核就脱离了虚拟机A的管理,变为由虚拟机B使用,例如由虚拟机B的两个虚拟处理器使用。因此,在该情况下,由于直接将虚拟机A的vCPU-x线程(对应于计算核x)和vCPU-y线程(对应于计算核y)切换给虚拟机B使用,因此,完全省去了现有技术中切换之后的线程和计算核之间的绑定设置的复用。
此外,根据本申请实施例,在将虚拟机A的vCPU-x线程和vCPU-y线程这两个线程切换给虚拟机B使用之后,可以额外为每个线程配置运行标志符,以标识该线程当前正在运行哪个虚拟机。例如,在如图1b中所示,在切换之后,可以在当前已经切换给虚拟机B使用的vCPU-x线程和vCPU-y线程这两个线程上分别设置运行标志符来标识这两个线程当前运行的虚拟机是虚拟机B。因此,在虚拟机B在每个计算循环结束之后可以先检查每个线程上的该运行标志符以确定应该运行哪个虚拟机,例如,在切换给虚拟机B之后,vCPU-x线程和vCPU-y线程这两个线程的每个线程上的运行标志符可以设置为B,以标识当前正在运行虚拟机B,并且当虚拟机B执行完当前的计算循环之后,在执行下一次计算循环之前可以先例如进入用户态以检查该运行标志符,并且如果该运行标志符还是标识虚拟机B,则虚拟机B可以继续使用vCPU-x线程和vCPU-y线程这两个线程来执行下一次计算循环。但是,如果在虚拟机B执行当前计算循环时虚拟机A需要使用这两个线程,则可以根据虚拟机A的使用请求来相应地修改这两个线程的运行标志符。例如,如图1b中所示,当虚拟机A需要回收这两个线程时,可以在虚拟机B执行当前计算循环期间就将这两个线程的运行标志符修改为标识虚拟机A,从而当虚拟机B执行完当前计算循环之后,通过检查这两个线程上的运行标志符而确认需要将这两个线程归还给虚拟机A,则可以终止虚拟机B的下一次计算循环而停止在这两个线程上运行虚拟机B。此外,当虚拟机A只是需要暂时使用这两个线程,例如,需要进行同步操作等等,则可以仅将虚拟机B所使用的的这两个线程停止运行虚拟机B,并且将这两个线程重新与虚拟机A匹配,从而虚拟机A可以使用这两个线程进行所需操作,并且在执行完所需操作之后可以将这两个线程在重新归还给虚拟机B。但是在该过程中,由于虚拟机A只是临时使用这两个线程,因此vCPU-x线程和vCPU-y线程这两个线程上的运行标志符保持不变,因此,在虚拟机A使用完这两个线程而将这两个线程释放出来之后,虚拟机B可以通过检查这两个线程上的运行标志符而再次确定这两个线程是由自己使用,因此就可以在下一次计算循环中将这两个线程切换给虚拟机B使用。
本申请实施例提供的资源配置方案,通过根据计算资源切换指令和第一虚拟机的计算资源来将在待切换给第二虚拟机使用的计算核的其上运行的线程切换为运行第二虚拟机,从而在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,并且由于在两个虚拟机的资源切换过程中没有创建新的线程,这样实现了两个虚拟机分别占用同一个线程中实现互斥运行,从而实现了隐私隔离。
根据本申请实施例的资源配置方案由于其不仅能够降低管控复杂度而且还能够实现虚拟机切换过程中的隐私隔离,因此可以应用于例如电商平台来提高管理效率同时避免客户信息泄露。例如,本申请的资源配置方案可以应用于搭建电商平台的虚拟机系统中。例如,在虚拟机系统的虚拟机A可以用于运行租户A的电商平台,并且当租户B也使用该虚拟机系统来执行其自己的任务时,虚拟机系统的管理模块根据虚拟机A的运行状况发现租户A当时的任务量不多,其虚拟机A所占用的四个计算核还有空余,即计算核x闲置,因此,使用根据本申请实施例的资源配置方案的虚拟机系统就可以如上所述地将虚拟机A从计算核x对应的线程x下线,并且将该计算核x的线程x分配给租户B使用,例如为租户B使用该线程x创建一个虚拟机或者将该线程x加入到租户B的原有虚拟机资源中来运行租户B的任务。因此,由于根据本申请实施例的资源配置方案在切换线程给不同虚拟机时是以互斥的方式进行的,即,在将计算核x的线程x切换给租户B使用时已经将租户A原本运行在该计算核x的线程x上的电商平台下线了,因此在该线程x上也不会再存在该租户A的电商平台的数据,因此,租户B在使用该线程x时也不会由于数据的残留而看到租户A的电商平台的数据。特别地,在本申请实施例中,如果租户A由于其运营的电商平台的任务量剧增而需要要回该线程x时,由于本申请实施例的资源配置方案只允许线程以互斥的方式运行虚拟机,因此,当租户A需要要回线程x时,虚拟机系统的管理模块可以中断租户B的执行任务,并且将租户B的任务从线程x下线,从而租户B的数据也从线程x中消失,因此当线程x再次运行租户A的电商平台时,租户A的电商平台也无法获取到线程x中之前运行的租户B的数据。因此,根据本申请实施例的资源配置方案能够帮助运行电商平台的虚拟机系统实现资源的灵活管控,而且还能够确保电商平台上的数据在虚拟机资源切换的安全性。
根据本申请实施例的资源配置方案由于其不仅能够降低管控复杂度而且还能够实现虚拟机切换过程中的隐私隔离,因此可以应用于例如电信事务来提高管理效率同时避免客户信息泄露。例如,本申请的资源配置方案可以应用于执行电信事务的虚拟机系统中。例如,在虚拟机系统的虚拟机A可以用于运行租户A的电信事务,并且当租户B也使用该虚拟机系统来执行其自己的任务时,虚拟机系统的管理模块根据虚拟机A的运行状况发现租户A当时的任务量不多,其虚拟机A所占用的四个计算核还有空余,即计算核x闲置,因此,使用根据本申请实施例的资源配置方案的虚拟机系统就可以如上所述地将虚拟机A从计算核x对应的线程x下线,并且将该计算核x的线程x分配给租户B使用,例如为租户B使用该线程x创建一个虚拟机或者将该线程x加入到租户B的原有虚拟机资源中。因此,由于根据本申请实施例的资源配置方案在切换线程给不同虚拟机时是以互斥的方式进行的,即,在将计算核x的线程x切换给租户B使用时已经将租户A原本运行在该计算核x的线程x上的电信事务下线了,因此在该线程x上也不会再存在该租户A之前运行的电信事务,特别是用户的数据,因此,租户B在使用该线程x时也不会由于数据的残留而看到租户A的电信事务的数据。特别地,在本申请实施例中,如果租户A由于其运营的电信事务的任务量剧增而需要要回该线程x时,由于本申请实施例的资源配置方案只允许线程以互斥的方式运行虚拟机,因此,当租户A需要要回线程x时,虚拟机系统的管理模块可以中断租户B的执行任务,并且将租户B的任务从线程x下线,从而租户B的数据也从线程x中消失,因此当线程x再次运行租户A的电信事务时,租户A也无法获取到线程x中之前运行的租户B的数据。因此,根据本申请实施例的资源配置方案能够帮助运行电信事务的虚拟机系统实现资源的灵活管控,而且还能够确保电信事务相关的数据在虚拟机资源切换的安全性。
根据本申请实施例的资源配置方案由于其能够降低管控复杂度,因此可以应用于例如音视频处理来提高处理效率。例如,本申请的资源配置方案可以应用于执行音视频处理的虚拟机系统中。例如,在虚拟机系统的虚拟机A可以用于为租户A处理音视频文件,例如点播或流媒体等,并且当租户B也使用该虚拟机系统来执行其自己的任务时,虚拟机系统的管理模块根据虚拟机A的运行状况发现租户A当前需要处理的音视频数据不多,其虚拟机A所占用的四个计算核还有空余,例如计算核x闲置,因此,使用根据本申请实施例的资源配置方案的虚拟机系统就可以如上所述地将虚拟机A从计算核x对应的线程x下线,并且将该计算核x的线程x分配给租户B使用,例如为租户B使用该线程x创建一个虚拟机或者将该线程x加入到租户B的原有虚拟机资源中。因此,租户A从切换时刻开始实际上仅使用了虚拟机系统的三个计算核,因此在为租户A计费时可以相应地减少租户A的资源使用费用,并且甚至可以在租户A与租户B达成协议的情况下,租户A将自己的计算核x出租给租户B临时使用。这样不仅提高了虚拟机系统中计算资源的利用率,而且由于根据本申请实施例的资源配置方案在切换线程给不同虚拟机时保持了计算核与线程之间的绑定关系,因此对于租户A来说,释放线程给租户B以及在自己任务量增加的情况下要回该线程继续使用都是极为方便的,无需进行特别的设置和管理,因此提高了计算资源在租户之间,即虚拟机之间转换的管理效率。
根据本申请实施例的资源配置方案由于其能够降低管控复杂度,因此可以应用于例如人工智能计算来提高处理效率。人工智能计算通常需要大量的计算资源,因此,本申请的资源配置方案可以应用于执行人工智能处理的虚拟机系统中。例如,在虚拟机系统的虚拟机A可以用于为租户A执行人工智能任务,例如模型训练等,并且当租户B也使用该虚拟机系统来执行其自己的任务时,虚拟机系统的管理模块根据虚拟机A的运行状况发现租户A当前的人工智能计算任务不多,其虚拟机A所占用的四个计算核还有空余,例如计算核x闲置,因此,使用根据本申请实施例的资源配置方案的虚拟机系统就可以如上所述地将虚拟机A从计算核x对应的线程x下线,并且将该计算核x的线程x分配给租户B使用,例如为租户B使用该线程x创建一个虚拟机或者将该线程x加入到租户B的原有虚拟机资源中。因此,租户A从切换时刻开始实际上仅使用了虚拟机系统的三个计算核,因此在为租户A计费时可以相应地减少租户A的资源使用费用,并且甚至可以在租户A与租户B达成协议的情况下,租户A将自己的计算核x出租给租户B临时使用。这样不仅提高了虚拟机系统中计算资源的利用率,而且由于根据本申请实施例的资源配置方案在切换线程给不同虚拟机时保持了计算核与线程之间的绑定关系,因此对于租户A来说,释放线程给租户B以及在自己任务量增加的情况下要回该线程继续使用都是极为方便的,无需进行特别的设置和管理,因此提高了计算资源在租户之间,即虚拟机之间转换的管理效率。
根据本申请实施例的资源配置方案由于其能够降低管控复杂度,因此可以应用于例如在线售票平台来提高处理效率。特别地,在线售票的任务繁忙程度在很大程度上依赖于要出售的票对应的演出或时机,例如节假日等等。因此本申请的资源配置方案可以应用于运行在线售票平台的虚拟机系统中。例如,在虚拟机系统的虚拟机A可以用于为租户A运行在线售票平台等,并且当租户B也使用该虚拟机系统来执行其自己的任务,当当天为节假日的售票开始日或者当天出售的票是热门节目的票时,虚拟机A发现当前的计算资源不足以处理剧增的用户购票请求。因此,虚拟机系统的管理模块可以根据虚拟机A的请求,为虚拟机A从虚拟机B划拨一个或多个计算核来给虚拟机A使用。例如,使用根据本申请实施例的资源配置方案的虚拟机系统就可以如上所述地将虚拟机B从要临时分配给虚拟机A使用的计算核x和计算核y对应的线程x和线程y下线,并且将该计算核x的线程x和计算核y的线程y分配给租户A使用,即将该线程x和线程y直接加入到租户B的原有虚拟机资源中。因此,通过本申请的资源配置方案,由于在虚拟机A需要临时线程时,仅需要将对应的虚拟机从该线程下线,并下线之后将线程直接运行虚拟机A,这样不仅提高了虚拟机系统中计算资源的利用率,而且由于根据本申请实施例的资源配置方案在切换线程给不同虚拟机时保持了计算核与线程之间的绑定关系,因此提高了切换效率,能够很好地处理在线售票平台的任务突然剧增需要大量的临时计算资源的问题。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的资源配置方法一个实施例的流程图,该方法的执行主体可以为具有资源配置能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该资源配置方法包括如下步骤:
S201,获取第一虚拟机的第一计算资源。
在本申请实施例中,可以在当前正在运行的第一虚拟机运行期间获取该虚拟机的计算资源。特别地,本申请涉及对于虚拟机所使用的计算资源在两个或多个虚拟机之间的配置,例如,如图1b中所示,在当前已经正在运行的虚拟机A与新创建的虚拟机B之间进行资源配置。为此,在步骤S201可以先获取第一虚拟机的第一计算资源,该第一计算资源可以包括第一虚拟机当前正在使用的计算核和计算核上运行的第一线程。例如,如图1b中所示,当前运行的第一虚拟机可以是虚拟机A,并且该第一计算资源可以是运行虚拟机A的四个CPU的四个线程以及与线程一一绑定的四个物理计算核。这些计算资源就可以构成将来在虚拟机A与虚拟机B之间的资源配置的配置基础。
S202,接收计算资源切换指令。
当在虚拟机A运行期间,由于例如虚拟机A的计算任务的变化使得虚拟机A的计算资源的一部分可出让给其他的虚拟机,例如如图1b中所示的虚拟机B。为此,在步骤S202中可以接收针对当前虚拟机A的出让资源的计算资源切换指令。例如,在步骤S202中接收到的计算资源切换指令可以指示将例如图1b中所示的虚拟机A的第一虚拟机的至少一个计算核切换给例如虚拟机B的第二虚拟机使用。
S203,根据计算资源切换指令以及第一计算资源确定第一计算资源中待切换的计算核以及对应的第一线程。
当在步骤S202中接收到计算资源切换指令之后,可以在步骤S203中根据该计算资源切换指令和步骤S201中获取到的第一计算资源来确定在例如虚拟机A的第一虚拟机的第一计算资源中需要切换给第二虚拟机的计算核。例如,在步骤S202中接收到的计算资源切换指令可以是将虚拟机A所使用的的四个线程及其对应的四个计算核中的两个切换给虚拟机B,并且根据步骤S201中获取的第一计算资源中的线程以及计算核的状态而确定vCPU-x线程和vCPU-y线程目前处于空闲状态是属于可出让的计算资源。因此,在步骤S203中可以确认将vCPU-x线程和vCPU-y线程切换给虚拟机B使用。
S204,将第一线程切换为运行第二虚拟机。
在步骤S203中确定了将vCPU-x线程和vCPU-y线程切换给虚拟机B使用之后,在步骤S204中可以将步骤S203中所述确定的第一线程,例如,vCPU-x线程和vCPU-y线程与第一虚拟机解除使用关系,并且在这两个线程上运行第二虚拟机,例如虚拟机B。
本申请实施例提供的资源配置方法,通过根据计算资源切换指令和第一虚拟机的计算资源来将在待切换给第二虚拟机使用的计算核的其上运行的线程切换为运行第二虚拟机,从而在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,并且由于在两个虚拟机的资源切换过程中没有创建新的线程,这样实现了两个虚拟机分别占用同一个线程中实现互斥运行,从而实现了隐私隔离。
实施例三
图3为本申请提供的资源配置方法另一个实施例的流程图,该方法的执行主体可以为具有资源配置能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图3所示,该资源配置法包括如下步骤:
S301,获取第一虚拟机的第一计算资源。
在本申请实施例中,可以在当前正在运行的第一虚拟机运行期间获取该虚拟机的计算资源。特别地,本申请涉及对于虚拟机所使用的计算资源在两个或多个虚拟机之间的配置,例如,如图1b中所示,在当前已经正在运行的虚拟机A与新创建的虚拟机B之间进行资源配置。为此,在步骤S301可以先获取第一虚拟机的第一计算资源,该第一计算资源可以包括第一虚拟机当前正在使用的计算核和计算核上运行的第一线程。例如,如图1b中所示,当前运行的第一虚拟机可以是虚拟机A,并且该第一计算资源可以是运行虚拟机A的四个CPU的四个线程以及与线程一一绑定的四个物理计算核。这些计算资源就可以构成将来在虚拟机A与虚拟机B之间的资源配置的配置基础。
S302,接收计算资源切换指令。
当在虚拟机A运行期间,由于例如虚拟机A的计算任务的变化使得虚拟机A的计算资源的一部分可出让给其他的虚拟机,例如如图1b中所示的虚拟机B。为此,在步骤S302中可以接收针对当前虚拟机A的出让资源的计算资源切换指令。例如,在步骤S302中接收到的计算资源切换指令可以指示将例如图1b中所示的虚拟机A的第一虚拟机的至少一个计算核切换给例如虚拟机B的第二虚拟机使用。
S303,根据计算资源切换指令以及第一计算资源确定第一计算资源中待切换的计算核以及对应的第一线程。
当在步骤S302中接收到计算资源切换指令之后,可以在步骤S303中根据该计算资源切换指令和步骤S301中获取到的第一计算资源来确定在例如虚拟机A的第一虚拟机的第一计算资源中需要切换给第二虚拟机的计算核。例如,在步骤S302中接收到的计算资源切换指令可以是将虚拟机A所使用的的四个线程及其对应的四个计算核中的两个切换给虚拟机B,并且根据步骤S301中获取的第一计算资源中的线程以及计算核的状态而确定vCPU-x线程和vCPU-y线程目前处于空闲状态是属于可出让的计算资源。因此,在步骤S303中可以确认将vCPU-x线程和vCPU-y线程切换给虚拟机B使用。
S304,将第一线程切换为运行第二虚拟机并且保持第一线程与计算核的绑定关系不变。
在步骤S303中确定了将vCPU-x线程和vCPU-y线程切换给虚拟机B使用之后,在步骤S304中可以将步骤S203中所述确定的第一线程,例如,vCPU-x线程和vCPU-y线程与第一虚拟机解除使用关系,并且在这两个线程上运行第二虚拟机,例如虚拟机B,并且同时保持这些vCPU-x线程和vCPU-y与对应的计算核x和y之间的绑定关系,从而第二虚拟机B可以在无需进行任何线程与计算核的绑定设置的情况下直接运行其计算任务,例如其vCPU-x’和vCPU-y’。
在步骤S304将第一虚拟机A的vCPU-x线程和vCPU-y线程这两个线程切换给第二虚拟机B使用的情况下,为了在循环中识别当前线程所运行的虚拟机,可以进一步为切换的这两个线程中的每个线程配置运行标志符,以标识该线程当前正在运行哪个虚拟机。因此,本申请实施例的资源配置方法可以进一步包括:
S305,将运行标志符修改为标识第二虚拟机。
在每个线程设置有运行标志符来指示线程当前运行的虚拟机的情况下,在上述虚拟机A将vCPU-x线程和vCPU-y线程配置给虚拟机B使用时,可以将线程上设置的运行标志符从A修改为B,以指示该两个线程已经被切换给第二虚拟机B使用了。从而,在虚拟机A或B执行完当前计算循环之后开始下一个计算循环之前可以先检查该运行标志符,以确定线程应由哪个虚拟机使用,或者更具体地,可以确定线程应该由哪个虚拟机的哪个虚拟处理器使用。
例如,在步骤S304将vCPU-x线程和vCPU-y线程切换给虚拟机B使用并且在步骤S305将运行标志符修改为指示当前运行虚拟机B,则当虚拟机B执行完当前的计算循环之后,在执行下一次计算循环之前可以先例如进入用户态以检查该运行标志符,并且如果该运行标志符还是标识虚拟机B,则表示在虚拟机B执行上一个计算循环期间,没有额外的指令要求这两个线程由其他虚拟机使用,因此虚拟机B可以继续使用vCPU-x线程和vCPU-y线程这两个线程来执行下一次计算循环。但是,如果在虚拟机B执行当前计算循环时虚拟机A需要使用这两个线程,则可以根据虚拟机A的使用请求来相应地修改这两个线程的运行标志符。例如,本申请实施例的资源配置方法可以进一步包括:
S306,接收来自第一虚拟机的第一退出指令。
在步骤S304中虚拟机A将vCPU-x线程和vCPU-y线程切换给虚拟机B使用,从而虚拟机B在使用这两个线程执行其计算任务期间,可以在步骤S306接收来自第一虚拟机A的指令,以便于在使用从虚拟机A切换来的线程期间添加对虚拟机A的指令的响应。例如,虚拟机A可以向虚拟机B发送第一退出指令,该第一退出指令可以指示第一虚拟机A对于第一线程的临时占用。即,虚拟机A需要临时占用这两个切换给虚拟机B使用的线程。
S3061,将第一线程切换为运行第一虚拟机。
S3062,在临时占用结束时将第一线程切换为运行第二虚拟机。
因此,虚拟机B在执行完当前的计算循环之后,可以根据步骤S306中接收到的该退出指令而退出这两个线程,并且在步骤S3061中切换给第一虚拟机A使用,特别地,由于虚拟机A是临时占用,因此,在该情况下,不需要将这两个线程上的运行标志符进行修改,例如修改为指示虚拟机A,而是可以仍然保持为指示虚拟机B,从而在虚拟机A执行完该临时占用的计算任务之后,可以再次在步骤S3062中将这两个线程切换为运行第二虚拟机B。
S307,接收来自第一虚拟机的第二退出指令。
此外,当虚拟机A需要回收这两个线程时,就可以向虚拟机B发送第二退出指令,并且从而可以在步骤S307中接收该第二退出指令,该第二退出指令例如可以指示第一虚拟机对于第一线程的回收。
S308,将第一线程切换为运行第一虚拟机。
因此,虚拟机B就可以在运行期间根据虚拟机A的指示线程回收的指令而将线程归还给虚拟机A来使用。特别地,在线程上设置有运行标志符的情况下,
步骤S308可以进一步包括:
S3081,将第一线程的运行标志符修改为标识第一虚拟机。
S3082,判断第一线程对应的计算核的当前循环是否结束。
S3083,当当前循环结束时,根据运行标志符将第一线程切换为运行第一虚拟机。
例如,在虚拟机A需要回收这两个线程时,可以在虚拟机B执行当前计算循环期间就将这两个线程的运行标志符修改为标识虚拟机A,从而当虚拟机B执行完当前计算循环之后,通过检查这两个线程上的运行标志符而确认需要将这两个线程归还给虚拟机A,则可以终止虚拟机B的下一次计算循环而停止在这两个线程上运行虚拟机B。
本申请实施例提供的资源配置方法,通过根据计算资源切换指令和第一虚拟机的计算资源来将在待切换给第二虚拟机使用的计算核的其上运行的线程切换为运行第二虚拟机,从而在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,并且由于在两个虚拟机的资源切换过程中没有创建新的线程,这样实现了两个虚拟机分别占用同一个线程中实现互斥运行,从而实现了隐私隔离。
实施例四
图4为本申请提供的资源配置装置实施例的结构示意图,可用于执行如图2和图3所示的方法步骤。如图4所示,该资源配置装置可以包括:获取模块41、接收模块42、确定模块43和切换模块44。
获取模块41可以用于获取第一虚拟机的第一计算资源。
在本申请实施例中,可以在当前正在运行的第一虚拟机运行期间获取该虚拟机的计算资源。特别地,本申请涉及对于虚拟机所使用的计算资源在两个或多个虚拟机之间的配置,例如,如图1b中所示,在当前已经正在运行的虚拟机A与新创建的虚拟机B之间进行资源配置。为此,获取模块41可以先获取第一虚拟机的第一计算资源,该第一计算资源可以包括第一虚拟机当前正在使用的计算核和计算核上运行的第一线程。例如,如图1b中所示,当前运行的第一虚拟机可以是虚拟机A,并且该第一计算资源可以是运行虚拟机A的四个CPU的四个线程以及与线程一一绑定的四个物理计算核。这些计算资源就可以构成将来在虚拟机A与虚拟机B之间的资源配置的配置基础。
接收模块42可以用于接收计算资源切换指令。
当在虚拟机A运行期间,由于例如虚拟机A的计算任务的变化使得虚拟机A的计算资源的一部分可出让给其他的虚拟机,例如如图1b中所示的虚拟机B。为此,接收模块42可以接收针对当前虚拟机A的出让资源的计算资源切换指令。例如,接收模块42接收到的计算资源切换指令可以指示将例如图1b中所示的虚拟机A的第一虚拟机的至少一个计算核切换给例如虚拟机B的第二虚拟机使用。
确定模块43可以用于根据计算资源切换指令以及第一计算资源确定第一计算资源中待切换的计算核以及对应的第一线程。
当接收模块42接收到计算资源切换指令之后,确定模块43可以根据该计算资源切换指令和获取模块41获取到的第一计算资源来确定在例如虚拟机A的第一虚拟机的第一计算资源中需要切换给第二虚拟机的计算核。例如,接收模块42接收到的计算资源切换指令可以是将虚拟机A所使用的的四个线程及其对应的四个计算核中的两个切换给虚拟机B,并且根据获取模块41获取的第一计算资源中的线程以及计算核的状态而确定vCPU-x线程和vCPU-y线程目前处于空闲状态是属于可出让的计算资源。因此,确定模块43可以确认将vCPU-x线程和vCPU-y线程切换给虚拟机B使用。
切换模块44可以用于将第一线程切换为运行第二虚拟机。
确定模块43确定了将vCPU-x线程和vCPU-y线程切换给虚拟机B使用之后,切换模块44可以将确定模块43所述确定的第一线程,例如,vCPU-x线程和vCPU-y线程与第一虚拟机解除使用关系,并且在这两个线程上运行第二虚拟机,例如虚拟机B,并且同时保持这些vCPU-x线程和vCPU-y与对应的计算核x和y之间的绑定关系,从而第二虚拟机B可以在无需进行任何线程与计算核的绑定设置的情况下直接运行其计算任务,例如其vCPU-x’和vCPU-y’。
切换模块44将第一虚拟机A的vCPU-x线程和vCPU-y线程这两个线程切换给第二虚拟机B使用的情况下,为了在循环中识别当前线程所运行的虚拟机,可以进一步为切换的这两个线程中的每个线程配置运行标志符,以标识该线程当前正在运行哪个虚拟机。因此,本申请实施例的资源配置装置可以进一步包括:修改模块45,其可以用于将运行标志符修改为标识第二虚拟机。
在每个线程设置有运行标志符来指示线程当前运行的虚拟机的情况下,在上述虚拟机A将vCPU-x线程和vCPU-y线程配置给虚拟机B使用时,修改模块45可以将线程上设置的运行标志符从A修改为B,以指示该两个线程已经被切换给第二虚拟机B使用了。从而,在虚拟机A或B执行完当前计算循环之后开始下一个计算循环之前可以先检查该运行标志符,以确定线程应由哪个虚拟机使用,或者更具体地,可以确定线程应该由哪个虚拟机的哪个虚拟处理器使用。
例如,切换模块44将vCPU-x线程和vCPU-y线程切换给虚拟机B使用并且修改模块45将运行标志符修改为指示当前运行虚拟机B,则当虚拟机B执行完当前的计算循环之后,在执行下一次计算循环之前可以先例如进入用户态以检查该运行标志符,并且如果该运行标志符还是标识虚拟机B,则表示在虚拟机B执行上一个计算循环期间,没有额外的指令要求这两个线程由其他虚拟机使用,因此虚拟机B可以继续使用vCPU-x线程和vCPU-y线程这两个线程来执行下一次计算循环。但是,如果在虚拟机B执行当前计算循环时虚拟机A需要使用这两个线程,则可以根据虚拟机A的使用请求来相应地修改这两个线程的运行标志符。例如,本申请实施例的接收模块42可以进一步用于:检测来自第一虚拟机的第一退出指令。
切换模块44虚拟机A将vCPU-x线程和vCPU-y线程切换给虚拟机B使用,从而虚拟机B在使用这两个线程执行其计算任务期间,接收模块42可以接收来自第一虚拟机A的指令,以便于在使用从虚拟机A切换来的线程期间添加对虚拟机A的指令的响应。例如,虚拟机A可以向虚拟机B发送第一退出指令,该第一退出指令可以指示第一虚拟机A对于第一线程的临时占用。即,虚拟机A需要临时占用这两个切换给虚拟机B使用的线程。
因此,切换模块44可以进一步用于:将第一线程切换为运行第一虚拟机,并且在临时占用结束时将第一线程切换为运行第二虚拟机。
因此,虚拟机B在执行完当前的计算循环之后,切换模块44可以根据接收模块42接收到的该退出指令而将这两个线程切换给第一虚拟机A使用,特别地,由于虚拟机A是临时占用,因此,在该情况下,不需要修改模块45将这两个线程上的运行标志符进行修改,例如修改为指示虚拟机A,而是可以仍然保持为指示虚拟机B,从而在虚拟机A执行完该临时占用的计算任务之后,可以再次通过切换模块44将这两个线程切换为运行第二虚拟机B。
接收模块42可以进一步用于接收来自第一虚拟机的第二退出指令。
此外,当虚拟机A需要回收这两个线程时,就可以向虚拟机B发送第二退出指令,并且从而接收模块42可以接收该第二退出指令,该第二退出指令例如可以指示第一虚拟机对于第一线程的回收。
切换模块44可以进一步用于将第一线程切换为运行第一虚拟机。
因此,虚拟机B就可以在运行期间根据虚拟机A的指示线程回收的指令而将线程归还给虚拟机A来使用。特别地,在线程上设置有运行标志符的情况下,
修改模块45可以进一步用于:将第一线程的运行标志符修改为标识第一虚拟机。
切换模块44可以进一步用于:判断第一线程对应的计算核的当前循环是否结束。
当当前循环结束时,根据运行标志符将第一线程切换为运行第一虚拟机。
例如,在虚拟机A需要回收这两个线程时,可以在虚拟机B执行当前计算循环期间就由修改模块45将这两个线程的运行标志符修改为标识虚拟机A,从而当虚拟机B执行完当前计算循环之后,通过检查这两个线程上的运行标志符而确认需要将这两个线程归还给虚拟机A,则可以终止虚拟机B的下一次计算循环而停止在这两个线程上运行虚拟机B。
本申请实施例提供的资源配置装置,通过根据计算资源切换指令和第一虚拟机的计算资源来将在待切换给第二虚拟机使用的计算核的其上运行的线程切换为运行第二虚拟机,从而在第一虚拟机和第二虚拟机之间切换计算资源时,保留了计算核与线程之间的绑定关系,解决了现有技术中由于原虚拟机的绑定核设置的调整带来的两个虚拟机的设置同步的问题,大大降低了管控的复杂度,并且由于在两个虚拟机的资源切换过程中没有创建新的线程,这样实现了两个虚拟机分别占用同一个线程中实现互斥运行,从而实现了隐私隔离。
实施例五
以上描述了资源配置装置的内部功能和结构,该装置可实现为一种电子设备。图5为本申请提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。
存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器52,不仅仅局限于中央处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器52,与存储器51耦合,执行存储器51所存储的程序,该程序运行时执行上述实施例二和三的资源配置方法。
进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。
显示器56包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种资源配置方法,包括:
获取第一虚拟机的第一计算资源,其中,所述第一计算资源包括所述第一虚拟机当前使用的至少一个计算核以及在该计算核上运行的第一线程;
接收计算资源切换指令,其中,所述计算资源切换指令指示将所述第一虚拟机的至少一个计算核切换给第二虚拟机使用;
根据所述计算资源切换指令以及所述第一计算资源确定所述第一计算资源中待切换的计算核以及对应的第一线程;
将所述第一线程切换为运行所述第二虚拟机。
2.根据权利要求1所述的资源配置方法,其中,所述计算核和与其对应的第一线程具有绑定关系,并且,所述将所述第一线程切换为运行所述第二虚拟机包括:
将所述第一线程切换为运行所述第二虚拟机并且保持所述第一线程与所述计算核的绑定关系不变。
3.根据权利要求1所述的资源配置方法,其中,所述第一线程设置有运行标志符,其中,所述运行标志符标识所述第一线程当前运行的虚拟机,并且在所述将所述第一线程切换为运行所述第二虚拟机之后,所述资源配置方法进一步包括:
将所述运行标志符修改为标识所述第二虚拟机。
4.根据权利要求3所述的资源配置方法,其中,所述资源配置方法进一步包括:
接收来自所述第一虚拟机的第一退出指令,其中所述第一退出指令指示所述第一虚拟机对于所述第一线程的临时占用;
将所述第一线程切换为运行所述第一虚拟机;
在所述临时占用结束时将所述第一线程切换为运行所述第二虚拟机。
5.根据权利要求3所述的资源配置方法,其中,所述资源配置方法进一步包括:
接收来自所述第一虚拟机的第二退出指令,其中所述第二退出指令指示所述第一虚拟机对于所述第一线程的回收;
将所述第一线程切换为运行所述第一虚拟机。
6.根据权利要求5所述的资源配置方法,其中,所述将所述第一线程切换为运行所述第一虚拟机包括:
将所述第一线程的运行标志符修改为标识所述第一虚拟机;
判断所述第一线程对应的计算核的当前循环是否结束;
当所述当前循环结束时,根据所述运行标志符将所述第一线程切换为运行所述第一虚拟机。
7.一种资源配置装置,包括:
获取模块,用于获取第一虚拟机的第一计算资源,其中,所述第一计算资源包括所述第一虚拟机当前使用的至少一个计算核以及在该计算核上运行的第一线程;
接收模块,用于接收计算资源切换指令,其中,所述计算资源切换指令指示将所述第一虚拟机的至少一个计算核切换给第二虚拟机使用;
确定模块,用于根据所述计算资源切换指令以及所述第一计算资源确定所述第一计算资源中待切换的计算核以及对应的第一线程;
切换模块,用于将所述第一线程切换为运行所述第二虚拟机。
8.根据权利要求7所述的资源配置装置,其中,所述第一线程设置有运行标志符,其中,所述运行标志符标识所述第一线程当前运行的虚拟机,并且所述资源配置装置进一步包括:
修改模块,用于将所述运行标志符修改为标识所述第二虚拟机。
9.一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求1至6中任一所述的资源配置方法。
10.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如权利要求1至6中任一所述的资源配置方法。
CN202110574518.6A 2021-05-25 2021-05-25 资源配置方法和装置、电子设备及计算机可读存储介质 Active CN113467884B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110574518.6A CN113467884B (zh) 2021-05-25 2021-05-25 资源配置方法和装置、电子设备及计算机可读存储介质
PCT/CN2022/093506 WO2022247698A1 (zh) 2021-05-25 2022-05-18 资源配置方法和装置、电子设备及计算机可读存储介质
US18/518,277 US20240086228A1 (en) 2021-05-25 2023-11-22 Resource Configuration Method and Apparatus, Electronic Device, and Computer-Readable Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110574518.6A CN113467884B (zh) 2021-05-25 2021-05-25 资源配置方法和装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113467884A true CN113467884A (zh) 2021-10-01
CN113467884B CN113467884B (zh) 2024-08-02

Family

ID=77871569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110574518.6A Active CN113467884B (zh) 2021-05-25 2021-05-25 资源配置方法和装置、电子设备及计算机可读存储介质

Country Status (3)

Country Link
US (1) US20240086228A1 (zh)
CN (1) CN113467884B (zh)
WO (1) WO2022247698A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118508A (zh) * 2022-06-28 2022-09-27 平安银行股份有限公司 数据管理方法、装置、电子设备及存储介质
WO2022247698A1 (zh) * 2021-05-25 2022-12-01 阿里巴巴(中国)有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
WO2023160359A1 (zh) * 2022-02-23 2023-08-31 阿里巴巴(中国)有限公司 资源调度方法以及装置

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132363A1 (en) * 2003-12-16 2005-06-16 Vijay Tewari Method, apparatus and system for optimizing context switching between virtual machines
US20060020701A1 (en) * 2004-07-21 2006-01-26 Parekh Harshadrai G Thread transfer between processors
US20080104593A1 (en) * 2006-10-31 2008-05-01 Hewlett-Packard Development Company, L.P. Thread hand off
US20090178036A1 (en) * 2008-01-04 2009-07-09 Frank Eliot Levine Method and Apparatus for Call Stack Sampling Using a Virtual Machine
US20110113426A1 (en) * 2009-11-09 2011-05-12 Hsiang-Tsung Kung Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
CN103095834A (zh) * 2013-01-16 2013-05-08 中国科学院计算技术研究所 一种跨虚拟化数据中心的虚拟机在线迁移方法
US20150227192A1 (en) * 2013-09-17 2015-08-13 Empire Technology Development Llc Virtual machine switching based on processor power states
CN106095576A (zh) * 2016-06-14 2016-11-09 上海交通大学 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法
US20170060604A1 (en) * 2015-08-24 2017-03-02 International Business Machines Corporation Scaling past the java virtual machine thread limit
CN106775927A (zh) * 2016-11-25 2017-05-31 郑州云海信息技术有限公司 一种基于kvm虚拟化技术的处理器隔离方法及装置
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置
CN107704314A (zh) * 2017-11-09 2018-02-16 北京百度网讯科技有限公司 用于迁移虚拟机的方法和装置
CN108255572A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种vcpu切换方法和物理主机
WO2018149157A1 (zh) * 2017-02-20 2018-08-23 华为技术有限公司 一种vcpu线程的调度方法及装置
CN108804211A (zh) * 2018-04-27 2018-11-13 西安华为技术有限公司 线程调度方法、装置、电子设备及存储介质
CN109871262A (zh) * 2019-02-28 2019-06-11 北京隆普智能科技有限公司 一种虚拟机创建的方法及其创建装置
US10375700B1 (en) * 2018-04-19 2019-08-06 Verizon Patent And Licensing Inc. Resource allocation for virtual devices
US20190377598A1 (en) * 2017-02-23 2019-12-12 Huawei Technologies Co., Ltd. Data migration method and apparatus
CN110673928A (zh) * 2019-09-29 2020-01-10 天津卓朗科技发展有限公司 线程绑定方法、装置、存储介质及服务器
US20200097310A1 (en) * 2018-09-25 2020-03-26 Microsoft Technology Licensing, Llc Multi-tenant support on virtual machines in cloud computing networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843684B2 (en) * 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
CN106796530B (zh) * 2016-12-22 2019-01-25 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
CN113467884B (zh) * 2021-05-25 2024-08-02 阿里巴巴创新公司 资源配置方法和装置、电子设备及计算机可读存储介质

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132363A1 (en) * 2003-12-16 2005-06-16 Vijay Tewari Method, apparatus and system for optimizing context switching between virtual machines
US20060020701A1 (en) * 2004-07-21 2006-01-26 Parekh Harshadrai G Thread transfer between processors
US20080104593A1 (en) * 2006-10-31 2008-05-01 Hewlett-Packard Development Company, L.P. Thread hand off
US20090178036A1 (en) * 2008-01-04 2009-07-09 Frank Eliot Levine Method and Apparatus for Call Stack Sampling Using a Virtual Machine
US20110113426A1 (en) * 2009-11-09 2011-05-12 Hsiang-Tsung Kung Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
CN103095834A (zh) * 2013-01-16 2013-05-08 中国科学院计算技术研究所 一种跨虚拟化数据中心的虚拟机在线迁移方法
US20150227192A1 (en) * 2013-09-17 2015-08-13 Empire Technology Development Llc Virtual machine switching based on processor power states
US20170060604A1 (en) * 2015-08-24 2017-03-02 International Business Machines Corporation Scaling past the java virtual machine thread limit
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置
CN106095576A (zh) * 2016-06-14 2016-11-09 上海交通大学 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法
CN106775927A (zh) * 2016-11-25 2017-05-31 郑州云海信息技术有限公司 一种基于kvm虚拟化技术的处理器隔离方法及装置
CN108255572A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种vcpu切换方法和物理主机
WO2018149157A1 (zh) * 2017-02-20 2018-08-23 华为技术有限公司 一种vcpu线程的调度方法及装置
US20190377598A1 (en) * 2017-02-23 2019-12-12 Huawei Technologies Co., Ltd. Data migration method and apparatus
CN107704314A (zh) * 2017-11-09 2018-02-16 北京百度网讯科技有限公司 用于迁移虚拟机的方法和装置
US10375700B1 (en) * 2018-04-19 2019-08-06 Verizon Patent And Licensing Inc. Resource allocation for virtual devices
CN108804211A (zh) * 2018-04-27 2018-11-13 西安华为技术有限公司 线程调度方法、装置、电子设备及存储介质
US20200097310A1 (en) * 2018-09-25 2020-03-26 Microsoft Technology Licensing, Llc Multi-tenant support on virtual machines in cloud computing networks
CN109871262A (zh) * 2019-02-28 2019-06-11 北京隆普智能科技有限公司 一种虚拟机创建的方法及其创建装置
CN110673928A (zh) * 2019-09-29 2020-01-10 天津卓朗科技发展有限公司 线程绑定方法、装置、存储介质及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹高晋: "基于互斥组的虚拟机vCPU调度策略研究与实践", 《10.7666/D.Y2699577》, 20 May 2015 (2015-05-20) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022247698A1 (zh) * 2021-05-25 2022-12-01 阿里巴巴(中国)有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
WO2023160359A1 (zh) * 2022-02-23 2023-08-31 阿里巴巴(中国)有限公司 资源调度方法以及装置
CN115118508A (zh) * 2022-06-28 2022-09-27 平安银行股份有限公司 数据管理方法、装置、电子设备及存储介质
CN115118508B (zh) * 2022-06-28 2023-09-19 平安银行股份有限公司 数据管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022247698A1 (zh) 2022-12-01
CN113467884B (zh) 2024-08-02
US20240086228A1 (en) 2024-03-14

Similar Documents

Publication Publication Date Title
CN113467884A (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
US10768960B2 (en) Method for affinity binding of interrupt of virtual network interface card, and computer device
KR101864980B1 (ko) 가상 머신 전력 관리
CN108064377B (zh) 一种多系统共享内存的管理方法及装置
EP3637771A1 (en) Cloud desktop system, and image sequence compression and encoding method, and medium therefor
CN103425225A (zh) 便携数据设备操作系统中的应用程序装置及其运行方法
CN109376011B (zh) 虚拟化系统中管理资源的方法和装置
CN108445788B (zh) 一种酒店场景控制方法及相关装置
CN105589751A (zh) 一种物理资源调度方法及装置
CN116578422B (zh) 资源分配方法和电子设备
CN102812440A (zh) 多核系统以及起动方法
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN111158867A (zh) 时间同步处理方法、线程调度方法、装置及电子设备
CN104182283A (zh) 一种任务同步方法
CN109992415B (zh) 一种容器调度方法及调度系统
CN115576645A (zh) 一种虚拟处理器调度方法、装置、存储介质及电子设备
CN107153621B (zh) 设备识别方法及装置
CN105677481A (zh) 一种数据处理方法、系统及电子设备
EP4220403A1 (en) Service processing method and related apparatus
CN107453959B (zh) 一种网卡的管理方法及其装置
CN112860370B (zh) 虚拟机资源分配方法、装置、系统和存储介质
CN111399967B (zh) 一种基于容器的虚拟资源管理方法、装置及系统
CN112698884A (zh) 程序启动方法、装置、系统、设备及存储介质
CN117149391A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069612

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20240308

Address after: Singapore

Applicant after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant