BoostKit鲲鹏全局缓存技术助力Ceph性能提升10倍,真香

Posted 码农飞哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BoostKit鲲鹏全局缓存技术助力Ceph性能提升10倍,真香相关的知识,希望对你有一定的参考价值。

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦
😁 1. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
💪🏻 2. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 3. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当,持续更新中 。python爬虫入门进阶
❤️ 4. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 5. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
关注下方公众号,众多福利免费嫖;加我VX进群学习,学习的路上不孤单

今天开始学习BoostKit鲲鹏全局缓存技术,该技术是鲲鹏实验室最新开源的技术。
本文将从如下几个方面展开阐述。

  1. 存储行业特点及挑战
  2. 全局缓存创新与价值
  3. 全局缓存功能介绍
  4. 全局缓存使用介绍

文章目录

1. 存储行业特点及挑战

有统计数据显示,企业应用每增加100ms存储时延会造成1%的销售损失。如下图所示:

从21年到23年,关键业务的占比从25%增加到60%,数据库等中高负载业务从45%减少到15%,一般业务从 30%减少到25%。
对于关键业务一般使用的存储类型是 增强型\\极速SSD云硬盘(全闪存),这种方式主要的痛点是 要求极致时延和IOPS SSD使用成本高。
对于数据库等中高负载业务使用的存储类型是超高IO云硬盘(全闪存、均衡型SAS),这种方式的主要痛点是对性价比降低时延。
对于一般业务使用的是高IO云硬盘(均衡型SATA)

1.1.Ceph开源存储方案面临的性能挑战


Ceph开源存储方案面临的性能挑战主要是: IOPS性能低,IO时延高。 而造成这种情况的原因主要有如下三个方面:

  1. IO请求流程多,线程切换开销大
  2. IO处理流程长,队列等待多,端到端时延高。
  3. IO随机性大,磁盘带宽利用率低。

IO的写入流程是:

  1. Message 接受入队
  2. 三副本数据处理
  3. 数据持久化
  4. 元数据持久化
  5. 资源释放,响应完成。

我们可以看到一个完整的IO写入流程包括了5大流程,流程真的很长。
那么BoostKit鲲鹏全局缓存技术又是如何应对这些挑战的呢?

2. 全局缓存创新与价值

BoostKit鲲鹏全局缓存技术主要有三大创新技术,通过三大创新技术可以实现存储性能飞跃式提升。

  1. 缓存前后台分离,缩短IO路径
  2. IO聚合,实现磁盘带宽性能
  3. 智能预取,提高读缓存命中率。
    下面我分别就这三大创新技术进行一个简要的说明。

2.1. 缓存前后台分离,缩短IO路径

  1. 在计算侧(前台)重定向到全局缓存,读写IO请求直接在缓存中命中并实时反馈给上层应用。
  2. 全局缓存的IO数据异步下刷到后端存储侧(后台)或提前预取数据到全局缓存
    其实现流程如下图所示:

    从图中可以看出读IO和写IO都是在全局缓存中实现的。
    写IO首先将数据写入缓存中,然后异步下刷到磁盘中。
    异步IO批量预取提前命中,异步数据预取,读IO直接从缓存中取数据。
    这样做的好处就是 提高了异步刷盘速率,保证写缓存100%命中,降低写时延。
    提高预取准确率,加大缓存容量,保证读缓存80%命中,降低读时延。
    如下图所示:展示了缓存前后台的具体实现。
  3. 流程解耦:写缓存刷盘,读缓存淘汰无需互斥,可灵活控制各自水位。
  4. 资源解耦:读写缓存并发,Quota资源等解耦,避免相互影响。
  5. 介质类型解耦:读写缓存可分为管理异构缓存介质(RAM,NVMeSSD),实现介质分离。
  6. 冗余策略优化:读cache使用单副本,提高cache空间利用率,写cache使用三副本,保证数据可靠性。

2.2. IO聚合,实现磁盘带宽性能

  1. IO聚合:通过聚合算法,回写策略和垃圾回收等能力,实现随机写小IO聚合成顺序写大IO,实现磁盘带宽的利用率,使性能得到大幅提升。
  2. 按需读取:从元数据中获取小IO映射关系,下盘读取小IO数据,无读放大。
  3. 通过高效的索引算法和数据排列,仅提高有效数据块,并和新写入的数据进行IO聚合,减少IO开销和降低垃圾对业务的影响。
    具体实现如下图所示:

2.3. 智能预取,提高读缓存命中率

基于创新的负载识别算法,识别不同应用访问Pattern(如流式、关联、热点等),并通过归一化特征模型制定最优参数(预取门限,长度等),实现80%以上缓存命中率和2倍+读性能提升。
如下图所示:展示了智能预取分离技术架构:

这里主要有两个技术

  1. 双引擎分离:创新性的Client端推荐引擎+Server端执行引擎分离的智能预取架构。
  2. 全局精准推荐:推荐引擎拥有全局数据访问视图,从而进行全局精准推荐。

3. 全局缓存功能介绍

3.1. 全局缓存技术的整体架构

说完了全局缓存的创新点之后,接下来让我们来看看全局缓存的各个核心功能。
全局缓存技术的整体架构如下图所示:

可以用三横+两纵来总结全局缓存技术框架。
三横:客户端集群、缓存集群、存储集群
两纵:读写路径分离双驱加速的逻辑布局。

  1. 写缓存:数据写入、删除功能、保证Cache前后台写低时延、
  2. 读缓存:数据读取功能,数据预取和淘汰、保证高Cache命中。
  3. 元数据管理:高性能元数据管理引擎、小IO聚合、垃圾回收
  4. 集群管理:集群管理、运行状态管理,故障处理框架。
  5. 持久化:数据持久化存储,三副本资源池,介质管理。
  6. 适配层:对接开源Ceph存储,终结Ceph语义。
  7. 基础设施:系统启动、内存管理、日志、命令行、系统调度。

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倍。如下图所示:

以上是关于BoostKit鲲鹏全局缓存技术助力Ceph性能提升10倍,真香的主要内容,如果未能解决你的问题,请参考以下文章

鲲鹏BoostKit虚拟化使能套件,让数据加密更安全

解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践

解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践

解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践

“大鹏一日同风起”Kunpeng BoostKit 使能套件如何实现大数据场景倍级性能提升?

品高云操作系统V9.0获华为鲲鹏Validated认证