论文部分内容阅读
基于应用行为分析的优化方法是计算机系统性能优化研究的重要内容。存储系统对访问模式的敏感性,使得基于存储模式进行性能优化的方法尤为重要。但随着存储规模的扩大,高密度IO产生的海量访问信息对模式挖掘的高效性提出了挑战,同时集中式存储系统中高度IO并发造成的应用语义干扰,以及存储系统的层次复杂性造成的语义损失对存储模式的准确分析构成极大挑战。现有基于存储模式的研究中对存储模式的表达并未考虑存储系统特性,无法有效对应用IO行为进行描述。同时现有模式挖掘算法的开销过大,难以在大规模存储系统中实用。此外现有基于模式的优化研究中,其模式挖掘数据结构基于离线挖掘设计,无法满足系统实时在线优化的要求。
本文结合上层应用语义及底层存储系统特性,提出了一种新的应用层存储模式定义,以及基于此的高效模式挖掘算法。然后提出了基于此模式的针对性优化技术及一种高效可行的存储系统流式优化框架。本文的主要贡献和创新点如下:
1.一种新的应用层存储模式定义。本文针对存储系统特性提出了一种反映应用层语义新的存储模式定义SPA。同之前研究中设备层模式相比,SPA在更准确获取应用语义的同时基于存储特性对模式表达进行了简化。其使挖掘算法的理论复杂度由NP降为O(n2)。测试结果表明SPA对应用访问的相对覆盖达到92%,并有效避免了设备层模式由序列分割及并发干扰引入的模式损失。
2.应用层模式的高效挖掘算法FPG-Grow。本文提出了一种基于SPA的高效挖掘算法FPG-Grow。其创新性地采用图结构对存储模式进行挖掘,避免了对序列的多次扫描。同时利用模糊频度模式来简化挖掘目标,避免了频度检验带来的性能损失;测试结果表明,FPG-Grow相比C-Miner在挖掘性能上有2~3个数量级的提升。挖掘开销的显著降低使FPG-Grow具备了对大规模存储系统中存储模式挖掘的可行性。
3.基于应用层模式的优化技术。本文提出了一种基于SPA的数据分布技术,其通过顺排和聚集将模式数据集按访问顺序重分布到磁盘上。使应用的IO响应时间平均减少20%。同时通过与预取技术的结合实现了系统过载情况下的预取技术PAO。其有效避免了传统预取在过载情况下的副作用,同时使系统响应时间相比传统预取降低了27%。
4.基于应用层模式的存储系统流式优化框架。基于FPG-Grow特性对流式优化的支持。本文利用FPG的增量更新特性及模式生长与使用可并发的特点,提出了基于应用层模式的存储系统流式优化框架。与静态优化相比,基于FPG的流式预取可使系统响应时间降低27%,同时其引入的时间开销很小,基本对当前IO无影响。