APP下载

基于动态副本管理的云计算任务调度体系架构

2015-06-21张焕青王海涛张学平

桂林电子科技大学学报 2015年5期
关键词:数据文件计算环境任务调度

张焕青,王海涛,张学平,闫 力

基于动态副本管理的云计算任务调度体系架构

张焕青1,王海涛2,张学平2,闫 力1

(1.解放军理工大学通信工程学院,南京 210007; 2.解放军理工大学信息管理中心,南京 210007)

针对云计算环境中任务调度因缺少综合评估调度策略手段、数据文件访问频率不一而导致的云计算系统效率降低的问题,分析任务调度中云计算系统可用资源和用户提交应用任务的性能指标,并对调度各功能模块明确定义。同时对任务数据文件的副本进行动态管理,提出基于动态副本管理的云计算任务调度体系架构。该任务调度体系能避免因关键数据访问过频导致的单点失效和系统负载不均状况,从而提高云计算系统的稳定性和可靠性。

云计算;任务调度;体系架构;副本管理

云计算技术以分布式计算为基础,结合虚拟化、互联网技术,将网络中分布的计算资源、存储资源、服务器和软件系统等多种资源整合集成统一的资源池,向用户提供交付简单、拓展性好、成本低廉、安全可靠的存储和计算服务,用户则以“按量付费”的形式获取所需服务[1]。由于云计算系统规模庞大,资源池内部机群异构且随需求动态多变,同时云计算终端用户群体广泛,需求的服务类型众多,且任务量巨大,QoS (quality of service)目标约束条件各不相同。因此,如何管理云计算海量服务资源,对用户提交的任务高效调度执行,同时能尽量缩短任务执行时间,降低云系统成本,在保证数据中心正常吞吐量的同时均衡系统负载,成为云计算的技术难点和当前的研究重点[]。

目前云计算任务调度的研究成果有很多[3-5],但往往基于某种假设,仅关注某一方面的性能或指标,如任务完成时间、任务调度成本、系统负载水平等,对提出的任务调度策略和资源管理策略进行评估,具有一定的片面性与主观性,忽视了对任务调度策略全局性的综合评估。为此,综合考虑云计算环境中任务调度涉及的多项指标和性能参数,提出一种基于动态副本管理的云计算任务调度体系架构。

1 云计算环境中任务调度体系架构

借鉴网格计算、效用计算和云计算任务调度体系架构,对云计算任务调度模块进行规划、梳理,综合计算资源使用与任务完成所需达到目标的相关参数,设计一种新的云计算环境中的任务调度体系架构,其结构如图1所示。

图1 云计算环境中任务调度体系架构Fig.1 Task scheduling architecture in cloud computing environment

在云计算中,一项任务从提交到完成,需经过多个环节。在设计云计算任务调度体系架构时,应考虑用户、代理、数据中心、信息服务器4个组成部分。

1)用户。云计算服务的使用者,为完成某一项或多项任务使用云计算资源。在向云计算中心提交任务之前,用户与云计算中心一般都需签署QoS协议,记录用户对于任务完成的预期等级,包括完成时间、信息安全、费用和获取结果方式等。

2)代理。根据用户签署QoS协议中对任务的要求,选择合适的计算资源执行任务,并可根据实际需求调整任务调度策略。代理是用户与数据中心的纽带。

3)数据中心。数据中心是云计算的资源提供者,其拥有海量的计算、存储资源,可随时随地接入使用。

4)信息服务器。信息服务器负责记录云计算数据中心内部各类资源信息,包括计算资源的计算能力、存储资源的容量、通信资源的带宽以及各类资源使用费用等。有新的资源加入时需向IS注册;数据中心内部资源出现变动时需向IS汇报修改;有资源撤出时需向IS注销。

在云计算任务调度体系架构中,4个组成部分的关系可以描述为:用户将任务提交至代理,代理根据任务具体情况和QoS协议内容,将任务拆分;数据中心内部所有可用资源向信息服务器注册;在代理收到任务请求并完成任务拆分后,向信息服务器查询可用资源,按照既定的任务调度策略,向数据中心内部资源分配具体任务;任务完成后,信息服务器根据各资源消费情况进行汇总,用户付费,完成整个云计算过程。

2 云计算环境中任务调度执行流程

云计算环境中,任务调度的执行流程是指云系统终端用户为完成既定目标,使用云计算系统提供的存储、计算、平台或软件等各类资源,提交任务。在云计算系统收到任务后,进行具体拆分细化,根据用户QoS协议的约束条件和任务调度策略,选择合适的云计算数据中心资源,执行该任务并返回结果。云计算环境中的任务调度执行流程如图2所示。

图2 云计算环境中任务调度执行流程Fig.2 Task scheduling executing process in cloud computing environment

