CN105912406B - 一种低能耗的独立任务调度与资源配置方法 - Google Patents
一种低能耗的独立任务调度与资源配置方法 Download PDFInfo
- Publication number
- CN105912406B CN105912406B CN201610292565.0A CN201610292565A CN105912406B CN 105912406 B CN105912406 B CN 105912406B CN 201610292565 A CN201610292565 A CN 201610292565A CN 105912406 B CN105912406 B CN 105912406B
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- independent
- physical host
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/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
-
- 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/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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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)
- Power Sources (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种低能耗的独立任务调度与资源配置方法,其特征在于,包括:从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理主机信息;根据独立任务信息与物理主机信息创建虚拟机;在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置;完成全部独立任务并返回任务结果。本发明通过使用不确定参数描述并量化不确定性从而进行任务调度与资源配置的技术手段,能够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
Description
技术领域
本发明涉及虚拟化云领域,特别地,涉及一种低能耗的独立任务调度与资源配置方法。
背景技术
任务调度和资源配置是云计算中最重要的研究问题。目前已有一些相关的方法和算法。在云资源管理中,有许多专注于不同目标的研究。例如,关于节能调度,Cardosa等人研究了云中能耗节约问题,提出了一个在能量消耗和工作运行时间之间进行权衡的算法。Deng等人提出了基于李雅普诺夫最优化模型的云数据中心供电系统节能的在线控制算法SmartDPSS,可以随时间的推移,在任意需求下提供可靠的能量。Singh等人研究了基于集群的启发式算法FastCEED,采用混合整数规划和复制通信密集型应用的方法来优化能源消耗。以可靠性为目标,许多研究采用了不同的技术。Wang等人结合云的特点,全面分析了调度时的约束,并考虑资源的弹性配置,扩展了传统的主/副版本(Primary/Backup,PB)模型。Plankensteiner和Prodan研究了云中的容错问题,通过结合任务复制和任务重新提交等手段提高工作流任务在截止期内完成的百分比。Zhou等人研究了关于通过使用检查点技术增强云服务可靠性的问题,其中,把提供相同服务的所有虚拟机的相同部分作为服务检查点,以减少资源消耗。有些工作研究多重目标。例如,Chen等人把节能和系统不确定性一起作为调度目标,提出了一个使用主动调度和被动调度相结合的方法来控制不确定性的调度算法PRS。Duan等人专注于执行时间和经济成本两个目标,把调度问题转化为一个连续的合作博弈问题。
从任务类型来看,也有大量对任务调度和资源配置的研究。例如,Rodriguez和Buyya为基础设施云上的科学工作流(依赖任务)提出了一个资源配置和调度策略,采用粒子群优化技术来最小化时序约束内的整体执行时间。Mao和Humphrey设计、实施和评价了两种资源自动伸缩的解决方案,以最大限度地减少云中依赖任务预算约束内的工作时间。相反,Xiao等人专注于独立任务,研究了基于云的视频服务动态请求重定向和资源配置问题。Bey等人也针对独立任务,提出了一个云计算中任务调度的平衡启发式算法。此外,一些研究人员关注实时任务调度问题。例如,Abrishami等人提出了一种两阶段调度算法PCP,最小化工作流执行消耗并满足任务预期截止期。Hosseinimotlagh等人提出了一个两层任务调度方法,以在一个实时状态下同时使云供应商和他们的用户受益。才外,也有针对云中非实时任务调度的研究。例如,Bittencourt研究了混合云中的调度问题,以最小化非实时工作流的完成时间。
为了方便运算,现有技术的数学模型大多假设所有任务的属性能被精确预知,虚拟机的工作能力也是恒定的,然而实际并非如此。在实际工作中,云中虚拟机的计算能力会随时间动态变化,任何任务的到达时间、执行时间、完成时间也不是不是确定的值。对于此类问题,现有技术只能按照保证完成的边界条件带入确定值进行计算,过于严格的边界条件浪费了大量计算能源。针对现有技术中不确定性任务在现有模型中处理方法欠优化、能耗过高的问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提出一种低能耗的独立任务调度与资源配置方法,能够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
基于上述目的,本发明提供的技术方案如下:
根据本发明的一个方面,提供了一种低能耗的独立任务调度与资源配置方法,包括:
从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理主机信息;
根据独立任务信息与物理主机信息创建虚拟机;
在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置;
完成全部独立任务并返回任务结果。
其中,根据独立任务信息与物理主机信息创建虚拟机包括:根据独立任务信息为每个独立任务均指定一个任务大小不确定参数;根据独立任务信息激活多个物理主机,并在每个被激活的物理主机上划分出多个虚拟机,获取每个被激活的物理主机上的每个虚拟机信息,其中,虚拟机信息包括虚拟机的处理能力不确定参数;
独立任务信息包括任务集合与任务截止期,任务集合记录了独立任务大小不确定参数,任务截止期为独立任务的完成时间不确定参数;物理主机信息包括物理主机集合,物理主机集合记录了每个物理主机处理能力的大小;虚拟机信息包括每个被激活的物理主机上的虚拟机集合,虚拟机集合记录了每个虚拟机所在的物理主机以及每个虚拟机处理能力不确定参数。
并且,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置包括:
根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中;在每个被激活的物理主机上的每个虚拟机中按照指定的时间安排运行被加载的独立任务,并计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率。
并且,根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中,为根据每个独立任务信息的任务大小不确定参数与每个虚拟机处理能力不确定参数获得任务执行时间不确定参数与任务结束时间不确定参数,并根据任务执行时间不确定参数与任务结束时间不确定参数将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上使得成功完成任务最大化与总耗能最小化,并加载到每个被激活的物理主机上的每个虚拟机中。
并且,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中包括:
建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入等待队列与紧急队列中;
依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时间,并根据其不确定结束时间获取最短结束时间与最长结束时间;
当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最小的虚拟机;
当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务分配至当前执行的任务结束时间最小的虚拟机;
当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待队列还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处于紧急队列时,放弃该任务。
并且,将所有独立任务置入等待队列与紧急队列中,为获取每个独立任务的松弛度,并将每个独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度阈值的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其中,松弛度设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。
另外,根据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率。资源扩展机制包括水平扩展与垂直扩展,资源收缩机制包括水平收缩与垂直收缩;其中,水平扩展为通过创建新的虚拟机增加计算资源规模,垂直扩展为将主机的未启用处理能力分配到该主机的虚拟机上;水平收缩为通过关闭虚拟机降低计算资源规模,垂直收缩为降低虚拟机的处理能力。
并且,资源扩展机制按以下方式进行:
将所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机;
分别访问主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时间,并根据待分配任务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机分别需要的处理能力;
根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否是虚拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到一个可用的虚拟机上并将待分配任务分配到该虚拟机上;
依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所有活动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并将待分配任务分配到该虚拟机上;
若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。
同时,资源收缩机制按以下方式进行:
指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值;
当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值;
当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小;
当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返还主机;
当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该主机并将主机上剩余虚拟机迁移到其他主机上。
并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值包括:
当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度(大小)之和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的主版本长度之和、与旧关闭阈值两者中的较大值;
从上面所述可以看出,本发明提供的技术方案通过使用不确定参数描述并量化不确定性从而进行任务调度与资源配置的技术手段,能够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种低能耗的独立任务调度与资源配置方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种低能耗的独立任务调度与资源配置方法。
如图1所示,根据本发明实施例的提供的一种低能耗的独立任务调度与资源配置方法包括:
步骤S101,从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理主机信息;
步骤S103,根据独立任务信息与物理主机信息创建虚拟机;
步骤S105,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置;
步骤S107,完成全部独立任务并返回任务结果。
其中,根据独立任务信息与物理主机信息创建虚拟机包括:根据独立任务信息为每个独立任务均指定一个任务大小不确定参数;根据独立任务信息激活多个物理主机,并在每个被激活的物理主机上划分出多个虚拟机,获取每个被激活的物理主机上的每个虚拟机信息,其中,虚拟机信息包括虚拟机的处理能力不确定参数;
独立任务信息包括任务集合与任务截止期,任务集合记录了独立任务大小不确定参数,任务截止期为独立任务的完成时间不确定参数;物理主机信息包括物理主机集合,物理主机集合记录了每个物理主机处理能力的大小;虚拟机信息包括每个被激活的物理主机上的虚拟机集合,虚拟机集合记录了每个虚拟机所在的物理主机以及每个虚拟机处理能力不确定参数。
并且,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置包括:
根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中;在每个被激活的物理主机上的每个虚拟机中按照指定的时间安排运行被加载的独立任务,并计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率。
并且,根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中,为根据每个独立任务信息的任务大小不确定参数与每个虚拟机处理能力不确定参数获得任务执行时间不确定参数与任务结束时间不确定参数,并根据任务执行时间不确定参数与任务结束时间不确定参数将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上使得成功完成任务最大化与总耗能最小化,并加载到每个被激活的物理主机上的每个虚拟机中。
并且,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中包括:
建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入等待队列与紧急队列中;
依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时间,并根据其不确定结束时间获取最短结束时间与最长结束时间;
当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最小的虚拟机;
当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务分配至当前执行的任务结束时间最小的虚拟机;
当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待队列还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处于紧急队列时,放弃该任务。
并且,将所有独立任务置入等待队列与紧急队列中,为获取每个独立任务的松弛度,并将每个独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度阈值的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其中,松弛度阈值设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。
另外,根据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率。资源扩展机制包括水平扩展与垂直扩展,资源收缩机制包括水平收缩与垂直收缩;其中,水平扩展为通过创建新的虚拟机增加计算资源规模,垂直扩展为将主机的未启用处理能力分配到该主机的虚拟机上;水平收缩为通过关闭虚拟机降低计算资源规模,垂直收缩为降低虚拟机的处理能力。
并且,资源扩展机制按以下方式运行:
所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机;分别访问主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时间,并根据待分配任务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机分别需要的处理能力;
根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否是虚拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到一个可用的虚拟机上并将待分配任务分配到该虚拟机上;
依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所有活动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并将待分配任务分配到该虚拟机上;
若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。
同时,资源收缩机制按以下方式运行:
指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值;
当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值;
当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小;
当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返还主机;
当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该主机并将主机上剩余虚拟机迁移到其他主机上。(这里不涉及多版本容错问题,所以没有主版本副版本问题。)
并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值包括:
当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度(大小)之和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的主版本长度之和、与旧关闭阈值两者中的较大值;
下面根据具体实施例进一步阐述本发明的技术特征。
我们考虑一个虚拟云,它包含一个实体计算主机集合H={h1,h2,…}。活动主机集合由有n个元素的Ha表示,对任一主机hk,它的处理能力pk由它的CPU性能MIPS描述。对于每个主机hk∈H,它包含一个虚拟机集合每个虚拟机vjk∈Vk满足vjk的准备时间由rjk表示。
另外,无论任务是什么类型,一些任务属性都可以被建模表示成通用形式。比如,不管任务类型是什么,每个任务都有一个到达时间。因此,我们得到如下主要通用任务模型。
我们考虑一个任务集合T={t1,t2,…}。对任一任务ti,它可以表示成ti={ai,si,di,pi},其中ai、si、di和pi分别为到达时间、任务大小、截止时间和任务ti的优先权。如果ti是个非实时性任务,di被设定为+∞,当对ti没有优先权时,pi被设定为0。令sijk为任务ti在虚拟机vjk上的开始时间。类似地,fijk表示任务ti在vjk上的结束时间。令eijk为任务ti在虚拟机vjk上的执行时间。此外,xijk被用来表示虚拟云中虚拟机上的任务映射,若任务ti被分配到主机hk上的虚拟机vjk上,则xijk=1,否则为xijk=0。另外,zijk用来表示任务ti是否被成功完成,若ti成功完成,则zijk=1,否则zijk=0。
关于不确定性,在我们的研究中,我们考虑虚拟机vmjk的CPU性能pjk随时间变化,且不能精确测量任务ti大小si。因此,任务ti的开始时间、执行时间、完成时间也不确定。和被用来表示它们的不确定参数。我们用区间数来描述参数,如下:当时,且不确定执行时间可以被下列式子计算:。
然后,不确定结束时间可以用下列式子计算:
由于我们考虑实时任务调度,如果任务ti的实际完成时间小于或等于其截止期,即表示成功完成了这个任务。zijk可以由下列式子确定:
所以,成功完成任务数应被最大化,即:
由于节能是调度目标,当调度时,总能耗应被最小化。因此有:
表示在时刻t,主机hj是否活动;k是空闲主机能量消耗率分数;pj是主机的整体功耗;u(t)是主机hj在时间t的CPU利用率。
我们定义两个队列来处理不确定性——等待队列WQ和紧急队列UQ。如果在WQ中的任务变成紧急任务,它将被放入UQ。在本专利中,我们定义松弛度Li小于或等于给定阈值Ld的任务为紧急任务,Ld设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。下述算法1为任务调度算法EASU的伪代码。
在EASU算法中,用整数来衡量不确定性。和分别是估计最少完成时间与估计最长完成时间。最小的(即ftMIN)和最大的(即ftMAX)通过检查所有的虚拟机来获得(见4-9行),如果ftMAX小于或等于di,表示ti可以被成功完成,那么它可以以最小的能量消耗被分配给一个虚拟机(见10-11行)。如果ftMAX比di大且同时ftMIN小于或者等于di。EASU选择有最小的虚拟机来提升系统的可调度性(见12-13)行。如果ftMIN大于di,且Li<Ld,则任务ti不得不被取消,反之如果Li>Ld,说明启动一个主机并创建一个新的虚拟机来运行ti是可行的(见15-18行)。
由于云的独特的特征——可伸缩性,资源应该是根据系统负载动态地被提供。因此,设计了scaleUpResources()和scaleDownResources()这两个函数。
函数scaleUpResources()选择可容纳vj的主机中能力最小的主机(见3-5行)。如果没有这样的主机,迁移虚拟机(见7-11行)。在此之后,检查虚拟机vj是否可以被添加到原虚拟机已被迁出的主机上。如果可以,vj将被创建并检查在vj上任务是否可以在其截止时间之前完成(见12-15行)。如果没有可行的迁移或任务不能在截止期内成功完成,那么启动一个主机hn,并在其上创建虚拟机vjn。然后,检查任务是否可以在vjn上成功完成(见16-20行)。
在scaleDownResources()中,如果存在任何虚拟机的空闲时间比预定阈值大,那么删除该虚拟机(见2-4行)。如果没有在主机上运行的虚拟机,它会关闭该主机(见5-7行)。如果在SH集合中的一台主机上运行的所有虚拟机可以添加到一个或多个在DH结合中的主机上运行,将这些虚拟机移到目标主机,然后关闭迁移后的主机。然而,在一个主机上如果有一个或几个虚拟机无法迁移,那么放弃对此主机上所有虚拟机的迁移(见10-21行)。
综上所述,借助于本发明的上述技术方案,通过使用不确定参数描述并量化不确定性从而进行任务调度与资源配置的技术手段,够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种低能耗的独立任务调度与资源配置方法,其特征在于,包括:
从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理主机信息;
根据所述独立任务信息与物理主机信息创建虚拟机,包括:根据所述独立任务信息为每个所述独立任务均指定一个任务大小不确定参数;根据所述独立任务信息激活多个所述物理主机,并在每个被激活的所述物理主机上划分出多个虚拟机,获取每个被激活的所述物理主机上的每个所述虚拟机信息,其中,所述虚拟机信息包括虚拟机的处理能力不确定参数;
在创建好的所述虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对所述虚拟机进行资源配置,包括:根据每个所述独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的所述物理主机上的每个虚拟机信息,将每个所述独立任务按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上加载到每个被激活的所述物理主机上的每个所述虚拟机中;在每个被激活的所述物理主机上的每所述个虚拟机中按照指定的时间安排运行被加载的所述独立任务,并计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率;
完成全部独立任务并返回任务结果。
2.根据权利要求1所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所述独立任务信息包括任务集合与任务截止期,所述任务集合记录了独立任务大小不确定参数,所述任务截止期为所述独立任务的完成时间不确定参数;所述物理主机信息包括物理主机集合,所述物理主机集合记录了每个所述物理主机处理能力的大小;所述虚拟机信息包括每个被激活的所述物理主机上的虚拟机集合,所述虚拟机集合记录了每个所述虚拟机所在的物理主机以及每个所述虚拟机处理能力不确定参数。
3.根据权利要求2所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,根据每个所述独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活的所述物理主机上的每个所述虚拟机信息,将每个所述独立任务按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上加载到每个被激活的所述物理主机上的每个所述虚拟机中,为根据每个所述独立任务信息的任务大小不确定参数与每个所述虚拟机处理能力不确定参数获得任务执行时间不确定参数与任务结束时间不确定参数,并根据任务执行时间不确定参数与任务结束时间不确定参数将每个所述独立任务按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上使得成功完成任务最大化与总耗能最小化,并加载到每个被激活的所述物理主机上的每个虚拟机中。
4.根据权利要求3所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,将每个所述独立任务按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上加载到每个被激活的所述物理主机上的每个所述虚拟机中包括:
建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入所述等待队列与所述紧急队列中;
依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时间,并根据其不确定结束时间获取最短结束时间与最长结束时间;
当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最小的虚拟机;
当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务分配至当前执行的任务结束时间最小的虚拟机;
当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待队列还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处于紧急队列时,放弃该任务。
5.根据权利要求4所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所述将所有独立任务置入所述等待队列与所述紧急队列中,为获取每个所述独立任务的松弛度,并将每个所述独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度阈值的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其中,所述松弛度阈值设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。
6.根据权利要求1所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,根据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源利用率时,所述资源扩展机制包括水平扩展与垂直扩展,所述资源收缩机制包括水平收缩与垂直收缩;其中,所述水平扩展为通过创建新的虚拟机增加计算资源规模,所述垂直扩展为将主机的未启用处理能力分配到该主机的虚拟机上;所述水平收缩为通过关闭虚拟机降低计算资源规模,所述垂直收缩为降低虚拟机的处理能力。
7.根据权利要求6所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所述资源扩展机制按以下方式运行:
所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机;
分别访问主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时间,并根据待分配任务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机分别需要的处理能力;
根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否是虚拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到一个可用的虚拟机上并将待分配任务分配到该虚拟机上;
依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所有活动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并将待分配任务分配到该虚拟机上;
若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。
8.根据权利要求6所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所述资源收缩机制按以下方式运行:
指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值;
当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值;
当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小;
当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返还主机;
当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该主机并将主机上剩余虚拟机迁移到其他主机上。
9.根据权利要求8所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值与任务长度,更新休眠阈值与关闭阈值包括:
当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度大小之和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的主版本长度之和、与旧关闭阈值两者中的较大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292565.0A CN105912406B (zh) | 2016-05-05 | 2016-05-05 | 一种低能耗的独立任务调度与资源配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292565.0A CN105912406B (zh) | 2016-05-05 | 2016-05-05 | 一种低能耗的独立任务调度与资源配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912406A CN105912406A (zh) | 2016-08-31 |
CN105912406B true CN105912406B (zh) | 2018-01-12 |
Family
ID=56752333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610292565.0A Active CN105912406B (zh) | 2016-05-05 | 2016-05-05 | 一种低能耗的独立任务调度与资源配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912406B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479949A (zh) * | 2017-08-21 | 2017-12-15 | 重庆电子工程职业学院 | 低能耗云计算任务调度方法 |
CN107643939A (zh) * | 2017-09-14 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种分配虚拟机的方法及系统 |
CN108197865A (zh) * | 2017-12-29 | 2018-06-22 | 珠海国芯云科技有限公司 | 物流配送任务快速调度控制方法及装置 |
CN108090597A (zh) * | 2017-12-29 | 2018-05-29 | 珠海国芯云科技有限公司 | 医疗预约排队优化方法及装置 |
CN109684070B (zh) * | 2018-08-29 | 2022-12-13 | 西安电子科技大学 | 一种云计算并行操作中的调度方法 |
CN109358946A (zh) * | 2018-09-30 | 2019-02-19 | 南京邮电大学 | 一种基于云计算的低能耗流媒体传输任务调度策略 |
CN109857084B (zh) * | 2019-01-18 | 2020-09-29 | 湖南大学 | 一种能耗感知的高性能汽车电子动态调度算法 |
CN109947530B (zh) * | 2019-01-25 | 2021-09-07 | 西安交通大学 | 一种针对云平台的多维度虚拟机映射方法 |
CN110320813B (zh) * | 2019-07-29 | 2022-07-19 | 青岛海尔科技有限公司 | 物联网设备的电源管理方法及装置 |
CN111580966B (zh) * | 2020-04-30 | 2022-11-04 | 西安石油大学 | 一种基于内存利用率的云任务调度方法 |
CN112667401A (zh) * | 2020-12-29 | 2021-04-16 | 深圳大普微电子科技有限公司 | 一种资源分配方法、系统及设备 |
CN115328666B (zh) * | 2022-10-14 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 设备调度方法、系统、电子设备及计算机可读存储介质 |
CN116302451B (zh) * | 2023-05-18 | 2023-08-08 | 广州豪特节能环保科技股份有限公司 | 一种云计算数据中心离线节能调度的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957231A (zh) * | 2014-03-18 | 2014-07-30 | 成都盛思睿信息技术有限公司 | 一种云计算平台下的虚拟机分布式任务调度方法 |
CN104065745A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 云计算动态资源调度系统和方法 |
CN104407912A (zh) * | 2014-12-25 | 2015-03-11 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631406B2 (en) * | 2010-06-30 | 2014-01-14 | Sap Ag | Distributed cloud computing architecture |
CN102508714A (zh) * | 2011-11-03 | 2012-06-20 | 南京邮电大学 | 一种云计算中基于绿色计算的虚拟机调度方法 |
US9170849B2 (en) * | 2012-01-09 | 2015-10-27 | Microsoft Technology Licensing, Llc | Migration of task to different pool of resources based on task retry count during task lease |
CN102799957B (zh) * | 2012-05-30 | 2015-10-14 | 武汉理工大学 | 一种云计算环境下安全感知的科学工作流调度方法 |
CN104216783B (zh) * | 2014-08-20 | 2017-07-11 | 上海交通大学 | 云游戏中虚拟gpu资源自主管理与控制方法 |
CN104951367B (zh) * | 2015-07-17 | 2018-02-16 | 中国人民解放军国防科学技术大学 | 一种虚拟化云中容错任务调度方法 |
CN105068859B (zh) * | 2015-07-29 | 2017-12-15 | 上海谐桐信息技术有限公司 | 一种跨虚拟机的多服务调用方法及系统 |
-
2016
- 2016-05-05 CN CN201610292565.0A patent/CN105912406B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957231A (zh) * | 2014-03-18 | 2014-07-30 | 成都盛思睿信息技术有限公司 | 一种云计算平台下的虚拟机分布式任务调度方法 |
CN104065745A (zh) * | 2014-07-07 | 2014-09-24 | 电子科技大学 | 云计算动态资源调度系统和方法 |
CN104407912A (zh) * | 2014-12-25 | 2015-03-11 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
Non-Patent Citations (1)
Title |
---|
虚拟化云中随机任务与资源调度方法;陈黄科 等;《系统工程理论与实践》;20140625;第34卷;第221-227页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105912406A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912406B (zh) | 一种低能耗的独立任务调度与资源配置方法 | |
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
EP3853731B1 (en) | Commitment-aware scheduler | |
Ding et al. | Energy efficient scheduling of virtual machines in cloud with deadline constraint | |
CN102043675B (zh) | 一种基于任务处理请求任务量大小的线程池管理方法 | |
CN110457131B (zh) | 基于Docker容器的电力系统超算平台任务调度方法 | |
CN102270159B (zh) | 一种虚拟化环境中的准入控制与负载均衡方法 | |
EP4068090A1 (en) | Container scheduling method and apparatus, and non-volatile computer-readable storage medium | |
CN103064746B (zh) | 基于当前credit进行预测调度的处理器资源精确分配方法 | |
CN105302630B (zh) | 一种虚拟机的动态调整方法及其系统 | |
CN110413391A (zh) | 基于容器集群的深度学习任务服务质量保证方法和系统 | |
CN103577249A (zh) | 虚拟机在线迁移方法与系统 | |
CN103530189A (zh) | 一种面向流式数据的自动伸缩及迁移的方法及装置 | |
CN110196773B (zh) | 统一调度计算资源的多时间尺度安全校核系统及方法 | |
CN109117269A (zh) | 一种分布式系统虚拟机调度方法、装置和可读存储介质 | |
CN111190691A (zh) | 适用于虚拟机的自动迁移方法、系统、装置及存储介质 | |
CN109947532A (zh) | 一种教育云平台中的大数据任务调度方法 | |
CN105912383A (zh) | 一种高可靠性的依赖任务调度与资源配置方法 | |
CN108287749A (zh) | 一种数据中心综合管理系统云资源调度方法 | |
CN108983712A (zh) | 一种优化混合关键实时系统使用寿命的任务调度方法 | |
Zhang et al. | An energy-aware host resource management framework for two-tier virtualized cloud data centers | |
CN108647084A (zh) | 能效云任务调度方法 | |
CN117311990B (zh) | 资源调整方法、装置、电子设备、存储介质及训练平台 | |
CN118152084A (zh) | 云计算环境中spark集群多作业调度方法 | |
CN111506407B (zh) | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |