论文部分内容阅读
随着越来越多传统的社交和经济活动被搬到互联网上,数据中心的计算任务变得日益复杂,规模越来越大。数据中心的功能失效和性能失效成为了常态。另一方面,细粒度的数据采集工具产生了反映数据中心行为的海量数据。系统日志(RAS log)详细记录了集群系统发生状态变化的各种事件,作业日志(Job log)中提供了负载运行时的变化信息。论文主要研究日志数据的关联分析方法。为了有效地提高数据中心可靠性,从分析集群系统产生的海量日志数据出发,研究了数据并行挖掘,全局故障诊断,提高失效预测的质量这样三个关键问题。另外,还研究了将Job日志和系统日志结合进行失效预测的方法,以及将敏感延迟类应用采集到的负载响应时间数据、操作系统层指标数据和体系结构层指标数据进行结合分析的方法,为理解响应长尾延迟的产生原因提供了手段。 本文的主要贡献和创新点如下: (1)提出了一个日志事件相关性的并行挖掘方法和一个在线挖掘方法。通过海量系统日志所固有的事件突发和事件变迁特性,将日志事务集分割成突发分段和变迁分段,然后将包含同一个关键事件的所有变迁分段合并成一个日志事务块,使得生成的事务块之间达到最大的不相交:独立于其它关键事件生成的日志事务块,对这些日志事务块进行独立的频繁事件序列挖掘。通过在线的变迁分段和离线的变迁分段不断合并得到更新的日志事务块,对它在线挖掘频繁事件序列,再利用这些频繁事件序列更新预测模型。在三个真实的系统日志上进行的对比实验结果表明,我们的并行挖掘方法可以显著地优于经典的并行算法,在不损失频繁事件序列准确性的情况下具有近似线性的可扩展性。 (2)提出了一个基于事件因果关系图的全局故障诊断方法。将一对频繁事件序列的相似度定义为这两个序列中相同的事件个数除以它们长度的几何平均数,据此将相关的频繁事件序列聚类,得到若干个频繁事件序列簇和相应的事件组,再按照序列中事件间的时间顺序从每一个序列簇中导出一个事件因果关系图。通过与经典贝叶斯网络学习算法生成的贝叶斯网络的对比,验证了我们的因果关系图的正确性,并在三个真实的系统日志上验证了因果关系图在精确的故障原因诊断上的有效性。 (3)提出了一个基于失效规则抽取提高失效预测召回率的方法。利用因果关系图中存在的某些满足有效预测时间条件和置信度条件的频繁事件ID间的顺序定义了事件规则(事件发生规律),然后利用失效事件规则推演出该失效事件所在事件组中所有失效事件的潜在的频繁事件序列。在三个真实的系统日志上的实验结果表明,该方法比已有工作提高了8-15%的召回率。 (4)提出了一种结合集群系统的系统日志和作业日志进行失效预测分析的方法。经过预处理和过滤,将原始系统日志和作业日志解析成具有细粒度信息的日志事务序列和作业事务序列。据此从作业事务中抽取出负载的三种失效征兆:大作业征兆,不同作业组合征兆和作业突发征兆,再利用这三种征兆实现失效预测。在真实日志数据上的实验结果表明,该方法可以方便地实现较高的失效预测准确率。 (5)研究了数据中心请求响应长尾延迟与微体系结构层和操作系统层性能指标数据的相关性。针对一个延迟敏感类的搜索引擎应用,采集了各个索引节点在不同负载发生密度下单位时间内发生长尾延迟请求的个数,和该应用运行时的体系结构层和操作系统层的性能指标。通过计算皮尔森相关系数确定了与响应延迟强相关的指标集合,并依据这些指标的取值给出了针对数据中心响应长尾延迟的优化建议。