混合云环境下带截止日期约束工作流组的在线优化调度方法

文档序号:9506624阅读:615来源:国知局
混合云环境下带截止日期约束工作流组的在线优化调度方法
【技术领域】
[0001] 本发明涉及并行和分布式高性能计算的工作流组在线优化调度领域,特别是一种 混合云环境下带截止日期约束工作流组的在线优化调度方法。
【背景技术】
[0002] 通过虚拟化技术将计算和存储等资源有效整合,以按需付费方式提供给用户的云 计算网络是在IT产业实现资源高效利用最具前景的有效手段。云计算技术已成为近年来 研究的一个热点问题,许多信息技术公司,如IBM, Amazon, Google, Microsoft等,都先后 提出各自云计算系统的基本框架并提供相应的云服务。企业往往拥有具备一定计算和存储 能力的私有云中心,来处理它们的应用负载。然而某些特定时刻的高峰应用负载会超过企 业自身的处理能力,使其力有未逮。由于峰值罕见且企业在大部分时间里的处理能力能够 满足业务需求,所以虽然通过增加服务器资源可以解决峰值问题,但增加企业运营成本。为 了避免增添额外服务器容量的高昂费用,同时能有效处理罕见的业务峰值需求,企业利用 公有云资源来处理资源紧张的峰值问题,而利用本地基础设施来处理大部分的业务需求。 这将导致私有云与公有云之间的应用负载发生转移,形成多云交互的混合云环境。工作负 载共享能够扩大资源池容量,并提供更灵活和便宜的资源。任务调度本身就是一个NP完全 问题,由于不同服务提供商之间存在许多差异(如要价机制,传输带宽,实例类型等),所以 终端用户需要一种良好的调度策略来保证工作流组截止日期约束前提下,有效提高工作流 组的完成率,并大幅度减少其执行代价,这是一个带约束的多目标在线优化问题。虽然许多 相关研究工作已在传统分布式环境中展开,但涉及云环境的工作流组调度研究工作却相对 较少,特别是在IaaS混合云环境中处理带截止日期约束的复杂工作流组调度问题。
[0003] 工作流调度是一个传统的优化问题,它是在满足某些给定的约束前提下,将工作 流中的每个任务按序分配到对应资源中,从而获得最佳的预期结果。早期的研究工作主要 基于较为传统的多机处理时代,现有研究工作大多是针对共享社区环境(如社区网格)的工 作流调度问题而展开。无论是多机处理时代,还是社区网格环境,涉及工作流的研究工作主 要是满足用户服务质量需求或考虑最小化工作流执行时间,并未涉及基于工作流执行代价 的研究工作。
[0004] 传统分布式环境的工作流调度科研成果为云环境下工作流研究提供一定的借鉴 作用。然而,它们并非完全适用于按区间要价并以利益为驱动的云计算环境。现有云环境下 的研究工作主要是基于代价优化目标而展开。然而许多研究工作仅仅在单云环境下考虑带 约束条件的工作流代价优化调度,或者在离线环境中分析工作流组基于代价驱动的完成率 情况;或者未涉及不同带宽的混合云环境对工作流执行代价影响;或者在混合云环境下追 求代价最优,而忽略其他约束条件,如截止日期;或者忽略任务间的复杂依赖关系而仅考虑 混合云环境下批任务调度问题;或者在降低工作流代价过程中,没有考虑云环境按需付费, 按区间要价的基本性质。因此,在混合云环境中,带截止日期约束的大规模工作流组基于执 行代价驱动的完成率提高在线优化调度问题仍未得到妥善解决。

【发明内容】

