论文部分内容阅读
突发访问是指在一段极短的时间内对服务器出现大量的突击式访问,但服务器的处理能力却满足不了急剧上升的访问量而无法顺利完成用户提交的相关请求。传统的计算机系统往往是基于预期的峰值负载来对资源进行静态配置的,那么突发访问的存在就会带来诸如能耗,资源浪费等问题。由于突发访问行为的随机性,如何有效地预测突发访问行为一直是一个非常具有挑战性的问题。本文提出了一种基于数据挖掘的方法来获取存储系统中的频繁关联I/O,然后通过过滤频繁关联I/O来预测突发访问行为的发生。为了提高频繁关联I/O的挖掘效率,本文在Apriori算法的基础上,结合I/O数据的时间属性,引入关联强化窗口。在产生频繁关联序列的过程中,该窗口能够以默认大小和不定步长,达到减少时间开销,实现时间局部感知以及强化规则关联性的效果。实验表明,新的挖掘算法不但可以获得与原来算法一致的结果,而且降低了原挖掘算法20%到40%的时间开销。此外,本文通过实验分析发现主导突发访问行为的因素并非频繁关联I/O,基于以上发现,本文提出了一种基于关联挖掘的突发预测算法。该算法主要包括以下五个步骤:首先对三个真实的I/O数据集的训练集进行频繁关联I/O的挖掘;其次按照较长时间粒度对数据集进行划分并获得其对应的I/O请求;再次对较短时间粒度内发生的频繁关联I/O进行过滤;然后利用过滤后的块I/O来预测较长时间粒度内的突发访问行为;最后得出这种预测方法的命中率和发生率。本文在确定了突发阈值和观察阈值后,接着利用该算法对三个I/O数据集的测试集进行了验证实验,并与传统的时序预测算法进行了对比。实验表明,在理想的情况下,这种方法可以获得约70%左右的预测命中率,约2倍于时序预测。由此可以得到一个重要的结论:通过较短时间粒度的非频繁关联I/O来预测其对应的较长时间粒度范围内的突发访问情况是可行且具有现实意义的。