论文部分内容阅读
存储系统(尤其是现在的大型合并存储系统,例如云存储系统、大型数据库系统等)的管理有两个重要的内容:一个是数据部署问题;另一个是存储系统的自动化配置问题,当前存储系统的管理主要依靠人工来完成。但是,近年来存储系统和数据库系统越来越大型、高端,使得存储系统的管理变得越来越复杂,管理代价也越来越高,同时,人工管理的方式也已经越来越不现实。如果有自动化机制能对每一个输入的工作负载在目标存储设备上的性能进行准确的预测,那么系统就能实现自动化管理;因此,存储设备性能预测已经变成大型存储系统和数据库系统自动化管理中的关键问题。
传统的存储设备性能建模方法可以概括为两大类:分析方法和模拟方法。这两种建模方法都要求对目标设备内部的架构、参数、算法等十分了解,并且需要大量的领域专家知识,正是由于这些原因,它们也被称之为“白盒方法”。然而,现在的存储系统日益的大型、高端、复杂且种类多样,设备内部的详细信息很难得到,这使得传统的白盒方法很难实现,同时白盒方法也不具有通用性。与之相对,“黑盒方法”将目标设备看成一个黑盒。它不需要设备内部的详细信息和参数,也不需要任何的领域专家知识,而是通过使用统计或机器学习的方法来观察设备对工作负载的响应,自动的学习设备的性能习性,从而构造目标设备的性能模型。本文中我们采用基于机器学习的方法进行存储设备性能预测。
本文首先提出一种新的工作负载特征化方法,它将工作负载定义为一连串的I/O请求,对每个I/O请求设计相应的特征来捕捉I/O请求的排队时间,寻道时间和数据传输时间。该方法不仅能捕获I/O请求的突发性和排队时间,同时也量化的考虑了缓存的影响。其次,本文提出一个新的交互回归模型,该模型结合了回归树和支持向量回归各自的优点,规避了各自的弊端,具有很高的预测精度和稳定性。最后我们讨论了训练数据对模型性能的影响,给出了一种提升训练数据质量的方案。实验表明,我们提出的新特征化方法能够更好的描述工作负载的特性。新提出的交互回归模型在不损失预测效率的前提下能提供比单一模型更好的预测精度和稳定性。在从真实应用程序中收集的工作负载中加入人工合成的工作负载能有效的提升模型的性能。