计算存储驱动受所在存储节点主机侧的内核驱动程序统一管理,该驱动程序会首先对PolarFS 发来的每个扫描请求的查询条件进行分析,并在必要时对查询条件进行重排,以更好地利用硬件流水线提高吞吐量。然后,将请求中的LBA 地址转化为与NAND 闪存相关联的物理地址(PBA)。
为进一步优化吞吐量,驱动程序在内部将每个扫描请求划分为多个更小的扫描子任务。这是为了防止大型扫描任务占用闪存带宽的时间过长,导致正常I/O 请求需要等待较长时间,同时减少内部缓冲的硬件资源使用,充分利用闪存阵列的并行访问特性。此外,由于NAND 闪存设备在失效数据过多时会进行垃圾回收(Garbage Collection,GC),这会严重干扰扫描任务的执行。因此,对驱动程序进行优化,以最大限度地减少垃圾回收带来的干扰,当工作负载较大时,驱动程序将自适应地减少甚至暂停垃圾回收操作。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。