图2中任务接收器、预处理程序和任务分类器在云计算任务调度体系架构中,属于代理组成部分。任务接收器在收到云终端用户提交的任务后,负责整理并初步规划,转交至预处理程序。预处理程序根据任务属性和QoS协议的约束条件使用统一格式对任务进行描述,封装完成后转交给任务分类器。经过处理,每个任务均与一个任务属性相对应。在云计算环境的任务调度中,根据用户签署QoS协议的约束条件,不同任务有不同的任务调度倾向。例如,任务不同的服务请求类型,分为SaaS、IaaS、PaaS等,根据任务调度预算和任务估计截止时间,任务又可分为成本敏感型和时间敏感型等。此类任务属性包含在任务属性中,与任务一同提交给任务分类器,与云计算任务调度策略相互配合,共同确定任务调度的队列。云计算任务属性元素及其属性说明如表1所示。

表1 任务属性元素及其说明Tab.1 Attribute parameters of task

与终端用户相类似,云计算系统的数据中心内部资源同样需要属性描述标识。数据中心任务处理单元的属性元素及其属性说明如表2所示。

表2 任务处理单元属性元素及其说明Tab.2 Attribute parameters of processing elements

资源管理器在云计算任务调度体系架构中属于信息服务器组成部分,云计算数据中心的任务处理单元属性形成后向资源管理器汇总,并在资源管理器按照计算能力、通信带宽和使用成本等进行分类整理。任务调度器是体系架构中代理的核心部分,在收到任务输入队列并获知任务属性后,从资源管理器获取当前云计算系统数据中心可用资源及其性能指标,按照既定的任务调度策略,将任务分派至具体的计算资源执行,形成用户任务与计算资源的合理映射,最终完成任务调度。

在任务调度的执行流程中,单点部署的全局控制节点包括任务调度器和资源管理器,每个任务的调度分配过程必须由这2项参与。在面对大规模任务调度或底层计算、存储资源管理复杂的情况时,任务调度器和资源管理器任务繁重,易出现“访问热点”和“单点失效”的问题。为此,对全局控制节点的部署引入多点分布式布局。

采用多点分布式部署,每个控制节点都具有全局控制节点的相应功能,多个控制节点构成一个全局控制节点。如图3所示,在每个控制节点有多个子节点,子节点共同完成控制节点的任务。采用多点式部署方式,可降低全局控制节点的瓶颈效应,避免出现访问热点和单点失效的问题。

图3 多点分布式全局控制节点Fig.3 Multipoint distributed global control node

3 基于副本机制的云计算任务调度执行流程

为解决单点失效问题,提出基于动态副本管理任务调度体系架构,以增强云系统对可用资源管理,改善数据文件的可用性和可靠性,提高云计算任务调度与执行的效率。基于动态副本机制的任务调度执行流程如图4所示。比较图4与图2的流程,基于动态副本机制的任务调度执行流程不同之处在于,增加了用于收集、记录、管理各类数据文件副本信息的副本管理器。在这个执行流程中,全局控制节点共有副本管理器、任务调度器和资源管理器,通过多点分布式部署,可避免出现访问热点和单点失效的问题。

任务调度器接收到任务调度请求后,基于动态副本机制的任务调度操作流程为:1)向资源管理器发出询问请求,以获取数据中心满足QoS协议约束条件的可执行任务的所有资源信息;2)向副本管理器发出询问请求,以获取输入队列中当前任务的数据副本信息所存在的目标位置;3)任务调度器根据已获取的计算资源信息和数据副本信息,并基于当前的任务调度策略,为具体任务与计算资源完成映射,实现云计算任务调度。

4 云计算环境中动态副本管理策略

副本技术已在分布式系统中广泛应用,某文件复制多份并将其放置在分布式系统的多个节点,以增加文件的可靠性,同时副本技术还可提高数据访问效率和整个系统的负载均衡水平[6]。目前云计算环境中任务调度系统大都不重视副本管理策略,因单点失效、访问瓶颈等问题没有得到很好解决,在任务调度体系架构中引入动态副本管理策略,以提升系统数据文件可靠性与可用性,提高任务调度执行效率[7]。

副本管理策略一般分为静态和动态2种,在云计算环境中,由于终端用户多,用户访问形式以及所需服务形式不同,资源池内部各类资源重组、迁移等随应用需求动态变化,单点故障时常发生视为常态,对于这样的分布式环境,适用于使用动态副本管理策略[8]。根据云计算系统环境、资源状况以及用户行为的不断变化,动态副本管理策略能够不断进行环境条件的变化,并适时调整副本放置位置和副本数量,在性能表现方面更为良好。

4.1 数据中心网络结构

