预测云中的调度失败
分布式、并行与集群计算
2015-07-14 v1 软件工程
摘要
云计算已成为一种通过互联网交付和管理计算、平台及软件服务的关键技术。任务调度算法旨在减少任务周转时间并提高资源利用率,在云计算服务的效率中发挥着重要作用。文献中已提出多种面向云计算系统的任务调度算法,其中大多数依赖于任务的计算复杂度和资源分布。然而,由于云环境中不可预见的变化,遵循这些算法调度的若干任务仍会失败。本文利用从 Google 真实世界应用执行轨迹中提取的任务执行和资源利用率数据,探讨了使用统计模型预测任务调度结果的可能性。如果能成功预测任务失败,我们或许能够通过提前(即在实际失败时间之前)重新调度失败任务来减少作业的执行时间。结果表明,统计模型预测任务失败的精确率最高可达 97.4%,召回率最高可达 96.2%。我们使用工具包 GloudSim 模拟了此类预测的潜在收益,发现其可使已完成任务的数量最多增加 40%。我们还使用 Amazon Elastic MapReduce (EMR) 的 Hadoop 框架以及一项来自乳腺癌研究的基因表达相关性分析作业进行了案例研究。我们发现,当使用我们的预测模型扩展 Hadoop 的调度器时,失败作业的比例最多可降低 45%,且开销不到 5 分钟。
引用
@article{arxiv.1507.03562,
title = {Predicting Scheduling Failures in the Cloud},
author = {Mbarka Soualhia and Foutse Khomh and Sofiene Tahar},
journal= {arXiv preprint arXiv:1507.03562},
year = {2015}
}