技术学习分享_CKX技术 技术资讯 OpenZFS 实现”uncached prefetch”,显著提升性能

OpenZFS 实现”uncached prefetch”,显著提升性能

广告位

OpenZFS 近日合并了一个名为“uncached prefetch”的 PR,据称显著优化了性能。

OpenZFS 实现"uncached prefetch",显著提升性能

提交 PR 的开发者介绍道,这项变化为 ARC(自适应替换缓存)引入了”uncacheable buffer”——它被传递给 arc_read() 和 arc_write(),并存储在 ARC header 中。当 remove_reference() 删除 ARC header 上的最后一个引用时,它可以立即对其进行销毁,或者如果它被标记为预取,则将其置于新的 arc_uncached 状态。该状态每秒被扫描一次,寻找不需要读取的 stale buffer(在这种情况下,它们会立即被驱逐)。

通过启用预取 (prefetch) 和避免内存复制的组合,这项变化提升了从宽 NVMe 池中进行连续单线程读取的速度(从 2049 到 3932 MiB/s)。在写的过程中,分析工具显示在 3653 MiB/s 的相同吞吐量下,未暂停 (unhalted) 的 CPU 周期减少了 22%。

另一位开发者分享了他以该项变化为特征的基准测试结果,由此可见性能优化明显:

OpenZFS 实现"uncached prefetch",显著提升性能

更多细节查看 PR 描述

展开阅读全文
本文来自网络,不代表技术学习分享_CKX技术立场,转载请注明出处。

作者: CKX技术

上一篇
下一篇
广告位

发表回复

返回顶部