【云驻共创】年轻人如何入场元宇宙?未来已来!
573
2022-05-28
今天开始学习BoostKit鲲鹏全局缓存技术,该技术是鲲鹏实验室最新开源的技术。
本文将从如下几个方面展开阐述。
存储行业特点及挑战
全局缓存创新与价值
全局缓存功能介绍
全局缓存使用介绍
1. 存储行业特点及挑战
有统计数据显示,企业应用每增加100ms存储时延会造成1%的销售损失。如下图所示:
从21年到23年,关键业务的占比从25%增加到60%,数据库等中高负载业务从45%减少到15%,一般业务从 30%减少到25%。
对于关键业务一般使用的存储类型是 增强型\极速SSD云硬盘(全闪存),这种方式主要的痛点是 要求极致时延和IOPS SSD使用成本高。
对于数据库等中高负载业务使用的存储类型是超高IO云硬盘(全闪存、均衡型SAS),这种方式的主要痛点是对性价比降低时延。
对于一般业务使用的是高IO云硬盘(均衡型SATA)
1.1.Ceph开源存储方案面临的性能挑战
Ceph开源存储方案面临的性能挑战主要是: IOPS性能低,IO时延高。 而造成这种情况的原因主要有如下三个方面:
IO请求流程多,线程切换开销大
IO处理流程长,队列等待多,端到端时延高。
IO随机性大,磁盘带宽利用率低。
IO的写入流程是:
Message 接受入队
三副本数据处理
数据持久化
元数据持久化
资源释放,响应完成。
我们可以看到一个完整的IO写入流程包括了5大流程,流程真的很长。
那么BoostKit鲲鹏全局缓存技术又是如何应对这些挑战的呢?
2. 全局缓存创新与价值
BoostKit鲲鹏全局缓存技术主要有三大创新技术,通过三大创新技术可以实现存储性能飞跃式提升。
缓存前后台分离,缩短IO路径
IO聚合,实现磁盘带宽性能
智能预取,提高读缓存命中率。
下面我分别就这三大创新技术进行一个简要的说明。
2.1. 缓存前后台分离,缩短IO路径
在计算侧(前台)重定向到全局缓存,读写IO请求直接在缓存中命中并实时反馈给上层应用。
全局缓存的IO数据异步下刷到后端存储侧(后台)或提前预取数据到全局缓存
其实现流程如下图所示:
从图中可以看出读IO和写IO都是在全局缓存中实现的。
写IO首先将数据写入缓存中,然后异步下刷到磁盘中。
异步IO批量预取提前命中,异步数据预取,读IO直接从缓存中取数据。
这样做的好处就是 提高了异步刷盘速率,保证写缓存100%命中,降低写时延。
提高预取准确率,加大缓存容量,保证读缓存80%命中,降低读时延。
如下图所示:展示了缓存前后台的具体实现。
流程解耦:写缓存刷盘,读缓存淘汰无需互斥,可灵活控制各自水位。
资源解耦:读写缓存并发,Quota资源等解耦,避免相互影响。
介质类型解耦:读写缓存可分为管理异构缓存介质(RAM,NVMeSSD),实现介质分离。
冗余策略优化:读cache使用单副本,提高cache空间利用率,写cache使用三副本,保证数据可靠性。
2.2. IO聚合,实现磁盘带宽性能
IO聚合:通过聚合算法,回写策略和垃圾回收等能力,实现随机写小IO聚合成顺序写大IO,实现磁盘带宽的利用率,使性能得到大幅提升。
按需读取:从元数据中获取小IO映射关系,下盘读取小IO数据,无读放大。
通过高效的索引算法和数据排列,仅提高有效数据块,并和新写入的数据进行IO聚合,减少IO开销和降低垃圾对业务的影响。
具体实现如下图所示:
2.3. 智能预取,提高读缓存命中率
基于创新的负载识别算法,识别不同应用访问Pattern(如流式、关联、热点等),并通过归一化特征模型制定最优参数(预取门限,长度等),实现80%以上缓存命中率和2倍+读性能提升。
如下图所示:展示了智能预取分离技术架构:
这里主要有两个技术
双引擎分离:创新性的Client端推荐引擎+Server端执行引擎分离的智能预取架构。
全局精准推荐:推荐引擎拥有全局数据访问视图,从而进行全局精准推荐。
3. 全局缓存功能介绍
3.1. 全局缓存技术的整体架构
说完了全局缓存的创新点之后,接下来让我们来看看全局缓存的各个核心功能。
全局缓存技术的整体架构如下图所示:
可以用三横+两纵来总结全局缓存技术框架。
三横:客户端集群、缓存集群、存储集群
两纵:读写路径分离双驱加速的逻辑布局。
写缓存:数据写入、删除功能、保证Cache前后台写低时延、
读缓存:数据读取功能,数据预取和淘汰、保证高Cache命中。
元数据管理:高性能元数据管理引擎、小IO聚合、垃圾回收
集群管理:集群管理、运行状态管理,故障处理框架。
持久化:数据持久化存储,三副本资源池,介质管理。
适配层:对接开源Ceph存储,终结Ceph语义。
基础设施:系统启动、内存管理、日志、命令行、系统调度。
3.2. 全局缓存功能规格一览
1. 高性能
支持单节点 14W IOPS,1ms时延。
2. 集群兼容性
提供无侵入式接口API支持主流ceph集群接入
支持块存储服务,对象存储服务
支持快照及克隆功能
支持鲲鹏平台硬件,openEuler,RedHat系统
4. 可靠性
数据持久化存储防掉电丢失。
数据三副本以节点域存储,防止单点故障。
支持集群故障自动检测,自动故障切换和恢复。
5. 安全性
数据通道和管理通道默认支持TLS1.3 安全传输
7. 扩展性
支持按需增加缓存节点扩展缓存规模
支持在线升级
数据持久化存储防掉电丢失
数据三副本以节点域存储,防止单点故障
支持集群故障自动检测,自动故障切换和恢复。
4. 全局缓存使用介绍
说完了那么多BoostKit鲲鹏全局缓存技术的功能和好处,那么如何使用BoostKit鲲鹏全局缓存呢?
首先找到用户指南,指南地址是:https://support.huawei.com/enterprise/zh/doc/EDOC1100228002?idPath=23710424%7C251364417%7C9856629%7C253662285
按照用户指南一步步去操作使用吧!!!!
总结
本文从四个方面阐述了BoostKit鲲鹏全局缓存技术,该技术针对Ceph开源存储方案存在的痛点,采用三大创新技术,有效的提高了Ceph的性能,最高可以将Ceph性能提升10倍。如下图所示:
本文整理自华为云社区【内容共创】活动第12期。
查看活动详情:https://bbs.huaweicloud.com/blogs/325315
相关任务详情:任务13.【鲲鹏直播间】BoostKit 全局缓存技术
鲲鹏
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。