SUFS: 存储资源使用量预测服务
本期将由 KaiwuDB 高级研发工程师孙路明博士为大家介绍《SUFS: 存储资源使用量预测服务》,本文将发布于 ICDE 2023。
点击链接,回看本次直播>>
一、背景介绍
1. 存储资源使用量预测的意义
在典型的 IT 服务或应用中,计算、网络、存储是支撑上层应用服务的三个基础,保证存储系统的可用性对服务和应用的稳定运行有重要意义。存储系统可用性的一个重要方面就是有足够的容量,可以满足写入、存储的需求,所以合理规划存储系统的空间资源就非常重要。为了规划存储系统资源,就需要对资源的使用量进行预测,在预测的基础上进行资源的规划、扩缩容等操作。
由于目前很多存储是以云服务的形式提供的,对存储资源进行预测对于服务的提供商和使用者都很重要。对服务商来说,准确的预测资源使用量可以帮助他们在保证服务的 SLA 同时避免额外的开销;对用户来说,可以在满足自己业务需求的情况下更合理的申请配额(Quota)或者购买资源。
本文关注的存储系统范围比较广泛,包括传统的文件存储、各式各样的分布式存储系统,比如最典型的 HDFS,也包括各种数据库系统,比如 MySQL 这类关系型数据库或者各类的 NoSQL 数据库等等。
2 存储资源使用量预测的现状和挑战
现在一些存储系统的容量规划比较依赖启发式规则或者人的经验知识,对未来的使用量预测的不准,这种不准确又可以分为高估( overestimation)和低估(underestimation),这两种不准确也会产生不同的影响。
如果高估了未来的资源用量,那就会过多的配置存储资源,导致空间浪费和不必要的开销;如果预测的偏低,那可能会造成存储资源不足,严重的话会导致数据无法写入和数据丢失的风险,影响系统的可用性。
如下图所示,造成启发式规则或传统时序预测模型在存储资源使用量预测任务中无法提供准确预测的原因主要有两个:
-
不同存储系统、同一存储系统的不同用户,其存储使用量曲线的模式区别非常大
-
存储资源使用量中存在突增突降,对模型预测产生极大的影响
因此,本文提出了一种增强的 LSTM 神经网络应对存储资源使用量时序数据中的突增突降问题,提出了自适应的模型集成方案解决不同系统、同一系统内不同用户存储资源使用量模式差异大的挑战。
二、SUFS 架构与算法
如上图所示,SUFS 在不同的存储系统中使用 Agent 采集存储空间使用量的历史数据并存储,在对数据进行预处理后,使用自适应模型集成方法对未来多天的存储资源使用量进行预测,根据预测结果提供资源的监控告警、容量规划、动态扩缩容等服务。
1.增强 LSTM 神经网络
LSTM(Long Short-Term Memory)是一种循环神经网络 RNN 的变体,本文提出的增强的 LSTM 神经网络,在普通 LSTM 神经网络的 Input Gate 前加入额外的一个信号量,该信号量的值与磁盘使用量的值是否为突增突降有关,而判断是否突增突降使用了 IQR 检验方法。
其工作原理为:如果 IQR 判断当前的磁盘使用量值是突增或突降,则该信号量是一个极小的值,在 LSTM 内部就可以控制当前使用量不对已有状态产生影响,使得模型忽略掉这些突变;而当没有遇到突增突降时,这个增强的 LSTM 神经网络模块与普通 LSTM 无异。
此外,这个神经网络还考虑到属于同一用户或服务的存储资源使用具有类似模式的现象,通过存储资源实体编码嵌入网络,将这种先验知识加入到模型的预测中。
2.自适应模型集成算法
为了在一个统一的预测服务中完成不同模式时序数据的预测,这篇文章提出了一种自适应的模型集成方法:
模型集成(Model Ensemble):机器学习的一种范式,在模型集成时,通常会训练多个模型解决相同的问题,并且把这些模型的结果结合起来以获得更好的结果。
这些被集成的模型称为弱学习器或者叫基模型,当基模型被合理的组合起来的时候,我们可以得到更准确或者更鲁棒的预测结果。一些常见的模型集成方法包括 Bagging、Boosting、Stacking 等,本文中用到的方法属于 Stacking 这一类,是将多个基于不同算法的基模型的预测结果,通过某种方式将结果组合起来。
使用模型集成的出发点就是因为不同的基模型对于不同模式的时序数据会有不同准确率,比如前面提出的增强的 LSTM 神经网络会更适用于带有突变的时序数据,而 SARIMA 模型更适用于带有周期性的时序数据等。
在将多个基模型的预测结果进行集成时,一种简单并且常见的方案是将不同基模型的预测结果进行加权平均,比如对某一天的使用量预测一个是 10,一个是 8,那集成后的结果就是 9。但是这种平均的集成方案还是存在弊端,不能充分发挥某一个基模型对其适合数据的预测能力,本文提出的模型集成则具有两个特点:
-
不同存储资源使用量序列的模型集成权重不同(Sequence-wise)
-
同一序列、未来多天预测时,每天预测值的模型集成权重不同(Step-wise)
三、实验与总结
本文在多个真实生产环境的存储系统上进行了实验结果验证,从预测误差分布、典型特例分析、存储代价节省、模型预测开销等多个角度验证了提出方法在存储资源使用量预测任务中的有效性。
本文所解决的存储空间使用量预测问题,是使用人工智能技术协助系统运维的一个应用,属于 AI for DB 的范畴。AI for DB 包含的内容很多,涉及到数据库的各个方面,KaiwuDB 的 KAP 自治平台,同样提供包含存储空间预测在内的多项自治运维服务。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DVC —— 面向机器学习项目的版本控制系统
DVC (Data Version Control) 是一个命令行工具,也是 Visual Studio Code 扩展,用于管理机器学习项目的版本控制。 主要特性 对数据和模型进行版本控制,在将它们保存到云存储中的同时,版本信息保留在 Git 仓库中。 使用轻量级管道快速迭代。当进行更改时,仅运行受这些更改影响的步骤。 追踪本地 Git 仓库中的试验(无需服务器)。 支持比较任何数据、代码、参数、模型或性能图。 支持共享试验并自动重现任何人的试验。 运行过程
- 下一篇
【活动回顾】Data + AI 时代下的云数仓设计 @Qcon
此前,由 InfoQ 中国举办的 QCon 全球软件开发大会在广州圆满落幕。本次大会有近百位国内外技术大咖现场分享前沿技术案例与创新实践,共有十二个专题,近五十余场分享。Databend Cloud 联合创始人张雁飞受邀参与了此次技术盛宴,并在新型数据库专场进行了一次主题为《 Databend: 大模型时代的 Cloud Warehouse 设计探索 》的演讲。 演讲嘉宾:张雁飞 Databend: https://github.com/datafuselabs/databend 嘉宾介绍:Databend Cloud 联合创始人 ,前阿里云数据库内核组早期成员、前青云数据库团队负责人。开源 Databend 项目主要负责人。 本次分享聚焦于大模型时代下的 Cloud Warehouse 设计探索,分析如何利用开源与商业 LLMs 提升 Cloud Warehouse 的能力,实现更智能、自动化的数据分析。本次分享主要分为两个部分: 现代的数仓如何设计 数仓如何与 AI 结合 为什么需要现代云数仓 当用户想要进行大数据分析时,心里所期望的基本是: 我要进行一次分析,希望这个分析尽可能快...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址