CN108681479A - 一种面向数据挖掘云的资源调度方法 - Google Patents

一种面向数据挖掘云的资源调度方法 Download PDF

Info

Publication number
CN108681479A
CN108681479A CN201810472151.5A CN201810472151A CN108681479A CN 108681479 A CN108681479 A CN 108681479A CN 201810472151 A CN201810472151 A CN 201810472151A CN 108681479 A CN108681479 A CN 108681479A
Authority
CN
China
Prior art keywords
resource
virtual machine
scheduling
task
ment
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
CN201810472151.5A
Other languages
English (en)
Other versions
CN108681479B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201810472151.5A priority Critical patent/CN108681479B/zh
Publication of CN108681479A publication Critical patent/CN108681479A/zh
Application granted granted Critical
Publication of CN108681479B publication Critical patent/CN108681479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/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)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出一种面向数据挖掘云的资源调度方法。其将CPU、内存封装为基本计算单元。同时,将所需部署的软件封装为统一的虚拟机镜像。在这一基础上为不同规模的计算任务统一配置需求模板。在系统运行过程中,计算层中的数据挖掘引擎,向Pass层中的资源调度系统提出调度工单。根据工单调用对应的模板,计算所需的虚拟机数量。同时,根据全部虚拟机的运行状态,对现有的应用虚拟机资源进行压缩,利用迁移等手段实现应用虚拟机的余量资源回收。在回收资源以及余量资源合并的基础上,对可利用虚拟机资源进行统一组织。根据虚拟机数量以及对应的镜像实现快速部署与启动。在任务执行完毕后,根据系统状态,回收资源,保证其正常运转。

Description