动态副本管理策略的实现必须要有相应的数据中心网络结构作为支撑,网络结构包括层次化结构、集中式结构和分布式结构等。为此,引入一种层次化结构构建云计算数据中心,以实现动态副本管理策略。云计算数据中心网络结构如图5所示,包括普通主机节点、区域头节点和区域宿主节点。图5的虚线表示一个区域,其由一个区域头节点连接多个主机节点构成。每个主机节点负责存储数据文件,并对自身存储的文件保存历史访问记录,包括被访问文件的编号、访问时间和访问节点等。在系统内部进行设置,主机节点会在固定时间间隔后,向区域头节点汇报主机节点内部存储数据的历史访问记录。而区域头节点则负责管理该区域内部主机节点信息,通过以上操作区域头节点就可掌握区域内数据文件的历史访问记录。在更上一层,区域宿主节点有权对数据中心节点内部所有数据文件的历史访问记录进行查询。

图5 云计算数据中心网络结构Fig.5 Network structure of cloud computing data center

4.2 动态副本管理策略

动态副本管理策略核心主要为3项:副本创建、副本放置、副本置换。副本创建负责为访问次数较多的数据文件创建副本,并确定创建副本的数量;副本放置负责确定创建的副本文件在存储单元的具体位置,放置策略将直接影响数据文件读写效率和系统的负载水平;副本置换负责当存储单元内部空间不足时,选取删除部分副本,以释放存储空间,或置换新副本。

4.2.1 副本创建策略

副本创建策略包括创建副本的文件、创建副本的数量。在云计算数据中心内部,宿主节点可通过区域头节点查询数据中心所有区域内数据文件的信息,包括数据文件的历史访问记录,因此,就可以根据数据文件访问的“热度”,选择合适的数据文件创建副本。由于云计算系统处理的任务海量且随时间变化较大,不同时间段数据文件的访问“热度”不同,副本创建策略也应随之改变。鉴于此,在评估文件的访问“热度”时,根据不同时间段的历史访问记录,赋予不同的权值,较新的历史访问记录赋值更高,时间间隔较长的历史访问记录对文件“热度”权值贡献呈指数下降。

在数据中心内部设定一个固定的时间周期,已经评估文件“热度”所需的周期为T,在T周期内被访问的数据文件集合为F,文件f在第t个周期内被访问次数用Atf表示,文件f“热度”可表示为:

需要创建副本的流行文件fp为:

用F表示F中文件数量,F中文件的平均热度作为副本创建个数的评估基础:

则系统需要为fp创建的副本数量为

4.2.2 副本放置策略

副本放置策略主要考虑2个问题:每个区域内放置副本的数量,副本放置的各区域内部主机节点位置。合理、有效的副本放置策略对于整个动态副本管理至关重要,能够有效均衡系统负载,并提高数据文件读取可靠性,提升任务执行效率。

由于流行文件fp在每个区域内被访问的频率不一,也就是说,各区域内fp的访问“热度”是不同的。在副本放置策略中,应优先考虑将副本放置在流行文件访问频率高的区域,以消除因单点访问过多而存在的安全隐患,分担工作负载,提升系统稳定性。流行文件fp在各区域内访问“热度”计算公式为:

其中:R为数据中心的区域个数;Pr(fp)为fp在区域r的访问“热度”。将Pr(fp),r=1,2,…,R按照降序排列,访问“热度”越高的单个区域内获得副本数越多:

在确定副本创建数量及各区域内放置副本数量后,需确定每个区域内具体放置副本的主机节点。副本对放置的主机节点的选取,需综合考虑节点存储空间、通信带宽、历史记录中的有效访问次数以及成功率、区域负载情况等因素。副本放置于剩余存储空间大的节点,可提高资源利用率;在访问“热点”高的区域选取访问次数少的节点放置副本,可提高系统稳定性,平衡数据文件的请求负载;而在访问有效性好、通信带宽较高的节点中放置副本,能保证任务较为顺利地调度执行,提高数据文件利用的可靠性。但以上情况并不一定会都集中于某一部分节点,且在实际应用环境中有可能出现各节点性能相差较大,因此需综合考虑选取合适的主机节点。

流行文件fp占用空间为sfp,区域内可用节点集合为D={n1,n2,…,nn},节点ni负载情况为li,可用空间为di,带宽为bi,历史有效访问次数为Nia,则fp选取ni放置副本的期望度为:

其中:ω1、ω2、ω3、ω4为副本对于选取主机节点放置的权重系数可根据不同的管理策略适度调整权重系数。放置期望度EiP越高,则ni越适用于放置副本。

4.2.3 副本置换策略

