🥈存储之——面向闪存的系统优化🥇

183 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

SSD 盘优势在于随机 IO 性能好,时延低,劣势在与擦写次数有限;而 HDD 优势在于 顺序 IO 性能好,无擦写次数限制。存储系统对 SSD 盘与 SSD/HDD 混合存储进行了针对性优化,以达到更好的性能和可靠性。

  1. 系统与自研 SSD Firmware 无缝联动 SSD 由于采用 Flash 的原因,盘片内部会存在擦除操作,当盘片内部正在擦除 时,与擦除相同通道的其他数据不能读写,因此会造成大约 1~2ms 的时延,导 致性能波动。 华为存储系统采用华为自研 SSD 时,系统和盘片配合,协调多个硬盘轮流执行擦 除操作,系统不选择从正在擦除的盘读取数据,而是通过 RAID 冗余从其他盘上 读取数据,从而保证稳定的时延。

  2. Cache 针对 SSD 的智能“感知” 针对 SSD 和 HDD,华为存储系统采取不同的脏数据刷盘策略,充分发挥出各自 优势:当经过华为认证的硬盘接入时,系统自动识别介质类型。针对 SSD 硬盘, 系统按照 LRU 算法刷盘,降低算法计算复杂度(也降低了时延),延迟活跃数据 的刷盘时间,减少下盘次数,减小写放大,提升系统性能,同时也延长了 SSD 寿命。

  3. 多核性能优化 在多核调度机制方面,针对 NUMA 架构进行性能优化,例如把单个 IO 的消息调 度在一个 CPU 核上进行处理,减少多 CPU 间访问开销,提升 CPU 缓存命中率。 在多线程运行效率上,通过数据结构的合理设计,避免多线程并发访问 CPU L1 Cache 一个缓存单位(Cacheline)上的数据,消除 CPU L1 Cache 伪共享的问 题,极大提升 CPU L1 Cache 利用效率,减小数据内存访问的 CPU 开销。

求点赞呀

image.png