CN107038070B - 一种云环境下执行可靠性感知的并行任务调度方法 - Google Patents

一种云环境下执行可靠性感知的并行任务调度方法 Download PDF

Info

Publication number
CN107038070B
CN107038070B CN201710227551.5A CN201710227551A CN107038070B CN 107038070 B CN107038070 B CN 107038070B CN 201710227551 A CN201710227551 A CN 201710227551A CN 107038070 B CN107038070 B CN 107038070B
Authority
CN
China
Prior art keywords
task
reliability
processor
execution
parallel
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.)
Expired - Fee Related
Application number
CN201710227551.5A
Other languages
English (en)
Other versions
CN107038070A (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.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
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 Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN201710227551.5A priority Critical patent/CN107038070B/zh
Publication of CN107038070A publication Critical patent/CN107038070A/zh
Application granted granted Critical
Publication of CN107038070B publication Critical patent/CN107038070B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种云环境下执行可靠性感知的并行任务调度方法,涉及云计算技术领域,本发明针对用户对并行任务有完成截止时间和执行可靠性的要求,根据云计算系统的计算资源和通信设备的故障率服从指数分布的特点,生成并行任务在云计算系统上执行的所有执行方案,将这些执行方案构建执行方案图,基于执行方案图,提出满足并行任务完成截止时间要求的最大可靠性执行方案求解算法MREP,而且MREP算法切实可行,在并行任务执行可靠性、并行任务执行成功率和完成时间方面都表现出较好的性能。

Description

一种云环境下执行可靠性感知的并行任务调度方法
【技术领域】
本发明涉及云计算技术领域,尤其是涉及一种云环境下执行可靠性感知的并行任务调度方法。
【背景技术】
公知的,由于云计算建立在大规模廉价的服务器集群上,导致计算节点软硬件、通信链路极容易出现故障,即不同的计算节点和通信链路表现出不同的故障率,云计算是分布式计算、并行处理和网格计算的进一步发展,是基于互联网的计算,能够通过互联网以按需、易扩展的方式提供硬件服务、基础架构服务、平台服务、软件服务、存储服务等的系统,在“云”中,集聚了大量的服务器、存储设备和应用软件,用户通过访问这些资源,就可以方便获取自己所需要的服务,如数据访问、特定计算服务等。
云计算整合了Internet上分布的、异构的各种资源,其资源性能千差万别,软硬件故障、网络中断都可以导致资源不能运行提交给它的任务,然而,现实中的有些重要应用,例如核电站、飞行控制、交通指挥调度等系统对计算任务的成功执行有着严格的要求,提高这些计算任务的执行成功率至关重要,由于计算资源计算速度、通信链路通信速度以及它们的故障率的不同,同一任务在不同计算资源上的执行成功率不同,对于任务之间存在优先级约束和数据依赖关系的并行任务来说,提高并行任务执行成功率的关键是制定有效的任务调度策略,确保任务高可靠执行已成为云计算当前研究的热点,在云环境下,云用户通常是按自己所实际获得的服务质量对服务进行付费的,而服务的完成时间和可靠性是评估服务质量的两个重要的评价标准,通常,云服务完成任务所用的时间越短、服务越可靠,费用越高,终端用户出于计算成本的考虑,可在应用服务的完成时间和可靠性之间进行折中。
在多任务多机环境下,调度问题的实质是将m个任务分配到n个机器上执行,一般来说,调度问题属于NP问题,很难找到最优解,因此,通常是寻求次优解,针对多机环境中的并行任务调度问题,通常的调度方法有:(1)表调度算法,基本思想是根据所有任务的优先级别进行排序,来构造一个调度列表,然后按某种策略把任务调度到处理机上执行,这类调度算法典型的有:HEFT(HeterogeneousEarliestFinish time),,CPOP(Critical Path Ona Proeessor),DLS(dynamic levelseheduling)等,与其它种类调度算法相比,表调度算法的时间复杂度相对较低,比较实用;(2)基于任务复制的调度算法,主要思想是将一个任务分别映射到两个或多个处理机上执行,以降低该任务和关联任务之间的通信开销,前提是任务的冗余计算开销要小于通信开销,这类算法典型的有:DSH(Duplication SchedulingHeuristic),CPFD(Critical Path Fast Duplication)等;(3)基于任务分簇的调度算法,基本思想是将同一个簇中的任务分配到同一个处理机上执行,避免了同一簇中任务之间的通信开销,典型的算法是DSC(Dominant Sequence Clustering)算法;(4)非确定性调度算法,它主要是通过有导向的随机选择来搜索问题的解空间,以便获取调度目标的近优解。
上述并行任务调度算法都属于性能驱动,以优化系统性能为目标,包括最小化任务运行时间和最大化系统吞吐量,这些调度算法都未考虑资源节点的可靠性,近年来,一些研究工作开始将资源节点的可靠性作为并行任务调度的重要因素,He等将可靠性代价(Reliability Cost,RC)作为调度目标,来提高并行任务运行的可靠性,其中可靠性代价定义为任务在处理机上的执行时间与处理机故障率的乘积,由此提出了MCMS和PRMS调度算法,优先将任务调度到可靠性代价(RC)最低的资源节点上,提高作业运行的可靠性;Qin等人提出了动态可靠性成本驱动DRCD(Dynamic Reliability-Cost-Driven)的调度算法,每个实时子任务被分配到有最小可靠性成本的处理机上执行,从而增强系统的可靠性,在假定并行系统失效率遵循泊松过程的条件下,针对异构系统提出了一种折衷调度长度和任务执行可靠性的调度算法;Tang等针对异构分布计算系统中处理部件和通信链路存在失效的情况,提出可靠性感知的调度算法RASD(reliability-aware scheduling algorithmwithDuplication),对可用的通信链路根据可靠度进行排列,以此作为任务调度的依据,在网格环境下,提出分层可靠性驱动任务调度HRDS(Hierarchical Reliability-DrivenScheduling)算法,该算法把任务执行可靠性开销融入任务调度,对于未调度任务集中的每个任务,将其调度到可靠性开销最小的节点上执行;陶永才提出网格工作流作业可靠调度算法DGWS(DependableGridWorkflow Scheduling mechanism),对于DAG工作流的每一个子任务,根据其运行时间长度,预测该子任务在不同资源节点上成功运行的可靠性,将子任务调度到可靠性代价最低的资源节点上执行;谢国琪等人通过分析DAG图中任务间的依赖关系,确定DAG任务的可靠性概率模型,给出了满足可靠性目标的任务复制下限值算法,提出经济的任务复制策略算法和贪婪的任务复制策略算法。
上述算法,都是启发式的将每个就绪任务调度到使任务执行可靠性最大的处理机上,但是,任务局部的最大可靠性调度,不一定能使整个并行任务的执行可靠性最大,此外,上述增强并行任务执行可靠性的调度算法,都没有考虑并行任务的完成截止时间的要求。
【发明内容】
为了克服背景技术中的不足,本发明公开了一种云环境下执行可靠性感知的并行任务调度方法,本发明针对用户对并行任务有完成截止时间和执行可靠性的要求,根据云计算系统的计算资源和通信设备的故障率服从指数分布的特点,生成并行任务在云计算系统上执行的所有执行方案,将这些执行方案构建执行方案图,基于执行方案图,提出满足并行任务完成截止时间要求的最大可靠性执行方案求解算法MREP。
为了实现所述发明目的,本发明采用如下技术方案:
一种云环境下执行可靠性感知的并行任务调度方法,具体调度方法如下:
第一步,将并行任务的有向无环图中的各个子任务分配到处理机上进行并行协同计算,任务统一由中心调度器管理并将每个子任务分配到合适的处理机上,通信由通信子系统控制执行,并行任务的子任务在不同计算资源上的执行时间可用执行时间矩阵Tn×m来表示:Tn×m={tij|1≤i≤n,1≤j≤m},其中tij表示任务vi在处理机pj上执行所需的时间;
第二步,任务vi在处理机pj上的执行可靠性定义为处理机pj成功完成任务vi的概率,若处理机pj的故障率λj服从指数分布,pj完成任务vi所需的时间为ti,j,则任务vi在处理机pj上的执行可靠性PR(vi,pj)=exp(-λjti,j),其中,λjti,j称为任务执行的可靠性代价,任务执行可靠性越大,任务执行的可靠性代价越小,任务执行可靠性越小,任务执行的可靠性代价越大,任务执行可靠性由处理机的处理速度和处理机的故障率共同决定,任务vi被调度到处理机ps上,vi的直接后继任务vj被调度到处理机pd上,vi与vj间需要传输的数据为di,j,当di,j从处理机ps传输到处理机pd所经过的通信路径为li,j=(li,1,li,2,…,li,m),li,k(k=1…m)表示通信路径li,j所经过的邻接通信链路;当di,j经过邻接链路li,k所用的时间为ti,k,邻接链路li,k的故障率为λi,k,各个邻接链路的失效事件相互独立,则数据di,j在通信路经li,j上的传输可靠性TR(di,j,li,j),即在通信路经li,j上成功传输数据di,j的概率,为di,j在每个邻接链路上成功传输的概率的乘积:
式子一
Figure GDA0001340779270000051
其中,
Figure GDA0001340779270000052
称为数据di,j在通信路经li,j上的传输可靠性代价,由公式(1)可知: 最大化数据di,j的传输可靠性,即为最小化传输可靠性代价
Figure GDA0001340779270000053
第三步,有前驱的子任务vj能在处理机pd上成功完成的条件是:vj和其前驱任务vi∈pred(vj)间需要传输的数据成功传输到处理机pd上;处理机pd在完成任务vj的时间段内不失效,即任务vj在处理机pd上的执行可靠性依赖于vj在pd上的独立的任务执行可靠性和vj所依赖数据的传输可靠性,令p(vi)表示执行任务vi的处理机,则vj在pd上的执行可靠性记为PPR(vj,pd),以便和独立任务执行可靠性PR相区别,PPR(vj,pd)的计算公式如下:
式子二
Figure GDA0001340779270000061
对于入口任务ventry来说,由于其前驱任务集
Figure GDA0001340779270000062
因而其可靠性由其独立的任务执行可靠性决定,即PPR(ventry,p(ventry))=PR(ventry,p(ventry));
对于并行任务在云计算系统Cloud上的一种调度执行,令RC表示并行任务各子任务在其所分配的处理机上独立执行的可靠性代价与任务间的依赖数据在处理机间传输的可靠性代价之和,则该调度执行的执行可靠性PPR(DAG,Cloud)为:
定理一:
PPR(DAG,Cloud)=PPR(vexit,p(vexit))=exp(-RC)
证明:在并行任务DAG的调度执行过程中,DAG的一个子任务只有在它的全部前驱任务成功完成,且该任务和它们间的依赖数据成功传输到该任务所在的处理机,该任务才能开始执行,因而,对于并行任务DAG在云计算系统上的一种调度执行,并行任务被成功完成的可靠性的大小,可从任务ventry所在的处理机开始,递推计算每个子任务在其被分配的处理机上的执行可靠性,直至出口任务vexit,即并行任务DAG在云计算系统上的执行可靠性,就是vexit在其所在的处理机上的执行可靠性PPR(vexit,p(vexit))。假定并行任务DAG边ei,j上的数据di,j在p(vi)和p(vj)间传输,所经过的链路个数为mij。由(2)式知,PPR(vexit,p(vexit))可表示为:
式子三
Figure GDA0001340779270000071
对式三逐步进行扩展:
Figure GDA0001340779270000072
Figure GDA0001340779270000073
证毕;
定理一可知,提高并行任务的执行可靠性,相当于降低并行任务的子任务独立执行的可靠性代价与任务间依赖数据传输的可靠性代价之和RC,RC越小,并行任务的执行可靠性越高;
第四步,当子任务va被调度到处理机psrc,va的直接后继任务vb被调度到处理机pdst,则这两个任务间的依赖数据da,b必须从处理机psrc传输到处理机pdst,从处理机psrc到处理机pdst可能存在多条通信路径,由4.2节知:求数据da,b的最大可靠性传输路径,就是求数据da,b在两个处理机间有最小传输可靠性代价的路径,下面给出数据在两处理机间的最大可靠性传输路径查找算法Maximal Reliability Communication Path。
所述算法Maximal Reliability Communication Path为:
Figure GDA0001340779270000074
Figure GDA0001340779270000081
Figure GDA0001340779270000091
在两个嵌套的循环中,第一个循环至多运行m次,第二个循环至多运行m-1次,因此上述算法的时间复杂度为O(m2),path[dst]的元素就是数据da,b从处理机psrc传输到处理机pdst的最大可靠性传输路径依次经过的处理机,dist[dst]的值就是最大可靠性传输路径对应的传输可靠性代价。
所述算法Maximal Reliability Communication Path为:
Figure GDA0001340779270000092
Figure GDA0001340779270000101
Figure GDA0001340779270000111
所述算法Maximal Reliability Communication Path为:
Figure GDA0001340779270000112
Figure GDA0001340779270000121
算法的复杂性分析:算法的复杂性主要由第二个for循环决定,该循环外层循环N次,内层循环N次,其中N为并行任务执行方案图ESG的节点个数为n×m,因此算法的时间复杂度为O((nm)2)。
由于采用了上述技术方案,本发明具有如下有益效果:
本发明所述的一种云环境下执行可靠性感知的并行任务调度方法,包括,通过的目的;本发明实用性强,使用都非常的方便,针对用户对并行任务有完成截止时间和执行可靠性的要求,根据云计算系统的计算资源和通信设备的故障率服从指数分布的特点,生成并行任务在云计算系统上执行的所有执行方案,将这些执行方案构建执行方案图,基于执行方案图,提出满足并行任务完成截止时间要求的最大可靠性执行方案求解算法MREP,最后,通过实验将MREP算法与HEFT算法和PRMS算法在低故障率和高故障率两种环境下进行比较,实验结果表明所提MREP算法切实可行,在并行任务执行可靠性、并行任务执行成功率和完成时间方面都表现出较好的性能。
【附图说明】
图1为本发明的并行任务DAG示意图;
图2为本发明的包含4个处理机节点的云计算系统图型拓扑图;
图3为图1的并行任务DAG在图2的云计算系统上执行的执行方案图ESG;
图4为本发明的低故障率下的平均执行可靠性代价与DAG子任务个数变化情况示意图;
图5为本发明的低故障率下的平均成功率与DAG子任务个数变化情况示意图;
图6为本发明的低故障率下的平均完成时间与DAG子任务个数变化情况示意图;
图7为本发明的高故障率下的平均执行可靠性代价与DAG子任务个数变化情况示意图;
图8为本发明的高故障率下的平均完成率与DAG子任务个数变化情况示意图;
图9为本发明的高故障率下的平均完成时间与DAG子任务个数变化情况示意图;
【具体实施方式】
通过下面的实施例可以详细的解释本发明,公开本发明的目的旨在保护本发明范围内的一切技术改进。
结合附图1~9所述的一种云环境下执行可靠性感知的并行任务调度方法,云计算用户的需求多种多样,所提交的任务类型不尽相同,根据任务之间是否具有相关性,任务可以分为独立任务和并行任务两种,独立任务是由一个或多个子任务组成,子任务间的执行顺序无数据依赖先后关系,是云计算任务的特殊形式,并行任务是由多个子任务组成,子任务间执行时具有数据先后依赖关系,表现为一个任务在获得它的父任务所有信息之前不能启动执行,是云任务的一般形式。
定义1并行任务:一个并行任务可抽象表示为一个有向无环图DAG,即一个四元组DAG=(V,E,W,D),其中V={v1,v2,…,vn}表示任务的集合,n表示任务的个数;
Figure GDA0001340779270000141
表示有向边的集合,即任务之间依赖关系的集合;W={w1,w2,…,wn}是子任务的计算量集合,wi∈W表示子任务vi的计算量,例如子任务的总指令数或运算量等;dij∈D表示有向边eij两端点间需要传输的数据量。
结合附图1和2所述一种云环境下执行可靠性感知的并行任务调度方法,一个包含6个子任务的并行任务图,圆圈内的vi表示节点的编号,圆圈旁边的数字表示任务节点的计算量,有向边旁边的数字表示节点间的通信量,通过处理,一般可假设并行任务DAG图只有一个入口节点和一个出口节点。
一个云计算系统可看做是资源的集合,按某种资源分配策略为用户服务请求分配资源,在我们的模型中,假定云计算环境是由大量异构处理机机群组成的云计算中心,由该云中心提供多种云服务应用,在云环境中,由于处理机接入的时间、方式的不同,导致云环境中的计算节点间的连接方式复杂多样,此外,不同类型处理机的计算性能也可能差别很大,不同处理机的故障率也不相同,不同通信链路的通信带宽,以及故障率也不相同。
定义2图云计算系统:一个现实的云计算系统可抽象描述为一图形结构,即一个六元组Cloud=(P,E,S,B,Λpe),其中P={p1,p2,...,pm}代表处理机集,m为处理机的总数;E={ei,j|pi,pj∈P}代表处理机间的通信链路集,ei,j表示处理机pi和处理机pj之间有链路直接相连;S是处理机处理速度的集合,处理机的处理速度指的是处理单位负载所用的时间;B={bi,j|pi,pj∈P,ei,j∈E}是E中邻接链路的通信带宽的集合,bi,j∈B是通信链路ei,j=(pi,pj)∈E两端点间传输单位数据所用的时间;Λp是处理机故障率的集合,
Figure GDA0001340779270000151
表示处理机pi的故障率;Λe是通信链路故障率的集合,
Figure GDA0001340779270000161
是通信链路ei,j的故障率。
结合附图2所述一种云环境下执行可靠性感知的并行任务调度方法,圆圈内的pi表示系统中的处理机编号,圆圈旁边的数字表示处理机的处理速度,边上的数字表示链路的通信带宽。
以往的调研和统计表明:由集成电路构成的计算机处理硬件和通信设备的故障过程都遵循泊松过程,其故障率服从指数分布,这些故障率可以由基础设施资源站点的本地服务器,根据系统配置、日志文件和统计分析技术来确定。
所谓图云计算系统下的并行任务调度,就是将并行任务DAG图中的各个子任务,在充分考虑任务间的依赖关系的基础上,将各子任务分配到处理机上进行并行协同计算的过程。在本文图云计算系统下,假定子任务具有原子性,不可再细分,任务的执行是非抢占的,任务统一由中心调度器管理,按照某种策略将每个子任务分配到合适的处理机上,调度器与各处理机独立运行,通信由通信子系统控制执行,通信操作可以并发执行,暂不考虑通信冲突情况,若具有依赖关系的两个任务分配到同一个处理机内执行,则它们之间的通信时间忽略;若分配到两个不同的处理机上执行,则它们之间的通信时间为数据在各个链路上的通信时间之和,并行任务的子任务在不同计算资源上的执行时间可用执行时间矩阵Tn×m来表示:Tn×m={tij|1≤i≤n,1≤j≤m},其中tij表示任务vi在处理机pj上执行所需的时间。
定义3:任务vi在处理机pj上的执行可靠性定义为处理机pj成功完成任务vi的概率,若处理机pj的故障率λj服从指数分布,pj完成任务vi所需的时间为ti,j,则任务vi在处理机pj上的执行可靠性PR(vi,pj)=exp(-λjti,j),其中,λjti,j称为任务执行的可靠性代价。
从PR(vi,pj)的定义可知:任务执行可靠性越大,任务执行的可靠性代价越小,反之亦然,也就是说,任务执行可靠性由处理机的处理速度和处理机的故障率共同决定,这比假定处理机的可靠性是个常数更符合实际,因为处理机运行时间越长,出故障的概率越大。
若任务vi被调度到处理机ps上,vi的直接后继任务vj被调度到处理机pd上,vi与vj间需要传输的数据为di,j,假设di,j从处理机ps传输到处理机pd所经过的通信路径为li,j=(li,1,li,2,…,li,m),li,k(k=1…m)表示通信路径li,j所经过的邻接通信链路。假定di,j经过邻接链路li,k所用的时间为ti,k,邻接链路li,k的故障率为λi,k,各个邻接链路的失效事件相互独立,则数据di,j在通信路经li,j上的传输可靠性TR(di,j,li,j),即在通信路经li,j上成功传输数据di,j的概率,为di,j在每个邻接链路上成功传输的概率的乘积:
式子一:
Figure GDA0001340779270000171
其中,
Figure GDA0001340779270000172
称为数据di,j在通信路经li,j上的传输可靠性代价,由式子一可知:最大化数据di,j的传输可靠性,即为最小化传输可靠性代价
Figure GDA0001340779270000173
在并行任务DAG图中,有前驱的子任务vj能在处理机pd上成功完成的条件是:vj和其前驱任务vi∈pred(vj)间需要传输的数据成功传输到处理机pd上;处理机pd在完成任务vj的时间段内不失效,即任务vj在处理机pd上的执行可靠性依赖于vj在pd上的独立的任务执行可靠性和vj所依赖数据的传输可靠性。令p(vi)表示执行任务vi的处理机,则vj在pd上的执行可靠性记为PPR(vj,pd),以便和独立任务执行可靠性PR相区别,PPR(vj,pd)的计算公式如下:
式子二
Figure GDA0001340779270000181
对于DAG图中的入口任务ventry来说,由于其前驱任务集
Figure GDA0001340779270000182
因而其可靠性由其独立的任务执行可靠性决定,即PPR(ventry,p(ventry))=PR(ventry,p(ventry))。
定理1:对于并行任务DAG在云计算系统Cloud上的一种调度执行,令RC表示并行任务各子任务在其所分配的处理机上独立执行的可靠性代价与任务间的依赖数据在处理机间传输的可靠性代价之和,则该调度执行的执行可靠性PPR(DAG,Cloud)为:
PPR(DAG,Cloud)=PPR(vexit,p(vexit))=exp(-RC)
证明:在并行任务DAG的调度执行过程中,DAG的一个子任务只有在它的全部前驱任务成功完成,且该任务和它们间的依赖数据成功传输到该任务所在的处理机,该任务才能开始执行,因而,对于并行任务DAG在云计算系统上的一种调度执行,并行任务被成功完成的可靠性的大小,可从任务ventry所在的处理机开始,递推计算每个子任务在其被分配的处理机上的执行可靠性,直至出口任务vexit,即并行任务DAG在云计算系统上的执行可靠性,就是vexit在其所在的处理机上的执行可靠性PPR(vexit,p(vexit))。假定并行任务DAG边ei,j上的数据di,j在p(vi)和p(vj)间传输,所经过的链路个数为mij,由式子二知,PPR(vexit,p(vexit))可表示为:
式子三
Figure GDA0001340779270000191
对式子三逐步进行扩展:
Figure GDA0001340779270000192
Figure GDA0001340779270000193
证毕。
结合附图3所述一种云环境下执行可靠性感知的并行任务调度方法,为了得到并行任务在云计算系统上执行的最大可靠性执行方案,需要将并行任务在云计算系统上的所有执行方案表示出来,才可能从中找出执行可靠性最大的方案,因此,需要将并行任务的所有执行方案构建执行方案图ESG(Execution Scheme Graph),假定并行任务DAG的子任务个数为n,云计算系统的处理机数为m,本文构建并行任务执行方案图的基本思想是:第一步,生成DAG满足子任务优先关系的可执行序列记为v1,v2,…,vn;第二步,构建并行任务执行方案图的节点和边,首先生成开始节点start,记为n0,0和结束节点end,记为nn+1,n+1两个虚节点,从步骤一生成的可执行序列中取出第一个子任务v1,依次生成节点n1,1,n1,2,……n1,m,生成从n0,0节点到节点n1,1,n1,2,……n1,m的有向边,其中,n1,j表示任务v1被分配到处理机pj上;从可执行序列中取出下一个任务,重复上述过程直到生成节点nn,1,nn,2,……nn,m,生成节点nn,1,nn,2,……nn,m到节点nn+1,n+1的有向边,附图3为附图1的并行任务DAG在附图2的云计算系统上执行的执行方案图ESG,ESG可表示为一个四元组,即ESG=(N,E,NRC,ERC),其中N、E、NRC和ERC分别表示ESG的节点集、边集、节点的可靠性代价集和边的可靠性代价集,ni,1,ni,2,…,ni,m称为ESG的第i层节点,从节点n0,0到节点nn+1,n+1每条路径所经过的节点序列,都代表并行任务在计算系统上的一种执行方案,第三步,生成ESG节点的可靠性代价,ni,j(i=1…n,j=1…m)的可靠性代价nrci,j为任务vi在处理机pj上执行的可靠性代价ti,jλj,节点n0,0和节点nn+1,n+1的可靠性代价都为0,第四步,生成ESG边的可靠性代价,由节点n00发出的边和进入节点nn+1,n+1的边的可靠性代价都为0;若第i层节点上的任务在DAG中是第i+1层节点上任务的直接前驱,则第i层上的ni,x和则第i+1层上的ni+1,y之间的边e(i,x),(i+1,y)的可靠性代价erc(i,x),(i+1,y)为数据di,i+1从处理机px传输到处理机py的最小传输可靠性代价;否则继续向上一层查找节点上的任务是不是直接前驱,假定查到i-k层上的任务是第i+1层节点上任务的直接前驱,则连接ni,x和ni+1,y的边的可靠性代价为数据di-k,i+1从处理机px传输到处理机py的最小传输可靠性代价。
由定理1可知,提高并行任务的执行可靠性,相当于降低并行任务的子任务独立执行的可靠性代价与任务间依赖数据传输的可靠性代价之和RC,RC越小,并行任务的执行可靠性越高。
定理2:在并行任务执行方案图ESG中,从start节点到end节点间的可靠性代价最短路径经过的节点所对应的任务/处理机的分配方案,就是并行任务在云计算系统上执行的最大可靠性执行方案。
证明:在并行任务执行方案图中,对任意一子任务vi∈V,都生成m个节点,对任意一条通信边ei,j∈E,在并行任务执行方案图上都生成了m2个边,m为处理机的个数,即生成的执行方案图包括了任务vi和vj所有的执行方式和ei,j所有的通信方式,所以,并行任务在云计算系统上的任何一种执行方案,都能在并行任务执行方案图中找到一条从start节点到end节点的一条路径与之对应,反之亦然,因此,在并行任务执行方案图中,从start节点到end节点的最短路径经过的节点所对应的任务/处理机的分配,就是并行任务在云计算系统上执行的最大可靠性执行方案。证毕。
基于并行任务执行方案图构建算法PTESG生成的并行任务执行方案图,下面我们给出并行任务最大的可靠性执行方案求解算法MREP(Maximal Reliability ExecutionPath),算法的主要思想是:用邻接矩阵c表示ESG,设置节点集合S并不断扩充这个集合,一个节点属于集合S当且仅当从start节点到该节点的最短路径长度即可靠性代价已知,初始时S中仅含有start节点,设u是ESG的某一个节点,把从start到u且中间只经过S中节点的路径称为从start到u的特殊路径,并用数组dist记录当前每个节点所对应的最短特殊路径长度,每次从N-S中取出具有特殊路径长度的节点u,将u添加到S中,同时对数组dist做必要的修改,其中N为ESG的节点集,当S中包含了N中的所有节点,dist就记录了从start到所有其它节点之间的最小可靠性代价。用数组prev[i]记录从start到节点i的最小可靠性代价路径上的前一个节点。算法终止时,可根据数组prev找到从start到end的最小可靠性代价路径上的每个节点。
通过模拟实验来测试本发明所提出的最大可靠性执行方案求解算法MREP的有效性,我们采用云仿真软件Cloudsim3.0对并行任务的执行进行模拟实验,CloudSim模拟实验的主要流程如下:按设置的参数初始化各个离散对象→启动仿真→资源注册→代理broker向信息中心查询资源→计算云任务在计算资源上的执行可靠性→按设定的调度策略为任务分配相匹配的资源→云资源执行任务→任务执行完成→返回最终结果→结束仿真,我们采用Java语言编写仿真程序,开发环境为基于Java的、开放源代码的可扩展集成开发平台Eclipse,CloudSim3.0模拟程序运行在Intel奔腾双核E5800、3.2GHz、1GB DDR3、WindowsXP专业版32位SP3操作系统的戴尔台式机上。
评价指标:第一,可靠性代价:为并行任务的子任务独立执行的可靠性代价与任务间依赖数据传输的可靠性代价之和;第二,平均成功率:表示成功运行的任务数与提交的总任务数之间的比值;第三,完成时间:表示从任务提交到得到任务结果的时间。
结合附图4~9所述一种云环境下执行可靠性感知的并行任务调度方法,实验分析故障率程度不同的处理机对并行任务平均可靠性代价、平均成功率和平均完成时间的影响,为评价发明所提算法的性能,将发明算法与HEFT算法和PRMS算法在低故障率程度和高故障率程度情况下进行比较,并行任务DAG图随机生成,任务的个数、每个子任务的大小、任务间的通信量,以及处理机的处理能力、故障率,处理机间邻接链路的通信带宽、故障率等都在预定范围内以规定的概率产生,实验过程中每种规模的任务执行多次调度算法,并行任务执行可靠性代价、成功率和完成时间取其平均值,附图4和附图5所示为不同故障率程度下并行任务调度算法的性能比较,由附图4可知,在处理机故障率比较低的情况下,HEFT和MREP表现比较好,但PRMS表现最差,由附图5所知,在处理机故障率比较高的情况下,HEFT表现最差,MREP最好。
HEFT算法调度任务时,将任务尽可能调度到具有最早完成时间的处理机上,而不考虑处理机执行任务的可靠性,因此,在稳定的环境下,HEFT性能最好,PRMS和MREP在调度时,都考虑了任务在处理机上运行的可靠性代价,MREP还考虑了通信的可靠性代价,在稳定的资源环境下,计算可靠性代价会带来额外的计算开销,从而导致任务完成时间延长,在不稳定的处理机环境下,频繁的处理机故障导致HEFT任务失败率高,再调度故障任务将增加任务的完成时间。
PRMS算法基于ALAP,在稳定的计算环境下,HEFT算法在表调度算法中表现最优,ALAP算法则较差;PRMS算法首先基于ALAP生成任务调度列表,然后从任务调度列表中取出具有最早开始时间的任务,为其选择新的完成时间要早于ALAP调度值且可靠性代价最小的资源,但其每次局部选择资源并不能保证并行任务整体执行可靠性最高。
本发明的MREP算法是在并行任务的所有可靠性执行方案中,求出最小可靠性代价路径所对应的执行方案作为调度方案,虽然求解最大可靠性执行方案带来了额外计算开销,但相比重新调度多个故障任务重新执行将增加任务的完成时间是值得的,处理机的故障率大小其实也体现了处理机处理能力的快慢,通常处理速度较快的处理机,其发生故障的概率也越小,可执行方案的可靠性代价越小意味着较小的处理故障率、较小的任务执行时间,因此MREP算法表现出较好的性能。
本发明未详述部分为现有技术,尽管结合优选实施方案具体展示和介绍了本发明,具体实现该技术方案方法和途径很多,以上所述仅是本发明的优选实施方式,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (2)

1.一种云环境下执行可靠性感知的并行任务调度方法,其特征是:具体调度方法如下:
第一步,将并行任务的有向无环图中的各个子任务分配到处理机上进行并行协同计算,任务统一由中心调度器管理并将每个子任务分配到合适的处理机上,通信由通信子系统控制执行,并行任务的子任务在不同计算资源上的执行时间可用执行时间矩阵Tn×m来表示:Tn×m={tij|1≤i≤n,1≤j≤m},其中tij表示任务vi在处理机pj上执行所需的时间;
第二步,任务vi在处理机pj上的执行可靠性定义为处理机pj成功完成任务vi的概率,若处理机pj的故障率λj服从指数分布,pj完成任务vi所需的时间为ti,j,则任务vi在处理机pj上的执行可靠性PR(vi,pj)=exp(-λjti,j),其中,λjti,j称为任务执行的可靠性代价,任务执行可靠性越大,任务执行的可靠性代价越小,任务执行可靠性越小,任务执行的可靠性代价越大,任务执行可靠性由处理机的处理速度和处理机的故障率共同决定,任务vi被调度到处理机ps上,vi的直接后继任务vj被调度到处理机pd上,vi与vj间需要传输的数据为di,j,当di,j从处理机ps传输到处理机pd所经过的通信路径为li,j=(li,1,li,2,…,li,m),li,k,k=1…m表示通信路径li,j所经过的邻接通信链路;当di,j经过邻接链路li,k所用的时间为ti,k,邻接链路li,k的故障率为λi,k,各个邻接链路的失效事件相互独立,则数据di,j在通信路经li,j上的传输可靠性TR(di,j,li,j),即在通信路经li,j上成功传输数据di,j的概率,为di,j在每个邻接链路上成功传输的概率的乘积:
式子一
Figure FDA0002949659400000011
其中,
Figure FDA0002949659400000021
称为数据di,j在通信路经li,j上的传输可靠性代价,由公式(1)可知:最大化数据di,j的传输可靠性,即为最小化传输可靠性代价
Figure FDA0002949659400000022
第三步,有前驱的子任务vj能在处理机pd上成功完成的条件是:vj和其前驱任务vi∈pred(vj)间需要传输的数据成功传输到处理机pd上;处理机pd在完成任务vj的时间段内不失效,即任务vj在处理机pd上的执行可靠性依赖于vj在pd上的独立的任务执行可靠性和vj所依赖数据的传输可靠性,令p(vi)表示执行任务vi的处理机,则vj在pd上的执行可靠性记为PPR(vj,pd),以便和独立任务执行可靠性PR相区别,PPR(vj,pd)的计算公式如下:
式子二
Figure FDA0002949659400000023
对于入口任务ventry来说,由于其前驱任务集
Figure FDA0002949659400000024
因而其可靠性由其独立的任务执行可靠性决定,即PPR(ventry,p(ventry))=PR(ventry,p(ventry));
对于并行任务在云计算系统Cloud上的一种调度执行,令RC表示并行任务各子任务在其所分配的处理机上独立执行的可靠性代价与任务间的依赖数据在处理机间传输的可靠性代价之和,则该调度执行的执行可靠性PPR(DAG,Cloud)为:
定理一:
PPR(DAG,Cloud)=PPR(vexit,p(vexit))=exp(-RC)
证明:在并行任务DAG的调度执行过程中,DAG的一个子任务只有在它的全部前驱任务成功完成,且该任务和它们间的依赖数据成功传输到该任务所在的处理机,该任务才能开始执行,因而,对于并行任务DAG在云计算系统上的一种调度执行,并行任务被成功完成的可靠性的大小,可从任务ventry所在的处理机开始,递推计算每个子任务在其被分配的处理机上的执行可靠性,直至出口任务vexit,即并行任务DAG在云计算系统上的执行可靠性,就是vexit在其所在的处理机上的执行可靠性PPR(vexit,p(vexit));假定并行任务DAG边ei,j上的数据di,j在p(vi)和p(vj)间传输,所经过的链路个数为mij;由(2)式知,PPR(vexit,p(vexit))可表示为:
式子三
Figure FDA0002949659400000031
对式三逐步进行扩展:
Figure FDA0002949659400000032
Figure FDA0002949659400000033
证毕;
定理一可知,提高并行任务的执行可靠性,相当于降低并行任务的子任务独立执行的可靠性代价与任务间依赖数据传输的可靠性代价之和RC,RC越小,并行任务的执行可靠性越高;
第四步,当子任务va被调度到处理机psrc,va的直接后继任务vb被调度到处理机pdst,则这两个任务间的依赖数据da,b必须从处理机psrc传输到处理机pdst,从处理机psrc到处理机pdst可能存在多条通信路径,求数据da,b的最大可靠性传输路径,就是求数据da,b在两个处理机间有最小传输可靠性代价的路径,下面给出数据在两处理机间的最大可靠性传输路径查找算法Maximal Reliability Communication Path;
所述算法Maximal Reliability Communication Path为:
输入:并行任务图DAG=(V,E,W,D),云计算系统Cloud=(P,E,S,B,Λpe),任务执行时间矩阵T
输出:并行任务执行方案图ESG=(N,E,NRC,ERC),N、E、NRC和ERC分别表示ESG的节点集、边集、节点的可靠性代价集和边的可靠性代价集
所述算法Maximal Reliability Communication Path为:
输入:并行任务执行方案图ESG=(N,E,NRC,ERC),并行任务要求的完成截止时间deadline;
输出:满足截止时间要求的最大可靠性执行方案Stact[]、方案的完成时间FT、方案的可靠性代价RC;
算法的复杂性分析:算法的复杂性主要由第二个for循环决定,该循环外层循环N次,内层循环N次,其中N为并行任务执行方案图ESG的节点个数为n×m,因此算法的时间复杂度为O((nm)2)。
2.根据权利要求1所述的一种云环境下执行可靠性感知的并行任务调度方法,其特征是:所述算法Maximal Reliability Communication Path为:
输入:并行任务图DAG=(V,E,W,D)中的任务va所在的源处理机psrc,任务vb所在的目的处理机pdst,从va到vb需要传输的数据量da,b,云计算系统Cloud=(P,E,S,B,Λpe);
输出:da,b从psrc到pdst的最大可靠性传输路径经过的处理机序列path[dst];
在两个嵌套的循环中,第一个循环至多运行m次,第二个循环至多运行m-1次,因此上述算法的时间复杂度为O(m2),path[dst]的元素就是数据da,b从处理机psrc传输到处理机pdst的最大可靠性传输路径依次经过的处理机,dist[dst]的值就是最大可靠性传输路径对应的传输可靠性代价。
CN201710227551.5A 2017-04-10 2017-04-10 一种云环境下执行可靠性感知的并行任务调度方法 Expired - Fee Related CN107038070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710227551.5A CN107038070B (zh) 2017-04-10 2017-04-10 一种云环境下执行可靠性感知的并行任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710227551.5A CN107038070B (zh) 2017-04-10 2017-04-10 一种云环境下执行可靠性感知的并行任务调度方法

Publications (2)

Publication Number Publication Date
CN107038070A CN107038070A (zh) 2017-08-11
CN107038070B true CN107038070B (zh) 2021-04-16

Family

ID=59534871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710227551.5A Expired - Fee Related CN107038070B (zh) 2017-04-10 2017-04-10 一种云环境下执行可靠性感知的并行任务调度方法

Country Status (1)

Country Link
CN (1) CN107038070B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815003B (zh) * 2017-11-21 2020-12-18 中国移动通信有限公司研究院 智能设备间协同计算方法、系统、智能设备和介质
CN108920261B (zh) * 2018-05-23 2020-03-24 中国航天系统科学与工程研究院 一种适于大规模并行数据处理任务的两级自适应调度方法
CN109189572B (zh) * 2018-08-02 2021-06-04 中兴飞流信息科技有限公司 一种资源预估方法及系统、电子设备和存储介质
CN109240817B (zh) * 2018-08-31 2021-11-02 湘潭大学 一种用于分布式系统的双目标快速优化任务调度方法
CN109656267B (zh) * 2018-12-24 2022-03-15 中国航空工业集团公司西安飞机设计研究所 飞行控制系统并行协同试验方法
CN109684062B (zh) * 2018-12-25 2020-10-20 人和未来生物科技(长沙)有限公司 基于成本的跨云平台任务调度方法和系统
CN109783213B (zh) * 2018-12-28 2021-02-19 杭州电子科技大学 一种边缘计算环境下针对可靠性的工作流容错调度方法
CN109933506A (zh) * 2019-03-20 2019-06-25 浪潮商用机器有限公司 服务器大数据性能评价方法、系统及电子设备和存储介质
CN112580828B (zh) * 2019-09-30 2023-10-24 北京天诚同创电气有限公司 确定运维时间的方法以及运维任务调配系统
CN112181620B (zh) * 2020-09-27 2022-09-20 郑州轻工业大学 云环境下虚拟机服务能力感知的大数据工作流调度方法
CN113485819A (zh) * 2021-08-03 2021-10-08 北京八分量信息科技有限公司 异构任务的预处理方法、装置及相关产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845075A (zh) * 2006-05-11 2006-10-11 上海交通大学 面向服务的网格高性能计算作业调度方法
CN102799474A (zh) * 2012-06-21 2012-11-28 浙江工商大学 一种基于可靠性驱动的云资源容错调度方法
CN104360903A (zh) * 2014-11-18 2015-02-18 北京美琦华悦通讯科技有限公司 Spark作业调度系统中实现任务数据解耦的方法
CN105912390A (zh) * 2016-04-07 2016-08-31 四川大学 云计算环境下基于模板的任务调度策略

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845075A (zh) * 2006-05-11 2006-10-11 上海交通大学 面向服务的网格高性能计算作业调度方法
CN102799474A (zh) * 2012-06-21 2012-11-28 浙江工商大学 一种基于可靠性驱动的云资源容错调度方法
CN104360903A (zh) * 2014-11-18 2015-02-18 北京美琦华悦通讯科技有限公司 Spark作业调度系统中实现任务数据解耦的方法
CN105912390A (zh) * 2016-04-07 2016-08-31 四川大学 云计算环境下基于模板的任务调度策略

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Reliability-aware scheduling strategy for heterogeneous distributed computing systems;Xiaoyong Tang .etal;《J.Parallel Distrib.Comput.》;20101231;第70卷;第941-952页 *
异构并行分布式系统可信调度理论与方法研究;唐小勇;《万方数据》;20131129;第1-124页 *

Also Published As

Publication number Publication date
CN107038070A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
CN107038070B (zh) 一种云环境下执行可靠性感知的并行任务调度方法
Jalaparti et al. Network-aware scheduling for data-parallel jobs: Plan when you can
Braun et al. A taxonomy for describing matching and scheduling heuristics for mixed-machine heterogeneous computing systems
Garg et al. Adaptive workflow scheduling in grid computing based on dynamic resource availability
Rahman et al. A dynamic critical path algorithm for scheduling scientific workflow applications on global grids
JP4781089B2 (ja) タスク割り当て方法およびタスク割り当て装置
Cheng et al. Cross-platform resource scheduling for spark and mapreduce on yarn
Prodan et al. Overhead analysis of scientific workflows in grid environments
US20060218551A1 (en) Jobstream planner considering network contention & resource availability
US8843929B1 (en) Scheduling in computer clusters
Renart et al. Distributed operator placement for IoT data analytics across edge and cloud resources
US20130268941A1 (en) Determining an allocation of resources to assign to jobs of a program
Luo et al. Erms: Efficient resource management for shared microservices with SLA guarantees
Gu et al. Performance analysis and optimization of distributed workflows in heterogeneous network environments
Souza et al. Hybrid resource management for HPC and data intensive workloads
CN116932201A (zh) 一种面向深度学习训练任务的多资源共享调度方法
Decker et al. Heuristic scheduling of grid workflows supporting co-allocation and advance reservation
Liu et al. Reliability modelling and optimization for microservice‐based cloud application using multi‐agent system
Li et al. Cost-efficient fault-tolerant workflow scheduling for deadline-constrained microservice-based applications in clouds
Nascimento et al. Managing the execution of large scale MPI applications on computational grids
Batista et al. Scheduling grid tasks in face of uncertain communication demands
Ghafouri et al. An adaptive and deadline-constrained workflow scheduling algorithm in infrastructure as a service clouds
Capannini et al. A job scheduling framework for large computing farms
Nardelli QoS-aware deployment and adaptation of data stream processing applications in geo-distributed environments
Bittencourt et al. A dynamic approach for scheduling dependent tasks on the xavantes grid middleware

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210416

CF01 Termination of patent right due to non-payment of annual fee