一种面向数据挖掘云的资源调度方法
技术领域
本发明属于云计算与大数据与领域,具体涉及一种面向数据挖掘云的资源调度方法。
背景概述
近年来,随着大数据与云计算技术的不断发展,数据驱动的智能分析系统逐渐在各个行业中崭露头角。在大规模数据集的基础上开展分析挖掘,以挖掘的知识与模式为基础,在数据增量过程通过实时对比分析实现各种对象的运行状态动态监测、行为判断以及趋势预测是这一类系统的核心业务。以高速列车监控运行监控系统为例,如图1所示。
在日常监控过程中,大量监控数据汇聚在数据中心。数据中心根据一定人物周期定期启动数据挖掘任务。通过挖掘任务实现各种对象模式识别与应用知识构建。在这一基础上,实现实时异常检测与故障诊断。由于对象数量较多,且监测体系指标构成复杂,在挖掘过程中会形成较大规模的计算负载。
上述示例是此类系统的典型应用场景。这一类系统多采用集中式架构,通过多级数据采集、传输单元实现基础数据的汇聚并实现统一管理。在这一基础上,通过计算单元构建任务引擎,实现挖掘任务的运行、管理以及维护。由于数据增量规模较大且计算处理日趋复杂,为了保证系统整体具有合理的响应性能,多采用云的方式实现整体架构搭建,由此形成数据挖掘云的形态。
在这一数据挖掘云中,底层为Iass层,其基础硬件,由众多计算、应用与存储服务器构成。在系统构建运行过程中,这些硬件设备实现集中管理,由系统统一分配计算与存储资源。同时,从应用的角度出发,在系统运行过程中,根据一定的运维管理制度对底层设备阶段性进行更新、替换、扩容等操作,保证上层系统的稳定性、可靠性以及计算响应性;
上一层为Pass层,这一层次是本发明所提及的数据挖掘云资源调度的核心。在这一层次中,通过虚拟化将底层的物理设备实现资源封装,根据运维管理制度以CPU、内存、存储等指标为基础,将物理资源封装成统一规格的基本单元。在系统运行过程中,以该基本单元为标准建立虚拟机,在虚拟机内部运行上层计算与处理软件系统。在系统运行过程中,根据任务性能需求计算所需的资源量与对应的基本单元规模,在任务周期过程中为任务准备所需的资源;在任务执行过程中,维护各个虚拟机的运行状态;在任务结束后,回收基本单元的资源量,并释放给其他应用系统。通过这一方式,在有限的物理资源集基础上,实现计算任务的性能保障;
Pass层上为数据层,这一层次中主要为数据统一存储管理。其在物理存储资源的基础上,通过分布式数据库或文件系统实现各类数据的统一存储、检索、查询与提取。
以这些层次为基础,计算层中通过数据挖掘引擎开展数据计算与挖掘活动,计算与挖掘活动被封装为任务统一执行。为满足数据处理与挖掘性能要求,计算层以并行计算框架为基础搭建(例如:Mapreduce、Spark)。这些计算框架多采用Master-Slave的结构,即由master节点实现任务的封装、分发以及结果的收集;slave节点实现局部数据的计算处理。在结构上,slave由多个同构节点构成,其中部署slave基本任务执行单元以及计算分析程序。在日常运行中,slave节点处于闲置状态,节点本身没有较大的资源负载;在任务执行过程中,slave节点处于工作状态,节点CPU、内存等资源处于较高负载状态。
从性能保障的角度出发,针对大数据的挖掘任务的系统需要较多slave节点。较多的slave节点能够有效均衡计算负载,降低单节点计算规模,使得整体计算性能提高。另一方面,系统整体物理资源规模有限。同时,需要承载其他应用任务。如果将大量物理资源以虚拟机的方式分配给slave节点会导致其他应用任务的性能无法保证。同时,挖掘任务具有周期性,在闲置阶段,这些slave节点占用的资源无法有效利用,继而导致系统整体利用效率较低。
发明内容
针对上述资源利用率低的问题,本发明提出一种面向数据挖掘云的资源调度方法。
云环境中的虚拟机资源定义为可伸缩应用虚拟机、不可伸缩应用虚拟机。本发明资源调度针对的是可伸缩应用虚拟机的资源调度,不可伸缩对象不参与资源调度。本发明提供的面向数据挖掘云的资源调度方法,包括如下步骤:
第一步:基于统一资源指标约数规格定制基本计算单元,将基本计算单元封装为可伸缩应用虚拟机;所述统一资源指标约数规格包括:CPU核数、内存大小;在后续的资源调度中基于基本计算单元实现可伸缩应用虚拟机的资源调度,基本计算单元能够根据计算任务的需求进行动态创建、维护和撤销;
第二步:针对云环境中各种计算任务定义资源需求模板,通过资源需求模板实现计算任务资源需求与底层可调度资源之间的匹配;
第三步:建立操作栈,通过操作栈实现资源调度操作的阻塞与操作序列组织管理;
第四步:在计算任务启动阶段,计算任务提出的资源调度请求,根据计算任务定义的资源需求模板,计算所需的可伸缩应用虚拟机资源量;该步骤是基本计算单元的动态构建,在资源调度过程中,根据任务加载对应模板,实现基本计算单元的动态构建;
第五步:获取当前系统中全部可伸缩应用虚拟机的预留资源总量,根据第四步计算任务所需的资源量进行匹配,确定最终需要压缩的可伸缩虚拟机队列;
第六步:在操作栈中构建迁移操作,通过所述迁移操作将第五步得到的可伸缩虚拟机队列中可伸缩应用虚拟机进行迁移,释放对应的计算资源;所述对应的计算资源是指在虚拟机从大资源容量环境迁移到小资源容量环境后,两个容量的差额;
第七步:汇总释放的计算资源和预留的计算资源得到全部可用计算资源,构造编排操作,通过所述编排操作实现基本计算单元的统一快速批量部署;
第八步:完成计算资源伸缩,反馈给计算任务等待其执行上层数据挖掘与计算任务在等待过程中,阻塞针对当前基本计算单元的资源调度操作;
第九步:计算任务执行完毕后,计算任务提交资源回收请求,调度系统接受该请求;根据计算任务标识在操作栈中获取对应的迁移操作信息;
第十步:根据迁移操作信息,将所创建的基本计算单元对应的可伸缩应用虚拟机撤销,回收计算资源;
第十一步:根据迁移操作信息,为本次资源调度中迁移的可伸缩应用虚拟机重新构造初始资源环境,并将其迁移到初始资源环境中;
第九、十、十一步对应的是基本计算单元的动态操作,在计算任务执行完毕后,实现基本计算单元的动态撤销。
第十二步:完成全部资源调度,在操作栈中注销当前操作,解除资源阻塞。本发明中通过操作栈的方式实现资源调度的操作的组织与管理。当一个资源调度请求开始执行后,其相关操作信息在栈中序列化组织。同时,该操作所涉及的资源进行阻塞,避免多操作引起的混乱。上述面向数据挖掘云的资源调度方法中,所述第五步中,在资源量进行匹配过程中,首先计算预留资源总量与第四步计算任务所需的资源量之间的差额;如果预留资源总量大于计算任务所需的资源量,则直接进行后续的资源调度操作;
如果预留资源总量小于计算任务所需的资源量,则计算可伸缩应用虚拟机能够释放的资源规模,如果预留资源总量与能够释放的资源规模之和大于计算任务所需要的资源量,则直接进行后续的资源调度操作;如果预留资源总量与能够释放的资源规模之和小于计算任务所需的资源量时,根据最大满足原则进行资源需求适配。
上述面向数据挖掘云的资源调度方法中,所述根据最大满足原则进行资源需求适配具体为:采用退火算法,在可伸缩应用虚拟机集合中计算适配容量;所述可伸缩应用虚拟机集合是指预留资源总量与能够释放的资源规模对应的可伸缩应用虚拟机的集合。
本发明提供的方法首先在指标约数的基础上,将CPU、内存封装为基本计算单元,同时,将slave节点所需部署的软件封装为统一的虚拟机镜像,在这一基础上为不同规模的计算任务统一配置需求模板,在模板中定义slave节点针对当前任务的虚拟机镜像以及计算性能需求与基本计算单元的匹配关系。在系调度统运行过程中,计算层中的数据挖掘引擎根据自身需求,向Pass层中的资源调度系统提出调度工单。资源调度层根据工单内容调用对应的配置需求模板。根据模板内容计算所需的虚拟机数量。同时,根据全部虚拟机的运行状态,进行分析,对现有的应用虚拟机资源进行压缩,利用前移等手段实现应用虚拟机的余量资源回收。在回收资源以及余量资源合并的基础上,对可利用虚拟机资源进行统一组织。根据虚拟机数量以及对应的镜像实现快速部署与启动。为上层计算任务提供资源保障。在任务执行完毕后,根据系统状态,销毁前期创建的虚拟机,回收资源,并根据前述调度将资源返还给被压缩的应用虚拟机,保证其正常运转。本发明提供的方法能够在大型复杂装备监控、交通、物流、智慧城市以及环境保护等方面同样具有积极的应用价值。
附图说明
图1高速列车监控运行监控系统示意图;
图2系统结构图;
图3系统虚拟机管理与资源调度流程图;
图4系统回收资源流程图;
图5系统资源调度流程图;
图6资源收集与调度方案制定流程图;
图7资源压缩及调度处理流程图;
图8资源回收流程图。
具体实施方式
本发明提出的一种数据挖掘云的资源调度方法,具体实施内容如下:
1、系统构成与操作栈
虚拟机与物理资源是整个调度系统操作的核心对象。在系统中将虚拟机对象分为三个基本类别:
●不可伸缩应用虚拟机:这一类虚拟机对象在创建是明确定义其cpu\内存\存储资源的分配方案。其虚拟机内部运行特定的应用程序,在调度操作执行过程中,这一类虚拟机对象的资源不可因调度任务而变化;
●可伸缩应用虚拟机:这一类虚拟机对象在创建时明确其cpu\内存\存储资源的分配方案与调整范围。在该虚拟机内部运行特定的应用程序,在调度操作过程中,根据请求的规模,在调整范围内适度伸缩其物理资源;
●基本计算单元:这一类虚拟机面向数据分析挖掘任务构造,其生命周期仅仅存在于数据挖掘任务过程中。在日常运行中这一类虚拟机不存在,在运行过程中,根据调度请求创建、启动;在任务执行完毕后销毁并回收其资源;
调度系统整体结构如图2所示:
系统整体包括物理资源层、虚拟资源层、资源调度层以及调度接口层四个层次。其中:物理资源层:这一层次主要部署服务器物理资源以及虚拟化基础软件(例如:openstack)实现CPU、内存、存储以及基础网络环境的统一构建;在这一基础上,为上层提供基本的虚拟机管理服务;
虚拟资源层:这一层次中主要包括各类虚拟机资源。根据前述定义,虚拟机整体分为应用虚拟机栈和伸缩资源池两个部分。其中应用虚拟机栈中包括不可伸缩应用虚拟机与可伸缩虚拟机资源。这两类虚拟机在创建时即明确其类型与资源配置方案;伸缩资源池中为面向上层分析挖掘任务创建的基本计算单元。这些虚拟机对象在任务执行过程中创建。创建时根据系统预留资源、可伸缩应用虚拟机压缩资源以及调度方案创建对应的计算资源,并在对应的操作栈约束下统一管理;
资源调度层:这一层次主要由资源运行监控、资源模板管理、操作栈以及调度队列管理等几个部分构成。在运行过程中,根据上层调度请求,为挖掘任务创建调度操作栈。在栈内根据对应的资源调度方案收集资源、创建基本计算单元。在这一过程中,根据监控信息压缩可伸缩应用虚拟机的资源。在挖掘任务完毕后,将该操作栈中的计算单元销毁回收资源,恢复应用虚拟机栈中的资源状态。
调度接口层:这一层主要面向上层挖掘任务提供资源调度请求的相关接口服务,实现指令接收以及后续的处理操作。
图3中展示了系统整体虚拟机管理与资源调度的执行流程。如图3所示,在上述过程中,调度系统接收到请求,构造操作栈,执行阻塞操作。根据挖掘任务类型获取资源模板,并获取系统整体预留资源与可压缩资源总量。根据资源调度请求构造调度方案。若需要压缩应用虚拟机资源,则迁移对应应用虚拟机对象,释放可压缩资源。汇总资源,构造编排操作。创建基本计算单元,完成对应资源部署。返回操作栈标识,释放阻塞完成这一过程。
图4中展示了系统回收资源的主要流程。如图4所示,在系统回收资源的过程中,首先,系统根据资源回收请求,获取该操作栈中基本计算单元编排操作信息,并销毁编排操作的基本计算单元,回收资源。若当前操作栈存在压缩记录,则迁移对应应用虚拟机对象,恢复运行资源状态。销毁当前操作栈,返回操作结果,释放阻塞,完成当前过程。
2、资源调度请求
在系统运行过程中,当上层数据挖掘引擎需要执行挖掘任务时,其向调度系统发送请求。系统根据调度请求执行后续的资源调度操作。整个系统调度请求包括两个部分:任务资源扩展请求与任务资源回收请求。其详细定义如下:
任务资源扩展请求定义如下:
taskStartRequest={jobID,taskID,startTime,resEvaluation}
其中:jobID为当前挖掘任务的标识;
taskID为当前挖掘任务的类型标识,在后续的操作中,根据该标识提取对应的基本计算单元物理资源定义,实现后续的扩展操作;
startTime为提出请求时刻;
resEvaluation为该任务的计算能力预估值。在分析挖掘任务执行过程中,系统根据待分析数据集规模以及挖掘计算复杂度预估该任务的整体计算能力要求。
在系统接收到该请求后,执行后续的资源调度操作,同时为当前资源调度操作的创建操作栈标识。操作栈为当前调度任务中各种虚拟机创建、编排、前移、启动等操作的合集,每个调度操作由一个操作栈构成,该调度的全部操作都封装在该操作栈中。该操作栈由一个唯一标识表示。通过该标识可以获取该调度操作执行的相关记录以及虚拟机对象,以实现后续的处理;
任务资源回收请求操作是在分析任务执行完毕后,通知调度系统,将当前任务对应操作栈中创建的基本计算单元资源回收,并将其他应用虚拟机对象的资源恢复。其定义如下:
taskEndRequest={jobID,stackID,endTime}
其中:jobID为当前挖掘任务的标识;
stackID为当前调度操作栈的标识。这一操作栈为前述在任务资源扩展请求中建立的操作栈;
endTime为当前分析挖掘任务结束时间;
3、资源模板构成与资源模板检索
资源模板用于定义面向挖掘任务的同构slave节点所需的物理资源与镜像。在资源模板中定义某个任务所对应的基本计算单元资源约束以及对应的镜像构成。在任务调度过程中,根据任务类型选择对应的模板定义,实现虚拟机的动态构造与任务执行。
在资源模板中,资源约束是指一个基本计算单元所需的物理资源。在调度过程中,同一批的基本计算单元的虚拟机具有一致的物理资源。本发明将CPU、内存、存储构成一个基本计算单元。目前,芯片采用多核的架构。在这一基础上,以单核的计算能力构成一个基本计算的核心,每个单核计算核心匹配对应的内存与存储,形成基本计算单元的资源约束(例如:每个单核匹配2G内存、512M存储)。
资源模板定义如下:
resTemplate={(taskID,resDef,imageSet)i|i=1,...n}
资源模板由一组任务资源配置构成,任务资源配置由一个三元组构成,其中:
taskID为计算任务的类型,在调度过程中,根据taskID,任务找到自己对应的资源配置模板;
resDef为基本计算单元物理资源定义,其由一个四元组构成:
resDef={CPUDef,memDef,storageDef,networkDef}
其中:
CPUDef为基本计算单元的CPU浮点计算指标,单位为Ghz,通常与CPU的一个单核计算能力对应;
memDef为基本计算单元的内存大小指标,单位为GB,通常一个CPU配备2G内存;
storageDef为基本计算单元的物理存储大小指标,单位为MB,通常计算节点所需的独立存储规模不大,配备为512M;
networkDef为基本计算单元的网络配置定义,取值为float或fix,表示此类虚拟机对象的网络是float类型还是fix类型;
imageSet为该类虚拟机的镜像引用,通过该引用,在创建过程中实现虚拟机对象的镜像内容加载。
在资源调度过程中,计算任务向调度系统发送调度请求后,根据请求中计算任务的类型提取对应的基本计算单元物理资源定义,为后续的操作提供依据。这一过程如图5所示,资源调度过程如下所述:
1.首先,系统接收到资源调度请求;
2.设置i=1;
3.从资源模板提取第i个对象;
4.判断该对象的taskID与当前类型是否对应,若对应,则转步骤8,否则转步骤5;
5.令i=i+1;
6.判断i是否超出资源模板的队列边界,若超出,则转步骤7,否则转步骤3;
7.提示检索失败,转步骤9;
8.返回该对象信息;
9.结束。
4、资源收集与调度方案制定
调度方案是在可利用资源的基础上,根据挖掘任务的需求合理创建基本计算单元的虚拟机。在这一过程中,一方面要做到资源最大化利用。另一方面,在创建过程中,资源收集、虚拟机创建自身会产生一定的时间损耗。因此,调度方案需要在虚拟机数量分配方面尽量优化,保证任务需求的同时,合理利用资源并降低调度时间损耗。针对这一问题,本发明采用以下方法:
在获取资源调度请求并获得资源模板后,系统首先获取预留资源总量信息,评估资源总量是否满足当前分析任务的需求。如果满足则在现有资源总量与模板的基础上构造编排操作,实现基本计算单元的创建;
当预留的资源总量不能有效满足当前任务需求时,系统从应用虚拟机栈中获取可伸缩资源量,根据对应虚拟机运行状态分析压缩规模。在这一基础上,构造虚拟机迁移批操作任务,实现应用虚拟机的热迁移与资源压缩。同时,记录压缩操作为后续的资源恢复提供依据。
在完成资源总量获取的基础上,结合退火算法确定创建虚拟机的规模,形成调度方案,为后续基本计算单元的统一创建,提供依据。
这一过程如下:
1)获取当前预留资源总量spareResource
spareResource=getSpareRes(resourceAll),sapreResource=
{CPU,CPUnum,mem,storage}
其中,CPU为预留的全部计算能力总量;
CPUnum为全部预留CPU核数;
mem为预留内存总量;
storage为预留存储总量;
2)根据当前请求与基本计算单元物理资源定义中内容检查预留资源是否满足要求,如果满足则执行步骤4构造生成调度方案,如果不满足则执行步骤3;
3)当预留资源不能满足当前分析任务的资源需求时,需要压缩可伸缩应用虚拟机的相关资源。汇聚可用资源后,计算虚拟机的创建规格与规模,形成调度方案。这一过程如下:
4)在前述获取资源总量的基础上构造调度方案。这一方案中确定创建虚拟机的个数以及每个虚拟机中分配的CPU、内存与存储资源的大小。
在这一过程中,虚拟机规模计算过程如下:
首先根据资源总量以及资源模板中当前任务基本计算单元的资源定义计算CPU、内存以及存储资源的分配率。
let rate=min(CPURate,memRate,storageRate);
CPURate=CPU/CPUDef,CPUDef∈resDef
memRate=mem/memDef,memDef∈resDef
storageRate=storage/storageDef,storageDef∈resDef
iif spareResource∩elasticResource
then splitResInSpare(resourceAll)else splitResInAll(taskStartRequest,resDef)
在基本计算单元构造过程中,每个虚拟机资源压缩的时间消耗为t1,压缩资源创建的虚拟机个数为r1。压缩资源创建的基本计算单元时间消耗就为:
T1=t1×r1
r1≤Rp/resdef(p)Rp∈elasticResource,p={CPU,mem,storage}
其中数量r1小于压缩资源总量中CPU、mem、storage中最小量与该指标的资源定义比值。
每个预留资源虚拟机创建时间消耗为t2,创建数量为r2。预留资源创建的基本计算单元时间消耗就为:
T2=t2×r2.
r2≤Rp/resdef(p)Rp∈spareResource,p={CPU,mem,storage}
其中数量r2小于预留资源总量中CPU、mem、storage中最小量与该指标的资源定义比值。
整个任务调度的全部时间消耗就为T=T1+T2,全部基本计算单元的虚拟机总量为R=r1+r2
在这一资源分配中满足如下约束:
在上述约束计算中,本发明采用退火算法,最终计算获得压缩资源分配的基本计算单元个数r1与预留资源分配的基本计算单元r2。
这一过程如图6所示,获得资源分配计算单元个数后,就可以形成资源调度方案。调度方案定义如下:
schedulePlan={stackID,cellNum,cellPara,elasticInstancePlan}
其中:stackID为当前操作栈ID;
cellNum为计划为基本计算单元构造的虚拟机数量;
cellPara为基本计算单元的虚拟机资源规格,其中规定CPU,mem和storage的单机容量;
elasticInstancePlan为可伸缩应用虚拟机资源压缩信息列表。其由一组压缩信息构成。
elasticInstancePlan={(jobID,instanceID,resourceSplit)i|i=1,2,…n}。
其中:jobID为需要资源压缩的应用虚拟机标识;
instanceID为待压缩的虚拟机标识;
resourceSplit为待压缩的虚拟机资源容量,包括CPU,mem和storage。
系统完成调度方案构造后,将其保存在操作栈中,为后续的调度操作提供依据。
5、资源调度与任务需求弹性扩展
系统完成调度方案配置后,开展资源压缩以及调度处理。在这一过程中,首先检索调度方案中是否需要压缩应用虚拟机资源,如果不需要压缩则直接利用预留资源根据实际需求创建基本计算单元的虚拟机对象并加载镜像。否则需要先将应用虚拟机对象进行迁移完成资源压缩后,将释放资源与预留资源合并。再完成上述的基本计算单元的虚拟机对象创建。这一过程如图7所示,其流程描述如下:
1.首先,接收调度方案;
2.在操作栈中构造对应的调度操作;
3.获取预留资源规模;
4.判断当前调度方案中是否包括资源压缩操作,若包括,则转步骤5,否则转步骤14;
5.提取待压缩应用虚拟机操作信息;
6.根据信息为该虚拟机对象构造新的运行资源环境;
7.将当前应用虚拟机迁移到新的运行环境;
8.判断迁移操作是否成功,若成功,转步骤9,否则转步骤10;
9.将该应用虚拟机的压缩信息在操作栈中记录,转步骤11;
10.标记操作失败,更新调度方案中待创建基本计算单元虚拟机总量数据;
11.判断是否完成全部操作,若未完成,则转步骤12,否则转步骤13;
12.获取下一个压缩操作信息,转步骤6;
13.将压缩的资源量与预留资源量合并;
14.根据资源总量计算创建的基本计算单元虚拟机数量;
15.构造编排方案;
16.利用编排方案批量创建基本计算单元虚拟机资源;
17.将创建的基本计算单元虚拟机信息记录在操作栈中;
18.结束。
6、资源回收
当结束上层挖掘任务执行完毕时,该任务创建的基本计算单元回归闲置状态。在这一情况下,挖掘任务向系统提交回收请求taskEndRequest。系统根据这一请求将对应操作栈中创建的基本计算单元销毁。如果该操作栈中存在应用虚拟机资源压缩的操作记录,则将对应的应用虚拟机资源恢复,最终完成整个任务的资源回收与运行状态恢复。这一过程如图8所示,其流程描述如下:
1.首先,接收到taskEndRequest信息;
2.获取其对应操作栈;
3.阻塞调度操作;
4.从操作栈中获取创建的基本计算单元虚拟机列表以及对应编排操作;
5.利用编排操作销毁栈内的基本计算单元虚拟机对象,回收资源;
6.判断当前操作栈中是否存在应用虚拟机资源压缩记录,若存在,则转步骤7,否则转步骤12;
7.提取压缩记录;
8.判断当前系统闲置资源容量是否满足迁移要求,若满足,则转步骤9,否则,转步骤10;
9.将该记录对应的应用虚拟机迁移至初始资源环境;
10.判断是否完成全部操作,若是,转步骤12,否则转步骤11;
11.获取下一个压缩操作信息,转步骤8;
12.完成资源回收工作;
13.解除阻塞;
14.结束。

