CN115562812A - 面向机器学习训练的分布式虚拟机调度方法、装置和系统 - Google Patents
面向机器学习训练的分布式虚拟机调度方法、装置和系统 Download PDFInfo
- Publication number
- CN115562812A CN115562812A CN202211298367.7A CN202211298367A CN115562812A CN 115562812 A CN115562812 A CN 115562812A CN 202211298367 A CN202211298367 A CN 202211298367A CN 115562812 A CN115562812 A CN 115562812A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine
- migration
- physical
- scheduling
- 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/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/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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种面向机器学习训练的分布式虚拟机调度方法、装置和系统。所述方法通过不断地根据在线到达的机器学习任务、当前各物理机的资源使用情况、物理机下虚拟机的内存切换情况以及虚拟机中机器学习任务的完成进度,来不断生成新的迁移调度策略,以此来整合资源。本发明能够在无法准确获知未来机器学习任务到达的数量的情况下,通过结合机器学习任务的剩余执行时间和虚拟机的迁移时间,为数据中心调整出合适的迁移调度策略,达到在保证任务服务质量的同时,最大化云数据中心环境中节能的效果。
Description
技术领域
本发明涉及机器学习云平台和数据中心领域,具体涉及一种面向机器学习训练的分布式虚拟机调度方法、装置和系统。
背景技术
机器学习技术目前广泛应用于语音识别、个性化推荐、无人驾驶等各个领域。为了满足开发大规模模型的需要,云平台推出了机器学习即服务(Machine Learning As AService,MLaaS),它可以为用户构建应用程序提供足够的资源。云平台通常采用以虚拟机为主的服务器虚拟化来保证任务的安全性和用户隐私。但是,云平台集群中服务器资源的利用率普遍较低。从阿里巴巴人工智能平台(PAI)的集群数据中,我们知道CPU资源的整体利用率在40%左右。此外,还存在异构机器之间的利用率不平衡的问题,有些机器分配了超过70%的CPU,有些机器只分配了35%,且这些低负载服务器仍然消耗超过60%的总功耗。资源使用效率差导致大量能源浪费,这不仅增加了数据中心的运营费用,而且对环境产生了负面影响。
动态虚拟机迁移调度以整合服务器资源是提高基于虚拟化的云数据中心能效的主流方法。然而,由于机器学习任务的频繁内存切换,在现有的迁移机制下存在许多挑战。对于冷迁移,物理机会在长时间的停机时间下丢失任务状态,不仅增加了任务的运行时间,也增加了额外资源消耗。对于post-copy热迁移,由于虚拟机在任务训练模型过程中内存使用率高,IO压力大,经常会出现数据丢失、任务异常中断甚至虚拟机崩溃的情况。对于MLaaS集群来说,只有pre-copy迁移是稳定的。然而,由于内存密集型模型训练,内存脏页率也增加,成为不可忽略的因素。在现有机制下,迁移时间与脏页率密切相关。此外,由于模型训练的收敛性,模型训练的剩余时间也会影响内存IO状态。因此,模型剩余训练时间和内存IO状态,共同影响迁移调度策略。在这种情况下,盲目地迁移可能会导致迁移时间过长,从而造成不必要的负担。
此外,适用于MLaaS集群的迁移框架存在一些其他挑战。首先,现在大多数数据中心都采用异构架构,因此需要考虑将虚拟机迁移到具有高能效比的物理机上。其次,迁移会延迟任务的完成时间,应该尽可能保证任务的服务质量。最后,当集群的未来信息未知时,希望迁移调度策略能够尽可能达到最佳的长期效果。现有的迁移调度方法无法应对这些挑战。资源感知算法仅考虑合并的资源因素,而忽略了迁移的负面影响。迁移成本感知算法限制合并期间的迁移次数以控制成本,但是在MLaaS集群仍然存在很多无效迁移,不仅消耗更多的能量和网络带宽,而且降低了任务的性能。
发明内容
本发明的目的是提出一种面向机器学习训练的分布式虚拟机调度方法、装置和系统,至少部分地解决现有技术中的问题。
为了实现上述发明目的,本发明采用如下的技术方案:
第一方面,一种数据中心虚拟化资源协同调度方法,所述方法包括:
在时隙开始时,将到达的机器学习任务封装到虚拟机上,将虚拟机以首次适应算法的方式下发至物理机上;
获取当前时隙内各物理机的情况,包括物理机的资源使用情况和剩余时间;
获取当前时隙内各虚拟机的情况,包括虚拟机的资源使用情况,其上的任务剩余执行时间和已运行时间情况;
根据当前时隙虚拟机的剩余执行时间和已运行时间情况,推断出当前虚拟机上任务的执行周期,以此获知虚拟机的内存脏页率情况和迁移所需时间,构建以最小化集群能耗为目标的优化问题并求解,将求解结果作为迁移时隙内的迁移调度策略,所述决策包括将虚拟机重新迁移调度到合适的物理机上;
在本时隙结束时,将指定的虚拟机根据所得的策略迁移到指定的物理机上并关闭空闲物理机。
进一步地,所述优化问题如下:
其中,T表示时隙总数,|MP|为时隙ti内物理机的数量,uj表示物理机j的CPU利用率,P(uj)表示物理机在CPU利用率uj下的功率;
将优化问题转化成迁移调度策略带来的能耗收益-成本最大化:
其中:savet为时隙t内迁移调度策略所带来的能耗收益,costt为时隙t内迁移调度策略所带来的能耗损失,
约束条件:
式中,|MV|为时隙ti内虚拟机的数量,x′i,j为迁移调度前的虚拟机分配部署方案,xi,j为迁移调度后的虚拟机分配部署方案,其中xi,j=0表示虚拟机i没有分配到物理机j上,xi,j=1则表示虚拟机i分配到物理机j上,vresi,k为虚拟机i的资源容量,其中k为0表示CPU资源,k为1表示内存资源,vrti表示虚拟机i的剩余执行时间,Δvrti表示虚拟机i迁移后增加的执行时间,vrt′i表示虚拟机i迁移后的剩余执行时间,vcti表示虚拟机i完成机器学习任务所需的时间,pri表示虚拟机i的内存脏页率,Ppeak,j表示物理机j的峰值功率,Pidle,j表示物理机j的空闲功率,PRESj,k表示物理机j的资源容量,其中k为0表示CPU资源,k为1表示内存资源,PRTj ′t表示物理机j迁移走虚拟机i后的剩余时间,Bj表示物理机j用于迁移的带宽,MTi,j表示虚拟机i迁移到物理机j所需的时间,nk表示虚拟机i迁移到物理机j的迁移轮数,SPavg表示任务服务质量的限制,[*]+指的是max{*,0},意为和0比较,取其中大的。
进一步地,对优化问题的求解包括:
将优化问题(1)分解到每一个迁移时隙,在每一个迁移时隙开始的时候,实际求解如下优化问题:
优化目标:min∑X∈X(r)dX(t)F(X,t)(2)
F(X,t)=q(t)*(spt-SPavg)-V*(savet-costt)
约束条件:h(X)≤0且∑X∈X(t)dX(t)=1
式中,X(t)是时隙t时刻的虚拟机放置策略的集合,X为时隙t所取的放置策略,dX(t)是采用策略X的概率,q(t)是保证任务服务质量下使用李雅普诺夫优化的积压队列,spt是时隙t的服务质量惩罚量,V是李雅普诺夫优化的调节参数,h为需要满足的节点上虚拟机分配的约束函数,包含约束1.1-1.4。
进一步地,对优化问题(2)的求解包括:将优化问题(2)放缩成log-sum-exp问题,实际求解如下优化问题:
约束条件:h(X)≤0且∑X∈X(t)dX(t)=1
式中,β是松弛参数。
进一步地,采用马尔可夫近似优化技术对优化问题(3)进行求解,得到结果X,用于在t时隙的虚拟机迁移调度。
进一步地,每次随机地选择一个虚拟机尝试性地迁移到随机一个物理机上,以生成一个新的迁移调度策略,迁移调度策略被系统选择更新的概率为:
第二方面,提供一种构机器学习集群环境下虚拟机的动态迁移装置,包括:
虚拟机监控模块,被配置为获取当前时隙内虚拟机的资源使用情况和相关时间情况,包括机器学习任务剩余执行时间和已运行时间;
系统资源管理模块,被配置为获取当前时隙各物理机的资源使用情况,包括CPU使用量、内存使用量和CPU功率;
迁移调度决策计算模块,被配置为根据当前时隙虚拟机上任务运行情况、虚拟机内存切换情况和物理机资源使用情况,构建以在服务质量约束下最大化虚拟机迁移收益为目标的优化问题并求解,将求解结果作为本时隙的虚拟机迁移调度决策,所述决策包括将虚拟机重新分配到能效比更高的物理机上;
迁移调度决策下发模块,被配置为在时隙结束时,将指定的虚拟机迁移到指定的物理机上并关闭空闲物理机。
进一步地,所述迁移调度决策计算模块构建的优化问题如下:
其中,T表示时隙总数,|MP|为时隙ti内物理机的数量,uj表示物理机j的CPU利用率,P(uj)表示物理机在CPU利用率uj下的功率;
将优化问题转化成迁移调度策略带来的能耗收益-成本最大化:
其中:savet为时隙t内迁移调度策略所带来的能耗收益,costt为时隙t内迁移调度策略所带来的能耗损失,
约束条件:
式中,|MV|为时隙ti内虚拟机的数量,x′i,j为迁移调度前的虚拟机分配部署方案,xi,j为迁移调度后的虚拟机分配部署方案,其中xi,j=0表示虚拟机i没有分配到物理机j上,xi,j=1则表示虚拟机i分配到物理机j上,vresi,k为虚拟机i的资源容量,其中k为0表示CPU资源,k为1表示内存资源,vrti表示虚拟机i的剩余执行时间,Δvrti表示虚拟机i迁移后增加的执行时间,vrt′i表示虚拟机i迁移后的剩余执行时间,vcti表示虚拟机i完成机器学习任务所需的时间,pri表示虚拟机i的内存脏页率,Ppeak,j表示物理机j的峰值功率,Pidle,j表示物理机j的空闲功率,PRESj,k表示物理机j的资源容量,其中k为0表示CPU资源,k为1表示内存资源,PRTj ′t表示物理机j迁移走虚拟机i后的剩余时间,Bj表示物理机j用于迁移的带宽,MTi,j表示虚拟机i迁移到物理机j所需的时间,nk表示虚拟机i迁移到物理机j的迁移轮数,SPavg表示任务服务质量的限制,[*]+指的是max{*,0},意为和0比较,取其中大的。
第三方面,一种面向机器学习训练的分布式虚拟化资源调度系统,包括:一调度节点、一迁移节点和若干工作节点,所述调度节点与工作节点、迁移节点与工作节点、以及各工作节点之间经由网络互连,所述工作节点为数据中心的物理机,一个节点对应一台物理机,所述调度节点在时隙开始时,将到达的机器学习任务封装到虚拟机上,将虚拟机以首次适应算法的方式下发至物理机上;所述迁移节点采用如本发明第一方面所述的虚拟机动态迁移调度方法实现对各工作节点的虚拟机动态迁移,或者所述迁移节点实施为如本发明第二方面所述的虚拟机动态迁移装置,所述工作节点根据所述迁移节点下发的虚拟机迁移调度决策周期性地调整各自的虚拟机。
相比于现有技术,本发明具有以下有益效果:本发明提出了在线化的面向机器学习训练的分布式虚拟化资源调度策略,通过不断地根据在线到达的机器学习任务、当前各物理机的资源使用情况、物理机下虚拟机的内存切换情况以及虚拟机中模型任务的完成进度,来不断生成本时隙的新的迁移调度策略。本发明的调度方法能够在无法准确获知未来机器学习任务到达的数量的情况下,在云数据中心环境中对各工作节点进行周期性的虚拟机调整,达到在数据中心环境中最大化能耗减少的效果。与现有技术中静态的部署方案相比,本发明自适应式的调度策略可以在线地、动态地适应用户任务请求的不断变化,提高系统处理效率,提高了节能效果。
附图说明
图1为根据本发明实施例的面向机器学习训练的分布式虚拟化资源调度系统的结构示意图;
图2是应用不同迁移算法下机器学习任务不断到来时集群的能耗变化;
图3是应用不同迁移算法下机器学习任务不断到来时集群的活跃物理机变化;
图4是应用不同迁移算法下集群在不同迁移算法下三个重要指标的对比总结;
图5是不同任务服务质量约束下不同迁移算法的集群节能效果。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步说明。
参照图1,在一个实施例中,在数据中心网络中应用面向机器学习训练的分布式虚拟化资源调度系统,该虚拟化资源调度系统包括:工作节点、迁移节点、调度节点、系统管理器、工作节点监控器以及连接各节点(包括工作节点、迁移节点和调度节点)、系统管理器、工作节点监控器(也即图1中的节点监控器)的骨干网络,其中骨干网络由各个组件(各节点、系统管理器、工作节点监控器)之间的骨干线路组成,骨干网络主要用于在各工作节点间进行虚拟机的迁移,以及系统管理器和节点监控器的信息交互,以及系统管理器和迁移节点、调度节点的信息交互,以及迁移节点、调度节点和工作节点的虚拟机迁移和调度。工作节点、迁移节点、调度节点为数据中心的物理机,其中一个节点对应一个物理机。工作节点监控器作为软件安装在工作节点上。系统管理器作为软件安装在一台空闲服务器上,该服务器专门用来进行系统管理。各工作节点上资源异构且有限,可以在各自资源允许的范围内运行异构的虚拟机;工作节点监控器既可以获取当前物理机的资源使用情况,包括CPU使用量、内存使用量和CPU功率,也可以获取当前工作节点上虚拟机的资源使用情况和相关时间情况,包括机器学习任务剩余执行时间和已运行时间。系统管理器通过骨干网络汇总工作节点上的信息,可以得到数据中心全局信息,包括所有工作节点和虚拟机信息。调度节点根据系统管理器提供的全局信息,将虚拟机调度到工作节点上,本方案中调度算法采用的是首次适应算法。迁移节点通过系统管理器提供的全局信息在线进行各工作节点上虚拟机实例的调整。本方案中迁移是指在迁移时隙内通过本文中的迁移调度算法将虚拟机从一个物理机重新调度到另一个物理机上,是一种动态调度方法。虚拟机迁移会影响云平台的服务质量,具体体现在延长机器学习任务的完成时间。而且,对于云厂商来说,虚拟机申请更多资源带来的时间损失比虚拟机申请更少资源带来的时间损失更为严重,因此这里以资源加权的时延惩罚作为服务质量的限制。各工作节点的资源上限可以是资源的最小集合的倍数,这里的最小资源集合可以是1CPU加1G内存,同样对于机器学习任务的虚拟机而言,不同虚拟机的资源占用消耗也可以是该最小集合的倍数;各工作节点所管辖范围内的用户可以是该机器学习云平台上的用户,且一个用户可以发送多个任务请求。
该系统中迁移节点与各工作节点进行周期性地交互,在无法准确获知未来用户实际任务请求数量时,通过结合物理机下虚拟机的内存切换情况以及虚拟机中模型任务的完成进度,指导在线迁移模块为各工作节点进行周期性的虚拟机调整,达到在数据中心环境中最大化能耗减少的效果。其过程如下:
(S1)在每一时隙(该时隙长度作为系统配置固定)开始,调度节点将最新的机器学习任务封装成虚拟机,其中每个虚拟机运行一个机器学习任务,将虚拟机通过首次适应算法部署决策下发至各工作节点,其中首次适应算法时将虚拟机和工作节点根据CPU资源降序排序,CPU资源需求大的虚拟机优先部署,每次都是从CPU资源大的工作节点进行查找,直到找到满足该虚拟机资源的节点进行部署,该决策包括新生成的虚拟机被分配到各物理机的对应关系;
(S2)在各工作节点间,按照调度节点决定的工作节点间的虚拟机分配策略,利用骨干网络进行虚拟机的接收和运行;
(S3)各工作节点初始化该时隙内的虚拟机使用环境,依照调度节点的虚拟机调度分配进行各虚拟机的构建和启动,也就是,在无法准确获知未来用户实际任务请求数量前就进行虚拟机的部署;
(S4)如果工作节点上原本已运行的任意虚拟机在该时隙内成功完成机器学习任务,便自动消亡;若任意工作节点在该时隙内无虚拟机运行,便自动切换至休眠模式;
(S5)在迁移时隙开始时(迁移时隙作为系统配置固定,一般为S1中时隙的倍数),将各工作节点上的资源信息和虚拟机上的资源和时间信息发送给迁移节点;
(S6)迁移节点通过系统管理器获取该迁移时刻数据中心中最新的物理机信息和虚拟机信息,包括当前各物理机的资源使用情况、当前时隙虚拟机的已运行时间情况,以此来推断出物理机下虚拟机的内存脏页率情况、虚拟机中模型任务的完成进度以及迁移所需时间;
(S7)迁移节点通过构建以最大化集群能耗减少为目标的优化问题,以该时隙内虚拟机的迁移收益情况,进行虚拟机的动态迁移,得到新的虚拟机分配策略。
具体而言,迁移节点迁移的总体目标是为了在一段时间内(|T|个时隙),在受限于任务服务质量和工作节点资源下,达到最大化集群能耗减少的效果(即集群能耗最小化),建立的优化问题如下:
其中,T表示时隙总数,|MP|为时隙ti内物理机的数量,uj表示工作节点(即物理机)j的CPU利用率,P(uj)表示工作节点在CPU利用率uj下的功率,在本发明中通过以下公式计算得到:Pidle,j表示工作节点无虚拟机运行下的功率,Ppeak,j表示工作节点CPU利用率100%下的功率,可提前测量获取。
将上述优化问题转化成迁移调度策略带来的能耗收益-成本最大化:
savet为时隙t内迁移调度策略所带来的能耗收益,costt为时隙t内迁移调度策略所带来的能耗损失,其中:
约束条件:
式中,|MV|为时隙ti内虚拟机的数量,x′i,j为迁移调度前的虚拟机分配部署方案,xi,j为迁移调度后的虚拟机分配部署方案,其中xi,j=0表示虚拟机i没有分配到物理机j上,xi,j=1则表示虚拟机i分配到物理机j上,vresi,k为虚拟机i的资源容量(其中k为0表示CPU资源,k为1表示内存资源),vrti表示虚拟机i的剩余执行时间,Δvrti表示虚拟机i迁移后增加的执行时间,vrt′i表示虚拟机i迁移后的剩余执行时间,vcti表示虚拟机i完成机器学习任务所需的时间,pri表示虚拟机i的内存脏页率,PRESj,k表示物理机j的资源容量(其中k为0表示CPU资源,k为1表示内存资源),PRTj ′t表示物理机j迁移走虚拟机i后的剩余时间,其中vrti和vcti可通过机器学习任务的周期和完成情况推断可得,Δvrti和PRTj ′t可在迁移过程中通过节点监控器获取,vrt′i=vrti+Δvrti,Bj表示物理机j用于迁移的带宽,uj表示物理机j的CPU利用率,MTi,j表示虚拟机i迁移到物理机j所需的时间,nk表示虚拟机i迁移到物理机j的迁移轮数,SPavg表示任务服务质量的限制,[*]+指的是max{*,0},意为和0比较,取其中大的。
由于在迁移时无法准确获知未来用户任务请求数量,将上述整体的优化问题分解到每一个迁移时隙,在每一个迁移时隙结束的时候,实际求解如下优化问题:
优化目标:min∑X∈X(t)dX(t)F(X,t)(2)
F(X,t)=q(t)*(spt-SPavg)-V*(savet-costt)
约束条件:h(X)≤0且∑X∈X(t)dX(t)=1
优化问题(2)可以放缩成log-sum-exp问题,实际求解如下优化问题:
约束条件:h(X)≤0且∑X∈X(t)dX(t)=1
式中,X(t)是时隙t时刻的虚拟机迁移调度策略(决策变量所构成的向量)的集合,X为时隙t所取的迁移调度策略,dX(t)是采用策略X的概率,F(X,t)表示节能优化目标和任务服务质量约束下的新优化函数,q(t)是保证任务服务质量下使用李雅普诺夫优化的积压队列,spt是时隙t的服务质量惩罚量,V是李雅普诺夫优化的调节参数,β是松弛参数。h为需要满足的节点上虚拟机分配的约束函数(包含约束1.1-1.4);
该优化问题(3)的求解采用马尔可夫近似优化技术求解技术即可完成。
其中维护的迁移调度策略X,其更新方式为以dX(t)的概率从初始放置策略Xo转换成X′,其中β是在线迁移器设定的松弛参数,若转换成功,则X′将成为新一轮策略转换的输入Xo,直到马尔可夫链稳定即可,即策略X不再转换。dX(t)的作用是尽量使策略向着迁移收益大的方向进行转换并保留一定的随机性,避免策略的生成陷入局部最优。
下面以三个节点A、B、C和两个虚拟机f,g为例进行进一步地说明,在该例中,A、B、C的CPU和内存资源依次递减,但B的能效比最高,C次之,A最低,且A上运行有a,b两个虚拟机,B上运行有c一个虚拟机,C上运行d,e两个虚拟机。
(1)在迁移时隙时,获取A,B,C上的资源情况和其上虚拟机的资源和时间情况,并将该情况转发给迁移节点;
(2)首先将f和g根据首次适应算法将其模拟分配给物理机C,以此生成初始虚拟机放置策略;
(3)在将虚拟机初始分配策略进行上述的迁移计算后,A上的a,b虚拟机迁移到了B上,f虚拟机被重新分配到了B上,因为g和e虚拟机的迁移时间大于其上的机器学习任务剩余运行时间,因此这两个虚拟机不用迁移,c因为本就在B上不用迁移,d因为B上的资源不足无法迁移,也继续在C上运行。
(4)根据新的迁移调度策略,在虚拟机迁移完成后,A作为空闲物理机自动切换到休眠模式,C在等待其上虚拟机运行完成后也关闭。
(5)在该时隙结束的时候,迁移节点收集迁移所带来的任务服务质量惩罚的反馈,进行下一迁移时隙的策略调整;
(7)到下一时隙,对迁移调度策略可能会根据当前累计任务服务质量惩罚之和增加或减少虚拟机的迁移次数;这种在线迁移调度方法同时将各个工作节点的资源信息、虚拟机资源和时间信息与任务服务质量等总和考虑,希望能够在兼顾满足用户任务请求服务质量的情况下,在资源受限的集群环境中,最大化集群节能效果。
实验的效果如图2至图5所示,图2展示了机器学习任务不断到来时集群的能耗变化;图3展示了机器学习任务不断到来时集群的活跃物理机变化;图4展示了集群在不同迁移算法下三个重要指标的对比总结,图5展示了不同任务服务质量约束下不同迁移算法的集群节能效果。其中对比算法分别是:1)集中资源优先(CRF):一种贪婪策略,根据加权使用的资源容量对物理机进行递减排序,然后使用优先拟合方法在低使用的物理机中迁移虚拟机。2)SERCON:首先根据迁移成本将物理机按递减顺序排序,然后将低成本物理机中的虚拟机迁移到高成本的物理机中。3)ESCP:选择CPU使用率低于阈值的物理机,然后按照CPU使用率的顺序将所选物理机中的虚拟机迁移到低CPU使用率的物理机,从而减少了阈值以下的物理机数量。FFD为调度算法:一种贪婪策略,根据加权使用的资源容量对物理机和虚拟机进行递减排序,然后使用首次适应算法将虚拟机分配到物理机上,RCM为本文的剩余时间感知整合迁移算法。图2显示了RCM的节能效果明显优于SERCON和ESCP。在任务激增情况下,虽然RCM的节能效果较SERCON和CRF较慢,但考虑到迁移时间,在之后的时间(900-1000,1200-1300时隙)中仍有很好的节能效果。图3显示了RCM比SERCON和CRF使用更多的物理机,这意味着RCM的目标是减少能效比低的物理机,相对FFD和ESCP使用了更少的物理机,这意味着RCM的本质还是通过减少物理机数量来进行节能。图4总结了RCM仅通过减少9.1%的活性物理机实现了16.3%的功率消耗减少。这表明RCM可以尽可能地将虚拟机迁移到高效的物理机中,这是对异构数据中心更好的迁移调度策略。此外,RCM的服务质量惩罚分别为CRF和SERCON的33%和75%,说明RCM算法并不是盲目迁移,而是根据迁移时间和任务剩余时间做出高效的迁移调度策略。图5示出改变了服务质量惩罚预算,发现RCM仍然保持着稳定的性能,RCM的性能分别超过ESCP、CRF和SERCON 11.6%、6.2%和4.7%,表示RCM可以在保证任务任务服务质量的同时实现良好的节能效果。此外可以发现当预算越大时,RCM算法的节能效果增长就越缓慢,因为预算逐渐达到了RCM可以产生的服务质量惩罚的上限。
根据本发明的另一实施例,迁移节点实施为一种面向机器学习训练的分布式虚拟化资源调度装置,包括:
虚拟机监控模块,被配置为获取当前时隙内虚拟机的资源使用情况和相关时间情况,包括机器学习任务剩余执行时间和已运行时间;
系统资源管理模块,被配置为获取当前时隙各物理机的资源使用情况,包括CPU使用量、内存使用量和CPU功率;
迁移调度决策计算模块,被配置为根据当前时隙虚拟机上任务运行情况、虚拟机内存切换情况和物理机资源使用情况,构建以在服务质量约束下最大化虚拟机迁移收益为目标的优化问题并求解(即最小化机器学习云平台集群的能耗),将求解结果作为本时隙的虚拟机迁移调度决策,所述决策包括将虚拟机重新分配到能效比更高的物理机上;
迁移调度决策下发模块,被配置为在时隙结束时,将指定的虚拟机迁移到指定的物理机上并关闭空闲物理机。
其中,迁移调度决策计算模块构建的优化问题以及求解过程可以参照前述方法实施例的过程,此处不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图的每一流程以及流程图中的流程的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,本发明中的迁移节点与工作节点的交互方式,收集物理机和虚拟机的资源和时间信息与在线调度方法在各系统中均适用,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种面向机器学习训练的分布式虚拟机调度方法,其特征在于,包括以下步骤:
在时隙开始时,将到达的机器学习任务封装到虚拟机上,将虚拟机以首次适应算法的方式下发至物理机上;
获取当前时隙内各物理机的情况,包括物理机的资源使用情况和剩余时间;
获取当前时隙内各虚拟机的情况,包括虚拟机的资源使用情况,其上的任务剩余执行时间和已运行时间情况;
根据当前时隙虚拟机的剩余执行时间和已运行时间情况,推断出当前虚拟机上任务的执行周期,以此获知虚拟机的内存脏页率情况和迁移所需时间,构建以最小化集群能耗为目标的优化问题并求解,将求解结果作为迁移时隙内的迁移调度策略,所述决策包括将虚拟机重新迁移调度到合适的物理机上;
在本时隙结束时,将指定的虚拟机根据所得的策略迁移到指定的物理机上并关闭空闲物理机。
2.根据权利要求1所述的虚拟机调度方法,其特征在于,所述首次适应算法将虚拟机和物理机根据CPU资源降序排序,按CPU资源需求由高到低的顺序来部署虚拟机,每次都是按CPU资源排序从物理机中进行查找,直到找到满足该虚拟机资源的物理机进行部署。
3.根据权利要求1所述的虚拟机调度方法,其特征在于,所述优化问题如下:
其中,T表示时隙总数,|MP|为时隙ti内物理机的数量,uj表示物理机j的CPU利用率,P(uj)表示物理机在CPU利用率uj下的功率;
将优化问题转化成迁移调度策略带来的能耗收益-成本最大化:
其中:savet为时隙t内迁移调度策略所带来的能耗收益,costt为时隙t内迁移调度策略所带来的能耗损失,
约束条件:
式中,|MV|为时隙ti内虚拟机的数量,x′i,j为迁移调度前的虚拟机分配部署方案,xi,j为迁移调度后的虚拟机分配部署方案,其中xi,j=0表示虚拟机i没有分配到物理机j上,xi,j=1则表示虚拟机i分配到物理机j上,vresi,k为虚拟机i的资源容量,其中k为0表示CPU资源,k为1表示内存资源,vrti表示虚拟机i的剩余执行时间,Δvrti表示虚拟机i迁移后增加的执行时间,vrt′i表示虚拟机i迁移后的剩余执行时间,vcti表示虚拟机i完成机器学习任务所需的时间,pri表示虚拟机i的内存脏页率,Ppeak,j表示物理机j的峰值功率,Pidle,j表示物理机j的空闲功率,PRESj,k表示物理机j的资源容量,其中k为0表示CPU资源,k为1表示内存资源,PRT′j t表示物理机j迁移走虚拟机i后的剩余时间,Bj表示物理机j用于迁移的带宽,MTi,j表示虚拟机i迁移到物理机j所需的时间,nk表示虚拟机i迁移到物理机j的迁移轮数,SPavg表示任务服务质量的限制,[*]+指的是max{*,0},意为和0比较,取其中大的。
4.根据权利要求3所述的虚拟机调度方法,其特征在于,对优化问题的求解包括:
将优化问题(1)分解到每一个迁移时隙,在每一个迁移时隙开始的时候,实际求解如下优化问题:
优化目标:min∑X∈X(t)dX(t)F(X,t) (2)
F(X,t)=q(t)*(spt-SPavg)-V*(savet-costt)
约束条件:h(X)≤0且∑X∈X(t)dX(t)=1
式中,X(t)是时隙t时刻的虚拟机放置策略的集合,X为时隙t所取的放置策略,dX(t)是采用策略X的概率,q(t)是保证任务服务质量下使用李雅普诺夫优化的积压队列,spt是时隙t的服务质量惩罚量,V是李雅普诺夫优化的调节参数,h为需要满足的节点上虚拟机分配的约束函数,包含约束1.1-1.4。
6.根据权利要求5所述的虚拟机的迁移调度方法,其特征在于,采用马尔可夫近似优化技术对优化问题(3)进行求解,得到结果X,用于在t时隙的虚拟机迁移调度。
8.一种面向机器学习训练的分布式虚拟化资源调度装置,其特征在于,包括:
虚拟机监控模块,被配置为获取当前时隙内虚拟机的资源使用情况和相关时间情况,包括机器学习任务剩余执行时间和已运行时间;
系统资源管理模块,被配置为获取当前时隙各物理机的资源使用情况,包括CPU使用量、内存使用量和CPU功率;
迁移调度决策计算模块,被配置为根据当前时隙虚拟机上任务运行情况、虚拟机内存切换情况和物理机资源使用情况,构建以在服务质量约束下最大化虚拟机迁移收益为目标的优化问题并求解,将求解结果作为本时隙的虚拟机迁移调度决策,所述决策包括将虚拟机重新分配到能效比更高的物理机上;
迁移调度决策下发模块,被配置为在时隙结束时,将指定的虚拟机迁移到指定的物理机上并关闭空闲物理机。
9.根据权利要求8所述的面向机器学习训练的分布式虚拟化资源调度装置,其特征在于,所述迁移调度决策计算模块构建的优化问题如下:
其中,T表示时隙总数,|MP|为时隙ti内物理机的数量,uj表示物理机j的CPU利用率,P(uj)表示物理机在CPU利用率uj下的功率;
将优化问题转化成迁移调度策略带来的能耗收益-成本最大化:
其中:savet为时隙t内迁移调度策略所带来的能耗收益,costt为时隙t内迁移调度策略所带来的能耗损失,
约束条件:
式中,|MV|为时隙ti内虚拟机的数量,x′i,j为迁移调度前的虚拟机分配部署方案,xi,j为迁移调度后的虚拟机分配部署方案,其中xi,j=0表示虚拟机i没有分配到物理机j上,xi,j=1则表示虚拟机i分配到物理机j上,vresi,k为虚拟机i的资源容量,其中k为0表示CPU资源,k为1表示内存资源,vrti表示虚拟机i的剩余执行时间,Δvrti表示虚拟机i迁移后增加的执行时间,vrt′i表示虚拟机i迁移后的剩余执行时间,vcti表示虚拟机i完成机器学习任务所需的时间,pri表示虚拟机i的内存脏页率,Ppeak,j表示物理机j的峰值功率,Pidle,j表示物理机j的空闲功率,PRESj,k表示物理机j的资源容量,其中k为0表示CPU资源,k为1表示内存资源,PRT′j t表示物理机j迁移走虚拟机i后的剩余时间,Bj表示物理机j用于迁移的带宽,MTi,j表示虚拟机i迁移到物理机j所需的时间,nk表示虚拟机i迁移到物理机j的迁移轮数,SPavg表示任务服务质量的限制,[*]+指的是max{*,0},意为和0比较,取其中大的。
10.一种面向机器学习训练的分布式虚拟化资源调度系统,其特征在于,包括:一调度节点、一迁移节点和若干工作节点,所述调度节点与工作节点、迁移节点与工作节点、以及各工作节点之间经由网络互连,所述工作节点为数据中心的物理机,一个节点对应一台物理机,所述调度节点在时隙开始时,将到达的机器学习任务封装到虚拟机上,将虚拟机以首次适应算法的方式下发至物理机上;所述迁移节点采用如权利要求1-7中的任一项所述的虚拟机动态迁移调度方法实现对各工作节点的虚拟机动态迁移,或者所述迁移节点实施为如权利要求8-9中的任一项所述的虚拟机动态迁移装置,所述工作节点根据所述迁移节点下发的虚拟机迁移调度决策周期性地调整各自的虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211298367.7A CN115562812A (zh) | 2022-10-23 | 2022-10-23 | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211298367.7A CN115562812A (zh) | 2022-10-23 | 2022-10-23 | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562812A true CN115562812A (zh) | 2023-01-03 |
Family
ID=84767642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211298367.7A Pending CN115562812A (zh) | 2022-10-23 | 2022-10-23 | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562812A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401066A (zh) * | 2023-05-25 | 2023-07-07 | 北京志凌海纳科技有限公司 | 用于提高资源利用率的多虚拟服务的动态调度方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
US20130174152A1 (en) * | 2011-12-29 | 2013-07-04 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for virtual cluster integration |
CN103559084A (zh) * | 2013-10-17 | 2014-02-05 | 电子科技大学 | 一种节能数据中心的虚拟机迁移方法 |
CN104503826A (zh) * | 2015-01-04 | 2015-04-08 | 中国联合网络通信集团有限公司 | 一种云计算数据中心的虚拟机映射方法及装置 |
CN105159751A (zh) * | 2015-09-17 | 2015-12-16 | 河海大学常州校区 | 云数据中心中一种能量高效的虚拟机迁移方法 |
CN109144664A (zh) * | 2018-07-26 | 2019-01-04 | 西安电子科技大学 | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 |
-
2022
- 2022-10-23 CN CN202211298367.7A patent/CN115562812A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
US20130174152A1 (en) * | 2011-12-29 | 2013-07-04 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for virtual cluster integration |
CN103559084A (zh) * | 2013-10-17 | 2014-02-05 | 电子科技大学 | 一种节能数据中心的虚拟机迁移方法 |
CN104503826A (zh) * | 2015-01-04 | 2015-04-08 | 中国联合网络通信集团有限公司 | 一种云计算数据中心的虚拟机映射方法及装置 |
CN105159751A (zh) * | 2015-09-17 | 2015-12-16 | 河海大学常州校区 | 云数据中心中一种能量高效的虚拟机迁移方法 |
CN109144664A (zh) * | 2018-07-26 | 2019-01-04 | 西安电子科技大学 | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 |
Non-Patent Citations (1)
Title |
---|
KEFENG WU ; CHUNLEI XU ; MINGMING ZHANG ; XIONGFENG HU ; YIBO JIN ; ZHUZHONG QIAN: "RCM: Residue-aware Consolidation for Heterogeneous MLaaS Cluster", 《2022 IEEE INTERNATIONAL PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE (IPCCC)》, pages 24 - 31 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401066A (zh) * | 2023-05-25 | 2023-07-07 | 北京志凌海纳科技有限公司 | 用于提高资源利用率的多虚拟服务的动态调度方法和系统 |
CN116401066B (zh) * | 2023-05-25 | 2023-08-29 | 北京志凌海纳科技有限公司 | 用于提高资源利用率的多虚拟服务的动态调度方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020181896A1 (zh) | 一种多智能体强化学习调度方法、系统及电子设备 | |
WO2024060789A1 (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
CN110381541B (zh) | 一种基于强化学习的智能电网切片分配方法及装置 | |
CN102932422B (zh) | 基于改进蚁群算法的云环境任务调度方法 | |
CN112235836B (zh) | 一种工业边缘网络系统架构和资源调度方法 | |
CN102546700B (zh) | 一种资源调度以及资源迁移的方法及设备 | |
CN111722910B (zh) | 一种云作业调度及资源配置的方法 | |
CN110457131B (zh) | 基于Docker容器的电力系统超算平台任务调度方法 | |
CN1878090A (zh) | 用于通过调节网络控制进行自动的系统管理的系统和方法 | |
CN116048802A (zh) | 训练推理一体深度学习的gpu集群调度方法 | |
CN115934333A (zh) | 基于历史数据感知的云计算资源调度方法及调度系统 | |
CN112559122B (zh) | 一种基于电力专用安防设备的虚拟化实例管控方法及系统 | |
WO2024060788A1 (zh) | 面向智能计算的流水并行训练自适应调整系统、方法 | |
CN115562812A (zh) | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 | |
CN115686830A (zh) | 边缘计算资源弹性调度方法及系统 | |
CN117591285A (zh) | 一种算力资源调度分配系统及方法 | |
CN116069512A (zh) | 一种基于强化学习的Serverless高效资源分配方法及系统 | |
Jin et al. | Model-free resource management of cloud-based applications using reinforcement learning | |
Wang et al. | Communication contention aware scheduling of multiple deep learning training jobs | |
US20240004707A1 (en) | Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和系统 | |
CN117453360A (zh) | 计算任务的资源调度方法及装置 | |
CN112446484A (zh) | 一种多任务训练集群智能网络系统及集群网络优化方法 | |
CN116302507A (zh) | 基于休假排队的应用服务动态部署与更新方法 | |
CN116048820B (zh) | 面向边缘云的dnn推断模型部署能耗优化方法和系统 |
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 |