小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
SSD 盘优势在于随机 IO 性能好,时延低,劣势在与擦写次数有限;而 HDD 优势在于 顺序 IO 性能好,无擦写次数限制。存储系统对 SSD 盘与 SSD/HDD 混合存储进行了针对性优化,以达到更好的性能和可靠性。
-
系统与自研 SSD Firmware 无缝联动 SSD 由于采用 Flash 的原因,盘片内部会存在擦除操作,当盘片内部正在擦除 时,与擦除相同通道的其他数据不能读写,因此会造成大约 1~2ms 的时延,导 致性能波动。 华为存储系统采用华为自研 SSD 时,系统和盘片配合,协调多个硬盘轮流执行擦 除操作,系统不选择从正在擦除的盘读取数据,而是通过 RAID 冗余从其他盘上 读取数据,从而保证稳定的时延。
-
Cache 针对 SSD 的智能“感知” 针对 SSD 和 HDD,华为存储系统采取不同的脏数据刷盘策略,充分发挥出各自 优势:当经过华为认证的硬盘接入时,系统自动识别介质类型。针对 SSD 硬盘, 系统按照 LRU 算法刷盘,降低算法计算复杂度(也降低了时延),延迟活跃数据 的刷盘时间,减少下盘次数,减小写放大,提升系统性能,同时也延长了 SSD 寿命。
-
多核性能优化 在多核调度机制方面,针对 NUMA 架构进行性能优化,例如把单个 IO 的消息调 度在一个 CPU 核上进行处理,减少多 CPU 间访问开销,提升 CPU 缓存命中率。 在多线程运行效率上,通过数据结构的合理设计,避免多线程并发访问 CPU L1 Cache 一个缓存单位(Cacheline)上的数据,消除 CPU L1 Cache 伪共享的问 题,极大提升 CPU L1 Cache 利用效率,减小数据内存访问的 CPU 开销。