Claims (3)

1.一种面向数据挖掘云的资源调度方法,其特征在于:所述资源调度针对的是可伸缩应用虚拟机的资源调度,所述资源调度方法包括如下步骤:
第一步:基于统一资源指标约数规格定制基本计算单元,将基本计算单元封装为可伸缩应用虚拟机;所述统一资源指标约数规格包括:CPU核数、内存大小;在后续的资源调度中基于基本计算单元实现可伸缩应用虚拟机的资源调度,基本计算单元能够根据计算任务的需求进行动态创建、维护和撤销;
第二步:针对云环境中各种计算任务定义资源需求模板,通过资源需求模板实现计算任务资源需求与底层可调度资源之间的匹配;
第三步:建立操作栈,通过操作栈实现资源调度操作的阻塞与操作序列组织管理;
第四步:在计算任务启动阶段,计算任务提出的资源调度请求,根据计算任务定义的资源需求模板,计算所需的可伸缩应用虚拟机资源量;
第五步:获取当前系统中全部可伸缩应用虚拟机的预留资源总量,根据第四步计算任务所需的资源量进行匹配,确定最终需要压缩的可伸缩虚拟机队列;
第六步:在操作栈中构建迁移操作,通过所述迁移操作将第五步得到的可伸缩虚拟机队列中可伸缩应用虚拟机进行迁移,释放对应的计算资源;
第七步:汇总释放的计算资源和预留的计算资源得到全部可用计算资源,构造编排操作,通过所述编排操作实现基本计算单元的统一部署;
第八步:完成计算资源伸缩,反馈给计算任务等待其执行上层数据挖掘与计算任务在等待过程中,阻塞针对当前基本计算单元的资源调度操作;
第九步:计算任务执行完毕后,计算任务提交资源回收请求,调度系统接受该请求;根据计算任务标识在操作栈中获取对应的迁移操作信息;
第十步:根据迁移操作信息,将所创建的基本计算单元对应的可伸缩应用虚拟机撤销,回收计算资源;
第十一步:根据迁移操作信息,为本次资源调度中迁移的可伸缩应用虚拟机重新构造初始资源环境,并将其迁移到初始资源环境中;
第十二步:完成全部资源调度,在操作栈中注销当前操作,解除资源阻塞。
2.根据权利要求1所述的面向数据挖掘云的资源调度方法,其特征在于:所述第五步中,在资源量进行匹配过程中,首先计算预留资源总量与第四步计算任务所需的资源量之间的差额;如果预留资源总量大于计算任务所需的资源量,则直接进行后续的资源调度操作;
如果预留资源总量小于计算任务所需的资源量,则计算可伸缩应用虚拟机能够释放的资源规模,如果预留资源总量与能够释放的资源规模之和大于计算任务所需要的资源量,则直接进行后续的资源调度操作;如果预留资源总量与能够释放的资源规模之和小于计算任务所需的资源量时,根据最大满足原则进行资源需求适配。
3.根据权利要求2所述的面向数据挖掘云的资源调度方法,其特征在于:所述根据最大满足原则进行资源需求适配具体为:采用退火算法,在可伸缩应用虚拟机集合中计算适配容量;所述可伸缩应用虚拟机集合是指预留资源总量与能够释放的资源规模对应的可伸缩应用虚拟机的集合。
CN201810472151.5A 2018-05-17 2018-05-17 一种面向数据挖掘云的资源调度方法 Active CN108681479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810472151.5A CN108681479B (zh) 2018-05-17 2018-05-17 一种面向数据挖掘云的资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810472151.5A CN108681479B (zh) 2018-05-17 2018-05-17 一种面向数据挖掘云的资源调度方法