[0005] 有鉴于此,本发明的目的是提供一种混合云环境下带截止日期约束工作流组的在 线优化调度方法,该方法基于工作流中子任务权重等权划分,任务间的数据传输时间和压 缩数据传输路径,有效整合混合云虚拟化资源,在满足工作流组截止日期约束的前提下,优 化资源利用率,有效提高工作流组的完成率,并大幅度降低工作流组的执行代价。
[0006] 本发明采用以下方案实现:一种混合云环境下带截止日期约束工作流组的在线优 化调度方法,包括以下步骤: 步骤Sl :私有云调度器周期性扫描待执行队列,检测待执行队列中的工作流组;给所 有工作流添加任务和和零数据依赖边;按最小最长负载量优先的排序原则, 排列扫描的工作流组,并依次调度,选取一最小最长负载量工作流Wa优先处理; 步骤S2 :确认并更新混合云环境所提供的有效计算服务类型;计算当前选中的所述工 作流Wa中所有任务的EST U),LFT U)和Tol U); 步骤S3 :判断所述工作流Wa是否能在私有云中被执行完成;若是,则在私有云中直接 调度可调度的任务组,并进入步骤S5 ;若否,则判断待执行队列中是否存在可交换工作流, 并进入步骤S4 ; 步骤S4 :若所述待执行队列中不存在可交换工作流,则在公有云中直接调度可调度的 任务组,进入步骤S5 ;若若所述待执行队列中存在可交换工作流,则与不可行工作流交换 后,间接调度可调度的任务组到对应的公有云中,进入步骤S5; 步骤S5 :更新任务组对应的所有未调度后继任务的ESTs和EFTs,更新资源状态; 步骤S6 :判断工作流组是否都已调度完成,若是,则输出调度方案;若否,则返回所述 步骤S2。
[0007] 进一步地,所述步骤Sl中可使用有向无环图$(匕式)表示所有工作流中第i个 工作流巧,其中K是工作流巧中拥有λ个有限任务节点的点集{ G G , G ,U,对于每个节点其自身都拥有一权重值Zo3岣,则对于同一个执行实例,假设权重值 越大的任务,其执行时间越长;其中式表示工作流巧中相邻任务之间传输数据依赖关系的 有限边集{, 每条存在依赖的数据边= (G ^7),表示 子任务^和子任务^之间存在传输数据依赖的关系,的大小则表示子任务^到子任务 G的传输数据量,且数据依赖边6?中的子任务^为子任务G的直接后继节点,而子任务匕 是子任务^的直接先驱节点。
[0008] 进一步地,所述最小最长负载量工作流Wa的最大路径负载量Load_longest_appa 为从工作流的入节点出发,到工作流的出节点结束的所有路径中,路径上所有任务负载量 总和最大的那条路径的总负载量,其具体定义如下:
其中表示以子任务?,为根的子树5(?*的最大路径负载量,即从根任 务G到子树sGV所有出任务的路径中,路径所有任务量总和最大的负载量,其具体定义如 下:
则当子树sGV仅含有一个任务G时,其最大路径负载量就是任务G的负载量,否则, 则是通过迭代的方式,寻找任务G的所有子任务中,含有最大路径负载量的子任务b
[0009] 进一步地,所述工作流进入待执行队列后被私有云预处理过程中的最长容忍 时间为Tb乙7;,在静态环境下,所述Tb乙7;等同于工作流对应的截止日期人在动态环境 下,如果工作流而无需等待而被立即执行,其最长容忍时间也与截止日期相等,否则, 其具体定义如下:
其中/5TtLr3表示工作流ra的被处理时刻,Jrtr3表示工作流ra的到达时刻;由于每 个工作流都有相应的数据依赖量,当一公有云处理工作流ra时,则把该工作流所需的数据 量/? ia (r3)从私有云传输到对应的公有云中,从私有云传输数据量/? ia (r3)到公有云所需 的传输时间为故工作流最长容忍时间在动态调度环境下的定义如下:
其中传输时间4的定义如下:
其中汉表不从私有云到公有云服务的传输带宽速度。
[0010] 进一步地,所述工作流而你每个子任务^未被实际调度前,利用迭代的方式分层 求解每一层子任务对应的预计最早开始时间Α5Τ( ?,),预计最迟结束时间Ζ/Τ( ?,)和容忍时 间Tb八G,对于工作流Fa的所有的入任务,其未调度前对应的容忍时间定义如下:
即通过子任务权重等权划分的方式来分配工作流最长容忍时间; 对于入所述所有任务,其预计最早开始时间Α5Τ(?,)和预计最迟结束时间Ζ/Τ(?,)的分 别定义如下:
[0011] 进一步地,所述迭代的方式分层求解每一层子任务具体为:当求解完第一层的所有入 任务容忍时间后,依次逐步求解后续层次的子任务容忍时间; 对于已求容忍时间任务匕的直接后继任务G而言,以G为根的子树最长容忍时间 计算如下:
对于入任务心它的子树最长容忍时间Tb乙与工作流的最长容忍时间Tb乙7;相 等;且由于个别中间层任务G有两个或两个以上直接先驱子任务b对于此类任务b如果 其某个先驱子任务G与其存在以下条件:
则实时迭代更新iy子树最长容忍时间Tb乙57;6;;:
计算第一层入子任务的对应容忍时间后和后续入任务对应的子树最长容忍时间,假 设性迭代删除第一层子入任务,则第二层子任务变成新结构工作流的入子任务,其对应的 子树最长容忍时间变成新结构工作流的最长容忍时间,依次迭代求解所有子任务的容忍时 间。
[0012] 进一步地,所述工作流Wa中的子任务G分配到私有云中实例私有代 iit veight{private, SprivatejMk, 定义如下:
其中是实例所含的CPU数量,2;4&\_>是子任务?,分配到私 有云中实例^中的时间; 所述工作流Wa在公有云中进行处理的其潜在执行代价/WiefliiaLcasZKa, /?)定义如 下:
其中/?)表示工作流Fa从私有云调度到公有云的数据传输代价, /?)表示工作流在公有云上进行处理的计算代价。
[0013] 进一步地,所述工作流Wa在公有云中进行处理使,所述公有云中的执行实例按区
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1