论文部分内容阅读
随着互联网的快速发展,在线搜索、视频流和社交网络等工作流应用越来越多的依赖于云服务,云服务在我们生活中起着越来越重要的作用。如今许多云服务部署在地理分布式基础设施上,即位于不同地区的云数据中心,以获得更好的性能和可靠性。地理分布式云的规模越大,工作流应用的复杂性越高,系统运行更容易产生资源浪费和能耗过多的情况。如何合理的分配使用云资源和降低系统能耗成为亟待解决的问题。因此研究地理分布式云中面向工作流应用的负载均衡调度方法具有较高的理论和实际应用意义。鉴于以上应用场景和问题,本文从以下三个方面展开研究:(1)为了考虑地理分布式云环境中云状态对工作流作业执行效率的影响,本文设计了一种地理分布式云中基于负载均衡的工作流作业调度算法。该算法首先根据云的负载、云的资源利用率和作业的复杂度,利用Logistic算法对云的状态进行分析,并根据云的状态预测作业在云上的执行时间。然后根据作业的到达率和云的作业执行能力对每个云建立M/M/C排队模型,并利用线性等式约束下的非线性规划方法求解每个云的作业到达率。最后根据作业到达各个云的速率对作业进行调度分配,确保各个云的负载均衡,实现了减少作业等待时间和提高系统吞吐量的目标。(2)为了提高地理分布式云环境下基于工作流应用的任务调度方法的性能,本文设计了一种地理分布式云中基于最短路径算法的工作流任务调度算法。该算法首先将工作流应用建模成超图的形式,并按照任务之间的执行关系和K-路划分算法将超图划分为K个部分。然后将每个部分的工作流任务调度转化为最短路径问题,并将任务的执行能耗和执行时间作为任务调度图中边权重的衡量指标,接着使用基于Fibonacci堆的Dijkstra算法求解所有任务的执行节点。最后按照任务的执行节点将任务按顺序调度到对应的计算节点上执行,以保证各个计算节点的负载均衡,缩短所有任务的完成时间,并减少系统的总能耗。(3)对所提算法进行实验验证。在地理分布式云中基于负载均衡的工作流作业调度算法实验中,首先验证Logistic回归的作业执行时间预测的准确性,当实验重复次数为200时,预测算法的平均绝对百分比误差(MAPE)最高为3.4%;然后将所提算法与SRPT算法和SWAG算法进行比较,实验结果表明,本文算法的作业平均等待时间分别比SRPT和SWAG算法低66.7%和41%,作业平均响应时间分别比SRPT和SWAG算法低45.2%和31%,系统吞吐量分别比SRPT和SWAG算法高40.3%和22.7%。在地理分布式云中基于最短路径算法的工作流任务调度算法实验中,首先验证任务的划分数最优为64,然后与MCMKCut和CAWT算法进行对比,实验结果表明,本文算法的任务平均完成时间分别比MCMKCut算法和CAWT算法低35%和22.9%,系统总能耗分别比MCMKCut算法和CAWT算法低50.9%和31.1%,QoS满意率分别比MCMKCut算法和CAWT算法提高7.4%和3.8%。