Publications (2)

Publication Number Publication Date
CN108681479A true CN108681479A (zh) 2018-10-19
CN108681479B CN108681479B (zh) 2021-09-03

Family

ID=63806689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810472151.5A Active CN108681479B (zh) 2018-05-17 2018-05-17 一种面向数据挖掘云的资源调度方法

Country Status (1)

Country Link
CN (1) CN108681479B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784335A (zh) * 2019-09-19 2020-02-11 烽火通信科技股份有限公司 一种云场景下的网元资源预留系统
CN110825356A (zh) * 2019-11-12 2020-02-21 东方电子股份有限公司 一种微服务开发框架及实时监控实现方法
CN111143037A (zh) * 2019-12-31 2020-05-12 联想(北京)有限公司 一种虚拟机资源分配方法、设备、系统及存储介质
CN111338768A (zh) * 2020-02-03 2020-06-26 重庆特斯联智慧科技股份有限公司 一种利用城市大脑的公安资源调度系统
WO2020134479A1 (zh) * 2018-12-28 2020-07-02 中兴通讯股份有限公司 虚机调整方法、装置、网络设备和可读存储介质
CN112990662A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 目标资源确定方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
CN103516623A (zh) * 2012-06-25 2014-01-15 中兴通讯股份有限公司 资源分配方法及系统
CN103533086A (zh) * 2013-10-31 2014-01-22 中国科学院计算机网络信息中心 一种云计算系统中的资源统一调度方法
CN104657215A (zh) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 云计算中虚拟化节能系统
CN105843678A (zh) * 2016-03-17 2016-08-10 国网山东省电力公司信息通信公司 一种基于最优化理论的虚拟机的资源调度迁移方法及系统
CN107566184A (zh) * 2017-09-22 2018-01-09 天翼电子商务有限公司 一种资源统一管理方法及其系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
CN103516623A (zh) * 2012-06-25 2014-01-15 中兴通讯股份有限公司 资源分配方法及系统
CN103533086A (zh) * 2013-10-31 2014-01-22 中国科学院计算机网络信息中心 一种云计算系统中的资源统一调度方法
CN104657215A (zh) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 云计算中虚拟化节能系统
CN105843678A (zh) * 2016-03-17 2016-08-10 国网山东省电力公司信息通信公司 一种基于最优化理论的虚拟机的资源调度迁移方法及系统
CN107566184A (zh) * 2017-09-22 2018-01-09 天翼电子商务有限公司 一种资源统一管理方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
匡华: "虚拟机动态迁移技术视角下云计算资源调度策略研究", 《科技创新导报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134479A1 (zh) * 2018-12-28 2020-07-02 中兴通讯股份有限公司 虚机调整方法、装置、网络设备和可读存储介质
CN110784335A (zh) * 2019-09-19 2020-02-11 烽火通信科技股份有限公司 一种云场景下的网元资源预留系统
CN110825356A (zh) * 2019-11-12 2020-02-21 东方电子股份有限公司 一种微服务开发框架及实时监控实现方法
CN111143037A (zh) * 2019-12-31 2020-05-12 联想(北京)有限公司 一种虚拟机资源分配方法、设备、系统及存储介质
CN111143037B (zh) * 2019-12-31 2023-11-21 联想(北京)有限公司 一种虚拟机资源分配方法、设备、系统及存储介质
CN111338768A (zh) * 2020-02-03 2020-06-26 重庆特斯联智慧科技股份有限公司 一种利用城市大脑的公安资源调度系统
CN112990662A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 目标资源确定方法及装置

