delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

19 Nov 2013

OpenZFS Developer Summit

今天去 San Francisco 的 Delphix 参加了 OpenZFS Developer Summit,今天这会太充实了,先记一笔。

ZFS Channel Program:目前的 ZFS 应用程序需要以多次系统调用来完成一项功能。为了实现原子性,用户态部分实现起来比较复杂,而且最终内核中的 sync task 可能会导致长时间的延迟。提出的解决方案是在 ZFS 内核部分引入一个 Lua 字节码解释器,用户态一次灌一个脚本进去,通过脚本逻辑实现原子性,从而减少上下文切换开销并极大地简化用户态部分。

分层的 ZFS 存储:希望将 ZFS 改造为能够适应冷热存储的结构,这样可以将冷数据部分固定下来之后脱机(例如置于待机状态),从而节省能源开销。(Nexenta)

对于 spacemap/metaslab 的改良:Delphix 通过 DTrace 观察发现了一系列性能瓶颈并进行优化的实例。这个已经在 Illumos 里了,今天主要是趁热讲解一下所做的改进。比如写带宽限制从原始的限时、限量、加延迟变成了按系统中未回写数据比例作为限制条件、当 I/O 持续到来时自动切换到吞吐量优先(多排任务)的模式、写入速度减慢时减缓接受写请求等的新一代写带宽控制,使得 ZFS 的写入延迟得到了极大的改善。Adam Leventhal (这位老大也是 RAID-Z2/Z3 以及 ZFS gzip 压缩支持的作者)分享了采用的方法、评估手段等等。

明天的活动是 Hackthon,又要起个大早。