在为数据文件新副本进行放置操作时,若当前区域内选取的主机节点空间不足,则需考虑删除部分数据文件副本,释放空间以放置新副本,这就是动态副本管理策略中的副本置换策略。过去对副本置换策略研究大多只侧重副本文件的历史访问情况,将近期访问频率低的副本置换,并没有考虑副本文件占用空间对置换策略的影响。为此,选取占用空间大的副本置换,可释放更多的节点空间,同时长久未被访问的副本文件被置换,有利于节点资源有效利用。

假设在流行文件副本所选取的目标放置节点中有k个副本文件,R={r1,r2,…,rk},集合R中不包含在数据中心内只有一份的副本文件,以免置换操作对副本管理产生不利影响。对于副本文件ri,占用空间为si,访问“热度”为P(i),最后一次访问时间为,当前时间为tc,计算副本文件ri被选择删除的期望度为:

其中,c1、c2、c3分别表示副本文件占用空间、最后一次被访问记录至操作时间隔长度、副本文件访问“热度”对副本被置换的期望度的权重系数,可根据需求进行调整。通过计算并比较各副本文件的删除期望度,可在目标主机节点中选取删除期望度高的副本文件进行置换,如果一次操作不能置换足够的空间,可重复以上步骤,直至主机节点释放足够的可用空间。

5 结束语

针对云计算环境中资源池内部资源异构动态多变,用户提交任务量巨大且服务类型多样的情况,提出云计算环境汇中任务调度体系架构,明确任务调度功能单元和属性;并引入动态副本管理策略,提升系统数据文件可靠性与可用性,改善因单点失效和热点访问对云系统效率的影响,均衡系统负载。

[1] Muhammad I,Zhu Hong,Tauseef Q,et al.Requirement analysis and design of service level integration layer for cloud computing services,to meet service level agreements and quality of service[J].Journal of Computational and Theoretical Nanoscience,2014,11(3):629-636.

[2] Zhu Yishui,Shtykh R Y,Jin Qun.A human-centric framework for context-aware flowable services in cloud computing environments[J].Information Sciences, 2014,257:231-247.

[3] Exposito R R,Taboada G L,Ramos S,et al.Evaluation of messaging middleware for high-performance cloud computing[J].Personal and Ubiquitous Computing, 2013,17(8):1709-1719.

[4] Xu Baomin,Zhao Chunyan,Hu Enzhao,et al.Job scheduling algorithm based on Berger model in cloud environment[J].Advances in Engineering Software,2011,42 (7):419-425.

[5] Kaewpuang R,Niyato D,Wang Ping,et al.A framework for cooperative resource management in mobile cloud computing[J].IEEE Journal on Selected Areas in Communications,2013,31(12):2685-2700.

[6] Grace R K,Manimegalai R.Dynamic replica placement and selection strategies in data grids:a comprehensive survey[J].Journal of Parallel and Distributed Computing,2014,74(2):2099-2108.

[7] Li Jing.A replica selection decision in cloud computing environment[C]//Proceedings of the International Conference on Advances in Computing Science and Engineering,2010:801-806.

[8] Ryu B G,Choi J H,Lee S K.Impact of node distance on selfish replica allocation in a mobile ad-hoc network[J]. Ad Hoc Networks,2013,11(8):2187-2202.

编辑:翁史振

A task scheduling architecture in cloud computing environment based on dynamic replica management

Zhang Huanqing1,Wang Haitao2,Zhang Xueping2,Yan Li1
(1.College of Communication,PLA University of Science and Technology,Nanjing 210007,China; 2.Information Management Center,PLA University of Science and Technology,Nanjing 210007,China)

Efficiency of cloud computing system is reduced as data file access frequency varies as well as the lack of comprehensive evaluation strategies and methods of task scheduling in cloud computing environment.This paper analyzes the available resources and performance index of tasks submitted by users in cloud computing system while task scheduling and the function modules of task scheduling are clearly defined.At the same time,a cloud computing task scheduling architecture based on dynamic replica management is put forward.The stability and reliability of cloud computing can be improved, which can avoid a single point of failure and uneven load balance.

cloud computing;task scheduling;architecture;replica management

TP393

A

1673-808X(2015)05-0371-06

2015-03-12

国家自然科学基金(61072043)

王海涛(1976-),男,河南焦作人,副教授,博士,研究方向为无线自组网、网络管理和QoS保障。E-mail:haitmail@126.com

张焕青,王海涛,张学平,等.基于动态副本管理的云计算任务调度体系架构[J].桂林电子科技大学学报,2015,35(5):371-376.

猜你喜欢

数据文件计算环境任务调度
云计算环境下网络安全等级保护的实现途径
基于改进NSGA-Ⅱ算法的协同制造任务调度研究
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
大数据云计算环境下的数据安全
基于小生境遗传算法的相控阵雷达任务调度
云计算环境中任务调度策略
云计算中基于进化算法的任务调度策略
云计算环境下电子书包教育应用创新研究