CN115437739A - 虚拟化系统的资源管理方法、电子设备和计算机程序产品 - Google Patents
虚拟化系统的资源管理方法、电子设备和计算机程序产品 Download PDFInfo
- Publication number
- CN115437739A CN115437739A CN202110614177.0A CN202110614177A CN115437739A CN 115437739 A CN115437739 A CN 115437739A CN 202110614177 A CN202110614177 A CN 202110614177A CN 115437739 A CN115437739 A CN 115437739A
- Authority
- CN
- China
- Prior art keywords
- workload
- host
- distribution data
- migration
- historical
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4875—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开的实施例提供了一种虚拟化系统的资源管理方法、电子设备和计算机程序产品。该方法包括获取关于虚拟化系统的历史分布数据,历史分布数据指示在预定的历史时间段内由工作负载占用的资源在虚拟化系统的多个宿主机上的历史分布情况。该方法还包括基于历史分布数据生成预测分布数据,预测分布数据指示在预定的未来时间段内工作负载所占用的资源在多个宿主机上的预计分布情况。该方法还包括基于预测分布数据执行工作负载迁移至少一次,工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。以此方式,可以以较少的迁移步骤数实现各个宿主机上占用的资源的近似平衡。
Description
技术领域
本公开的实施例涉及虚拟化系统领域,并且更具体地,涉及虚拟化系统的资源管理方法、电子设备和计算机程序产品。
背景技术
借助虚拟化技术,用户能以单个物理硬件系统为基础创建多个模拟环境或专用资源。通过虚拟机监控程序,可以将一个系统划分为不同的、单独安全环境,即虚拟机(VM)。虚拟机监控部件够将计算机资源与硬件分离并适当分配资源。在此,对于工作负载所占用的资源的分配和调度对于虚拟化系统来说是重要的。
发明内容
在本公开的第一方面中,一种虚拟化系统的资源管理的方法,包括:获取关于虚拟化系统的历史分布数据,历史分布数据指示在预定的历史时间段内由工作负载占用的资源在虚拟化系统的多个宿主机上的历史分布情况;基于历史分布数据生成预测分布数据,预测分布数据指示在预定的未来时间段内工作负载所占用的资源在多个宿主机上的预计分布情况;基于预测分布数据执行工作负载迁移至少一次,工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。
在本公开的第二方面中,提供了一种电子设备,包括:处理器;以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使所述设备执行动作,动作包括:获取关于虚拟化系统的历史分布数据,历史分布数据指示在预定的历史时间段内由工作负载占用的资源在虚拟化系统的多个宿主机上的历史分布情况;基于历史分布数据生成预测分布数据,预测分布数据指示在预定的未来时间段内工作负载所占用的资源在多个宿主机上的预计分布情况;基于预测分布数据执行工作负载迁移至少一次,工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。在附图中:
图1示出了本公开的实施例可以在其中被实现的存储系统的示意图;
图2示出了根据本公开的实施例的虚拟化系统的资源管理的示例方法的流程图;
图3A示出了根据本公开的实施例的示例历史分布情况的示意图;
图3B示出了根据本公开的实施例的所预测的示例预计分布情况的示意图;
图3C示出了根据本公开的实施例的第一次工作负载迁移后的资源分布情况的示意图;
图3D示出了根据本公开的实施例的第二次工作负载迁移后的资源分布情况的示意图;
图4示出了根据本公开的实施例的预测数据结果的图表;
图5示出了根据本公开的实施例的工作负载迁移的示例方法的流程图;
图6示出了执行根据本公开的实施例的示例方法所得到的结果的图表;以及
图7示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
示例环境
图1示出了本公开的实施例可以在其中被实现的虚拟化系统100的示意图。虚拟化系统100包括虚拟资源池110、多个宿主机121-123以及虚拟资源管理器130。虚拟资源管理器130根据用户提交的工作负载的资源需求,在资源池中选择合适的物理机作为宿主机,在宿主机上创建虚拟机,包括配置虚拟机的虚拟硬件、操作系统、以及用于实现云服务的必要的应用程序。如图1所示,在虚拟化系统100中有多个宿主机。在各个宿主机上都运行有多个工作负载,而各个工作负载又占用了相应量的资源。工作负载例如可以是在宿主机上所部署的虚拟机或者任何应用。
虚拟资源管理器130例如包括硬件层,硬件层可以包括处理器、输入/输出接口,存储器以及网络接口,各组件之间可以经系统总线进行通信。处理器可以采用CPU、微处理器(MCU,Microcontroller Unit)、专用集成电路(ASIC,Application Specific IntegratedCircuit)或逻辑可编程门阵列(FPGA,Field Programmable Gate Array)实现。输入/输出接口可以采用如显示屏、触摸屏、扬声器等输入/输出器件实现。
存储器可以采用闪存、硬盘、光盘等非易失性存储介质实现,也可以采用双倍率(DDR,Double Data Rate)动态缓存等易失性存储介质实现,其中存储有用以执行上述宿主机管理方法的可执行指令。
网络接口向处理器提供外部数据如异地设置的存储器的基于网络传输协议(TCP,Transfer Control Protocol)/用户数据协议(UDP,User Datagram Protocol)的访问能力。
虚拟机(VM)是通过软件模拟的具有完整硬件系统功能的、运行在物理机的一个完全隔离环境中的完整计算机系统。虚拟机是一种严密隔离的软件容器,它可以运行自己的操作系统和应用程序,就好像一台物理计算机。虚拟机的运行完全类似于一台物理计算机,它包含自己虚拟(即基于软件实现的)的各种硬件,包括CPU、内存、硬盘和网络接口等。
宿主机是指要运行虚拟机(软件)的物理机(物理主机),如服务器、个人电脑等各种计算设备,物理机中可以运行一个或多个虚拟机。
虚拟资源管理器130可以根据工作负载所要占用的资源对各个宿主机的资源进行调度,以使各个宿主机的资源占用量尽量平衡。
在本文中,资源的量是由物理机提供的用于运行宿主机的各个维度的资源的量化表示,主要量化表示计算资源、通信资源和存储资源等;举例来说:
计算资源相关的资源例如包括但不限于:处理器:主频、核心数量、线程数量、外频、一级缓存、二级缓存、三级缓存;支持超线程的能力;支持核心显卡的能力;内存的内存容量和工作频率;显卡的类型(如独立显卡、核心显卡)、显存容量、显存频率、显存位宽,等等。
通信资源相关的资源包括:网络接入类型,如光纤接入、电缆接入等;网络带宽,如30兆位每秒。
存储资源相关的资源因子包括:存储器的容量;存储介质的类型,如机械硬盘、固态硬盘等。
传统上,虚拟化资源的平衡问题可以被归纳为一种装箱问题,是指将工作负载迁移到合适的宿主机的组合优化问题,即对于资源平衡而言,在各个宿主机之间迁移工作负载以使各个宿主机所占用的资源量平衡的问题。针对装箱问题,通常使用贪心算法,即在迁移资源工作负载时,将工作负载排列,每次迁移至剩余资源最多的宿主机。
然而由于贪心算法只考虑每个步骤中的“最贪心”(完成尽可能多的工作负载)的方案,没有全局性的规划,导致需要的迁移步骤较多。因此,期望能够以尽量少的迁移步骤来实现资源的平衡。
资源管理
本公开的实施例提出了一种利用预测的资源分布情况、以迭代的方式在占用较多资源量的宿主机与占用较少资源量的宿主机之间迁移工作负载的方案。
总体上,根据在此描述的实施例,通过在占用较多资源的宿主机与占用较少资源的宿主机之间进行至少一次迁移,能够使迁出工作负载的宿主机与迁入工作负载的宿主机所占用的资源量尽量接近。以此方式,能够以较少的迁移步骤数实现各个宿主机所占用资源的近似平衡。根据本公开的方案是非贪婪的、接近平衡的,能够适应未来资源变化的趋势,节约大量系统资源,降低系统资源竞争的机会。
图2示出了根据本公开的实施例的虚拟化系统的资源管理的方法200的流程图。方法200,例如可由图1中的虚拟资源管理器130来执行。
在框202,获取关于虚拟化系统的历史分布数据,历史分布数据指示在预定的历史时间段内由工作负载占用的资源在虚拟化系统的多个宿主机上的历史分布情况。
例如,在一些实施例中,资源在宿主机上的分布数据可以存储在虚拟化系统本地。在一些实施例中,预定的历史时间段可以是在当前时间之前的数分钟、数十分钟、数小时或者数天,等等。在此方面,图3A示出了资源在根据本公开的实施例的虚拟化系统中的多个宿主机上的示例历史分布情况。
在图3A所示的示例中,虚拟化系统包括宿主机320-1、宿主机320-2和宿主机320-k,其中K为任意适当的自然数。在宿主机1上运行了工作负载11、工作负载12……和工作负载1i;在宿主机2上运行了工作负载21、工作负载22……和工作负载2m;在宿主机k上运行了工作负载k1、工作负载k2……和工作负载kn;其中i、m和n为自然数,分别代表了在宿主机1、宿主机2和宿主机k上的工作负载总数。在图3A以及之后的附图中,工作负载所占用的方框大小示意性地对应于其所占用的资源的量。
返回图2,在框204,基于历史分布数据生成预测分布数据,预测分布数据指示在预定的未来时间段内工作负载所占用的资源在多个宿主机上的预计分布情况。
在一些实施例中,可以通过将历史分布数据作为长短期记忆LSTM机器学习模型来生成预测分布数据。LSTM机器学习模型使用历史时间段内的历史分布数据进行训练,然后在给定未来时间点的情况下输出在该未来时间点的预计分布数据。
传统上,对资源分布情况的预测是基于较短时间内的数据所获得的。例如所预测的分布情况可以是未来1至5分钟内的,这意味着未来的资源趋势没有被考虑进去。然而,资源分布的长期变化趋势对资源平衡至关重要,因此这将导致后续的资源管理的准确性降低。
在一些实施例中,可以使用X天的历史分布数据作为输入数据,并且通过LSTM机器学习模型预测Y天的预计分布数据,其中X和Y是任意合适的自然数。通过预测数天的预计分布数据,可以获得资源分布的长期变化趋势,从而提高预测数据的准确性。在一些实施例中,X和Y可以通过反复训练和调整而得到优化,由此提高预测的准确性。
图4示出了使用LSTM机器学习模型以过去30天的历史分布数据来预测未来1天的示例预计分布数据的图表,其中410是测试数据的曲线,而420是预测数据的曲线。可以看出,在此使用的LSTM机器学习模型能够很好地预测数据变化趋势。
以下将参考图3B来描述一个示例预测分布情况。图3B示出了所预测的、资源在根据本公开的实施例的虚拟化系统中的多个宿主机上的示例预计分布情况。
在图3B所示的示例中,宿主机320-1、宿主机320-2和宿主机320-k分别对应于在图3A中的相应宿主机。在未来时间段的一个时间点,在宿主机320-1、宿主机320-2和宿主机320-k上运行有与在图3A所示的情况中相同数量的工作负载。应理解,在未来的时间点,宿主机上的工作负载数可能发生变化,这种情况也适用于本公开的实施例。经过预测,在各个宿主机上的工作负载所占用的资源发生了变化。如图3B所示,在此未来时间点,工作负载1i和工作负载ki所占用的资源增加了,其中图中的虚线代表进行预测的历史时间点的资源占用量。
返回图2,在框206,基于预测分布数据执行工作负载迁移至少一次,工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。
将会理解,通过执行在占用较多资源的宿主机与占用较少资源的宿主机之间的工作负载迁移,在每次迁移后,宿主机之间所占用的资源得到一定程度上的平衡。
在一些实施例中,高阈值和低阈值可以基于各个宿主机的资源占用总量来设定。例如,可以基于预测分布数据,确定总量最大的特定数量的宿主机,基于此设定高阈值以包括该特定数量的宿主机。相应地,确定总量最小的特定数量的宿主机,基于此设定低阈值以包括该特定数量的宿主机。
在一些实施例中,预计资源占用量超过高阈值的第一宿主机为预计资源占用量最大的宿主机,并且预计资源占用量低于低阈值的第二宿主机为预计资源占用量最小的宿主机。在一些实施例中,在选定第一宿主机和第二宿主机后,从第一宿主机中选择一个或多个工作负载,将其迁移至第二宿主机中。在一些实施例中,在执行工作负载迁移之后,基于前次工作负载迁移后的资源分布来重新设定高阈值和低阈值,并且在所有宿主机中,再次选择预计资源占用量超过高阈值的宿主机以及预计资源占用量低于低阈值的宿主机。
在一些实施例中,可以在第一宿主机上的工作负载中确定一个特定的迁移工作负载。例如,可以在第一宿主机中确定一个最合适的工作负载,其中与第一宿主机中的其他工作负载相比,迁入最合适的工作负载后的第二宿主机的资源占用余量,最接近第一预计资源占用量与第二预计资源占用率的平均值。在一些实施例中,将迁移工作负载从第一宿主机迁移到第二宿主机,使得第一宿主机迁出工作负载后的第一资源占用余量与第二宿主机迁入工作负载后的第二资源占用余量之差低于阈值。通过设定阈值,可以根据情况来选择要迁移的工作负载。例如,阈值可以被设定得尽可能小,由此可以保证第一资源占用余量与第二资源占用余量尽可能接近,从而减少迁移步骤。
在一些实施例中,工作负载迁移可以包括判断操作,用以确定是否进行工作负载迁移。例如,可以响应于确定在第一宿主机上的工作负载所占用的资源的量高于第一预计资源占用量与第二预计资源占用量之差,停止工作负载迁移。通过这种方式,可以判断出第一宿主机中没有适于迁移的工作负载。此时,例如可以重新执行工作负载迁移。
下面将参考图3C和图3D来描述一个示例工作负载迁移过程。图3C示出了在第一次工作负载迁移后的资源分布情况,图3D示出了在第二次工作负载迁移后的资源分布情况。
根据图3B所示的预测分布数据,确定超过高阈值的第一宿主机、即宿主机320-1,并确定低于低阈值的第二宿主机、即宿主机320-2。如图3C所示,在宿主机1的工作负载中选择了工作负载330-13,将其迁移到了宿主机2中。至此,完成了第一次工作负载迁移。下面执行第二次工作负载迁移。
在此,根据图3C所示的资源分布情况,确定超过高阈值的第一宿主机,即宿主机320-k,并且确定低于低阈值的第二宿主机、即宿主机320-1。然后参考图3D,在宿主机320-k的工作负载中选择了工作负载330-k1,并将其迁移到了宿主机320-1。可以看到,在进行了第二次迁移之后,宿主机320-1、宿主机320-2和宿主机320-k所占用的资源总量几乎是一样的,此时宿主机320-1、宿主机320-2和宿主机320-k两两之间的资源总量之差很小,达到了近似的资源平衡。
例如,工作负载迁移可以利用图5所示的方法来执行。图5示出了在方法200中的框206处的工作负载迁移的示例性具体实施方法500的流程图。方法500,例如可由图1中的虚拟资源管理器130来执行。
在图5所示的示例中,在框502,基于预测分布数据,确定每个宿主机的预计资源占用量。在第一次进行工作负载迁移时,可以例如基于在之前的步骤中获得的预测分布数来来确定预计资源占用量。在之后进行工作负载迁移时,可以基于前次工作负载迁移来确定当前的资源占用量。
在框504,确定预计资源占用量最大的第一宿主机和预计资源占用量最小的第二宿主机。例如,可以基于在框502处所确定的预计资源占用量来设定高阈值和低阈值,从而选择预计资源占用量最大的宿主机最为第一宿主机,选择预计资源占用量最小的宿主机最为第二宿主机。
在框506,确定第一宿主机的第一预计资源占用量与第二宿主机的第二预计资源占用量之差。
在框508,判断第一宿主机上的每个工作负载所占用的资源的量是否高于所确定的预计资源占用量之差。当判断为是时,则转到框510,方法结束。当判断为否时,则转到框512。
在框512,确定第一预计资源占用量与第二预计资源占用量的平均值。
在框514,在第一宿主机中确定最合适的工作负载,其中与第一宿主机中的其他工作负载相比,迁入最合适的工作负载后的第二宿主机的资源占用余量最接近所确定的平均值。例如,可以历遍第一宿主机中的每一个工作负载,将每个工作负载所占用的资源与第二预计资源占用量相加,然后将资源占用余量与在框512所确定的平均值进行比较,选择与平均值最接近的资源占用余量所对应的工作负载作为最适合的工作负载。
在框516,将最合适的工作负载迁移至第二宿主机。至此,完成了一次工作负载迁移。
结果分析
图6示出了执行根据本公开的实施例的方法所得到的示例结果的图表。横轴线是宿主机的数目,左侧的纵轴线为标准差/迁移步数,而右侧的纵轴线为耗时/迁移步数比重。如图6所示,在2~63个宿主机上使用了多个工作负载样本,其中曲线610为迁移前所有宿主机上的资源占用量的标准差,640是移动后的标准差,它们以左侧纵轴线为标准。可以看到,迁移前的标准差约为100。在应用根据本公开的实施例的方法后,标准差低于5。
以左侧纵轴线为标准的柱形线650分别表示各个宿主机的平均迁移步数。可以看出,随着宿主机数量的增加,平均移动步数也增加。
以右侧纵轴线为标准的曲线620和630。曲线620表示每台宿主主机的移动步数比重,以及曲线630表示执行方法的耗时。每台宿主机的移动步数比重仅为每台主机平均迁移约1步。耗时随着宿主机数量的增加而增加,但都低于0.5秒。
通过结果可以看出,迁移步数大幅减少了,并且资源得到了很好的平衡。
示例设备
图7示出了可以用来实施本公开内容的实施例的示例设备700的示意性框图。如图7所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元701执行。例如,在一些实施例中,图2所示的方法200和图5所示的方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM703并由CPU 701执行时,可以执行上文描述的方法的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种虚拟化系统的资源管理的方法,包括:
获取关于虚拟化系统的历史分布数据,所述历史分布数据指示在预定的历史时间段内由工作负载占用的资源在所述虚拟化系统的多个宿主机上的历史分布情况;
基于所述历史分布数据生成预测分布数据,所述预测分布数据指示在预定的未来时间段内所述工作负载所占用的资源在所述多个宿主机上的预计分布情况;
基于所述预测分布数据执行工作负载迁移至少一次,所述工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。
2.根据权利要求1所述的方法,其中将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移包括:
在所述第一宿主机上的所述工作负载中确定迁移工作负载;
将所述迁移工作负载从所述第一宿主机迁移到所述第二宿主机,使得所述第一宿主机迁出所述迁移工作负载后的第一资源占用余量与所述第二宿主机迁入所述迁移工作负载后的第二资源占用余量之差低于阈值。
3.根据权利要求1所述的方法,其中基于所述预测分布数据执行工作负载迁移至少一次包括:
响应于确定在所述第一宿主机上的所述工作负载所占用的资源的量高于所述第一预计资源占用量与所述第二预计资源占用量之差,停止所述工作负载迁移。
4.根据权利要求1所述的方法,其中基于所述历史分布数据生成预测分布数据包括:
通过将所述历史分布数据作为长短期记忆LSTM机器学习模型来生成所述预测分布数据。
5.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
获取关于虚拟化系统的历史分布数据,所述历史分布数据指示在预定的历史时间段内由工作负载占用的资源在所述虚拟化系统的多个宿主机上的历史分布情况;
基于所述历史分布数据生成预测分布数据,所述预测分布数据指示在预定的未来时间段内所述工作负载所占用的资源在所述多个宿主机上的预计分布情况;
基于所述预测分布数据执行工作负载迁移至少一次,所述工作负载迁移包括将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移。
6.根据权利要求5所述的电子设备,其中将第一预计资源占用量超过高阈值的第一宿主机的工作负载向第二预计资源占用量低于低阈值的第二宿主机迁移包括:
在所述第一宿主机上的所述工作负载中确定迁移工作负载;
将所述迁移工作负载从所述第一宿主机迁移到所述第二宿主机,使得所述第一宿主机迁出所述迁移工作负载后的第一资源占用余量与所述第二宿主机迁入所述迁移工作负载后的第二资源占用余量之差低于阈值。
7.根据权利要求5所述的电子设备,其中基于所述预测分布数据执行工作负载迁移至少一次包括:
响应于确定在所述第一宿主机上的所述工作负载所占用的资源的量高于所述第一预计资源占用量与所述第二预计资源占用量之差,停止所述工作负载迁移。
8.根据权利要求5所述的电子设备,其中基于所述历史分布数据生成预测分布数据包括:
通过将所述历史分布数据作为长短期记忆LSTM机器学习模型来生成所述预测分布数据。
9.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至4中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110614177.0A CN115437739A (zh) | 2021-06-02 | 2021-06-02 | 虚拟化系统的资源管理方法、电子设备和计算机程序产品 |
US17/547,944 US20220391253A1 (en) | 2021-06-02 | 2021-12-10 | Method of resource management of virtualized system, electronic device and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110614177.0A CN115437739A (zh) | 2021-06-02 | 2021-06-02 | 虚拟化系统的资源管理方法、电子设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115437739A true CN115437739A (zh) | 2022-12-06 |
Family
ID=84240188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110614177.0A Pending CN115437739A (zh) | 2021-06-02 | 2021-06-02 | 虚拟化系统的资源管理方法、电子设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220391253A1 (zh) |
CN (1) | CN115437739A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687804A (zh) * | 2024-02-02 | 2024-03-12 | 北京趋动智能科技有限公司 | 资源管理方法、装置、系统及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382924B (zh) * | 2023-06-02 | 2023-08-15 | 建信金融科技有限责任公司 | 资源配置的推荐方法、装置、电子设备及存储介质 |
CN117519913B (zh) * | 2024-01-08 | 2024-03-22 | 联通在线信息科技有限公司 | 一种容器内存资源弹性伸缩调度方法和系统 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442663B1 (en) * | 1998-06-19 | 2002-08-27 | Board Of Supervisors Of Louisiana University And Agricultural And Mechanical College | Data collection and restoration for homogeneous or heterogeneous process migration |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6970425B1 (en) * | 2000-04-27 | 2005-11-29 | At&T Corp. | Method and apparatus for throttling and distributing data transmissions across a network |
US7437730B2 (en) * | 2003-11-14 | 2008-10-14 | International Business Machines Corporation | System and method for providing a scalable on demand hosting system |
US20060168107A1 (en) * | 2004-03-16 | 2006-07-27 | Balan Rajesh K | Generalized on-demand service architecture for interactive applications |
US20050215265A1 (en) * | 2004-03-23 | 2005-09-29 | Sharma Sanjeev K | Method and system for load balancing in a wireless communication system |
US7665092B1 (en) * | 2004-12-15 | 2010-02-16 | Sun Microsystems, Inc. | Method and apparatus for distributed state-based load balancing between task queues |
US9280662B2 (en) * | 2006-04-21 | 2016-03-08 | Hewlett Packard Enterprise Development Lp | Automatic isolation of misbehaving processes on a computer system |
US8307359B1 (en) * | 2006-06-23 | 2012-11-06 | Emc Corporation | Embedded virtual storage area network using a virtual block network fabric |
US8230069B2 (en) * | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
JP2010108409A (ja) * | 2008-10-31 | 2010-05-13 | Hitachi Ltd | ストレージ管理方法及び管理サーバ |
US8108503B2 (en) * | 2009-01-14 | 2012-01-31 | International Business Machines Corporation | Dynamic load balancing between chassis in a blade center |
US8117613B2 (en) * | 2009-04-08 | 2012-02-14 | Microsoft Corporation | Optimized virtual machine migration mechanism |
US9430353B2 (en) * | 2009-10-26 | 2016-08-30 | Microsoft Technology Licensing, Llc | Analysis and visualization of concurrent thread execution on processor cores |
WO2011075131A1 (en) * | 2009-12-18 | 2011-06-23 | Hewlett-Packard Development Company, L.P. | Proxy agents in a network |
WO2011127060A1 (en) * | 2010-04-05 | 2011-10-13 | Huawei Technologies Co., Ltd. | Method for dynamic on demand startup of a process or resource |
US8171349B2 (en) * | 2010-06-18 | 2012-05-01 | Hewlett-Packard Development Company, L.P. | Associating a monitoring manager with an executable service in a virtual machine migrated between physical machines |
US8914805B2 (en) * | 2010-08-31 | 2014-12-16 | International Business Machines Corporation | Rescheduling workload in a hybrid computing environment |
WO2012124077A1 (ja) * | 2011-03-16 | 2012-09-20 | 富士通株式会社 | マルチコアプロセッサシステムおよびスケジューリング方法 |
US8843924B2 (en) * | 2011-06-17 | 2014-09-23 | International Business Machines Corporation | Identification of over-constrained virtual machines |
US9448849B2 (en) * | 2011-08-31 | 2016-09-20 | Oracle International Corporation | Preventing oscillatory load behavior in a multi-node distributed system |
US9311159B2 (en) * | 2011-10-31 | 2016-04-12 | At&T Intellectual Property I, L.P. | Systems, methods, and articles of manufacture to provide cloud resource orchestration |
US20130160003A1 (en) * | 2011-12-19 | 2013-06-20 | Vmware, Inc. | Managing resource utilization within a cluster of computing devices |
JP2013164822A (ja) * | 2012-02-13 | 2013-08-22 | Fujitsu Ltd | 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法 |
US8984526B2 (en) * | 2012-03-09 | 2015-03-17 | Microsoft Technology Licensing, Llc | Dynamic processor mapping for virtual machine network traffic queues |
US9658896B2 (en) * | 2012-05-16 | 2017-05-23 | International Business Machines Corporation | Apparatus and method to manage device performance in a storage system |
US9438466B1 (en) * | 2012-06-15 | 2016-09-06 | Juniper Networks, Inc. | Migrating virtual machines between oversubscribed and undersubscribed compute devices |
US9503310B1 (en) * | 2012-11-27 | 2016-11-22 | Leidos, Inc. | Methods and systems of dynamic management of resources in a virtualized environment |
US9596297B2 (en) * | 2013-05-16 | 2017-03-14 | Toshiba Global Commerce Solutions Holdings Corporation | Managing communications in a multi-client, multi-server environment |
US9471377B2 (en) * | 2013-11-13 | 2016-10-18 | Reservoir Labs, Inc. | Systems and methods for parallelizing and optimizing sparse tensor computations |
US10467036B2 (en) * | 2014-09-30 | 2019-11-05 | International Business Machines Corporation | Dynamic metering adjustment for service management of computing platform |
US9912741B2 (en) * | 2015-01-20 | 2018-03-06 | International Business Machines Corporation | Optimization of computer system logical partition migrations in a multiple computer system environment |
US9880885B2 (en) * | 2015-02-04 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system to rebalance constrained services in a cloud using a genetic algorithm |
US9946564B2 (en) * | 2015-06-23 | 2018-04-17 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US9477532B1 (en) * | 2015-10-06 | 2016-10-25 | Oracle International Corporation | Graph-data partitioning for workload-balanced distributed computation with cost estimation functions |
US10412155B2 (en) * | 2015-10-29 | 2019-09-10 | Capital One Services, Llc | Automated server workload management using machine learning |
US10652327B2 (en) * | 2016-04-29 | 2020-05-12 | Hewlett Packard Enterprise Development Lp | Migration of virtual machines |
US10678603B2 (en) * | 2016-09-01 | 2020-06-09 | Microsoft Technology Licensing, Llc | Resource oversubscription based on utilization patterns in computing systems |
US10248320B2 (en) * | 2016-10-28 | 2019-04-02 | International Business Machines Corporation | Workload-aware thin-provisioning storage-allocation system |
US11296902B2 (en) * | 2017-02-05 | 2022-04-05 | Intel Corporation | Adaptive deployment of applications |
US10776013B2 (en) * | 2018-04-27 | 2020-09-15 | International Business Machines Corporation | Performing workload balancing of tracks in storage areas assigned to processing units |
US10795715B2 (en) * | 2018-06-28 | 2020-10-06 | At&T Intellectual Property I, L.P. | Cloud oversubscription system |
US20200019841A1 (en) * | 2018-07-12 | 2020-01-16 | Vmware, Inc. | Neural network model for predicting usage in a hyper-converged infrastructure |
US20210173687A1 (en) * | 2019-12-09 | 2021-06-10 | Microsoft Technology Licensing, Llc | Overlap Customer Planned Activity to Migrate a Virtual Machine |
US11625327B2 (en) * | 2019-12-10 | 2023-04-11 | EMC IP Holding Company LLC | Cache memory management |
US20210326275A1 (en) * | 2020-04-15 | 2021-10-21 | EMC IP Holding Company LLC | Dynamic bandwidth allocation of storage system ports |
US11847591B2 (en) * | 2020-07-06 | 2023-12-19 | Samsung Electronics Co., Ltd. | Short-term load forecasting |
WO2022070292A1 (ja) * | 2020-09-30 | 2022-04-07 | 日本電信電話株式会社 | Vdiリソース配置決定装置、vdiリソース配置決定方法及びvdiリソース配置決定プログラム |
-
2021
- 2021-06-02 CN CN202110614177.0A patent/CN115437739A/zh active Pending
- 2021-12-10 US US17/547,944 patent/US20220391253A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687804A (zh) * | 2024-02-02 | 2024-03-12 | 北京趋动智能科技有限公司 | 资源管理方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220391253A1 (en) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10699367B2 (en) | Placement optimization for virtualized graphics processing | |
US9959104B2 (en) | Dependency-based container deployment | |
US20180293110A1 (en) | Capacity and load analysis using storage attributes | |
US10628908B2 (en) | Application-specific virtualized graphics processing | |
CN115437739A (zh) | 虚拟化系统的资源管理方法、电子设备和计算机程序产品 | |
US9612878B2 (en) | Resource allocation in job scheduling environment | |
US9904975B2 (en) | Scaling for virtualized graphics processing | |
US10102033B2 (en) | Method and system for performance ticket reduction | |
US11099895B2 (en) | Estimating and managing resource provisioning speed based on provisioning instruction | |
US9547520B1 (en) | Virtual machine load balancing | |
US9753851B2 (en) | Multi-section garbage collection system including real-time garbage collection scheduling | |
US20220188620A1 (en) | Time estimator for deep learning architecture | |
US20200409731A1 (en) | Machine-learning based heap memory tuning | |
US20190163379A1 (en) | Prevent disk hardware failure for cloud applications | |
US20150309731A1 (en) | Dynamic Tuning of Memory in MapReduce Systems | |
US11070489B2 (en) | Resource consumption control | |
US11614963B2 (en) | Machine learning based runtime optimization | |
US9886737B2 (en) | Local-to-remote migration for virtualized graphics processing | |
US11620132B2 (en) | Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction | |
US10430911B1 (en) | Graphics overlays with virtualized graphics processing | |
JP2020154982A (ja) | リソース管理装置、リソース管理方法、およびリソース管理プログラム |
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 |