Also Published As

Publication number Publication date
CN108681479B (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN108681479A (zh) 一种面向数据挖掘云的资源调度方法
CN110166285B (zh) 一种基于Docker的网络安全实验平台搭建方法
CN104854563B (zh) 资源使用的自动分析
Abd Latiff A checkpointed league championship algorithm-based cloud scheduling scheme with secure fault tolerance responsiveness
CN104317658B (zh) 一种基于MapReduce的负载自适应任务调度方法
CN103930875B (zh) 用于加速业务数据处理的软件虚拟机
CN101405697B (zh) 层次化系统及其管理方法
CN102307369B (zh) 支持无线传感网并行仿真和实物模拟的装置及方法
CN107404523A (zh) 云平台自适应资源调度系统和方法
CN103561061B (zh) 一种弹性的云数据挖掘平台部署方法
CN110178149A (zh) 数字双胞胎图
CN106506657A (zh) 一种基于多目标的云计算虚拟机分配调整方法
CN105843182A (zh) 一种基于oms的电力调度事故预案系统及方法
CN104040503A (zh) 用于多个可用性管理器的简化和协调编排的开放弹性框架
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN110457017A (zh) 一种采用领域分层设计的企业中台系统
CN102375734B (zh) 应用产品开发系统、方法、装置和运行系统、方法、装置
CN103608766A (zh) 用于新应用的存储器管理模型和接口
JPH08286918A (ja) 手順トランザクション・コーディネータと相互動作するオブジェクト指向トランザクション・サービスを作成するためのシステムおよび方法
CN102193832A (zh) 云端计算资源排程方法与应用的系统
CN109271232A (zh) 一种基于云计算平台的集群资源分配方法
CN108572845A (zh) 分布式微服务集群的升级方法及相关系统
CN106469117A (zh) 一种用于虚拟机存储迁移的存储资源管理方法及装置
CN110489205A (zh) 一种基于容器集群的教育服务架构系统
US20230229487A1 (en) Virtual machine deployment method, virtual machine management method having the same and virtual machine management system implementing the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant