We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Optimizing ZFS for Block Storage

Formal Metadata

Title
Optimizing ZFS for Block Storage
Title of Series
Number of Parts
24
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date2012
LanguageEnglish

Content Metadata

Subject Area
Genre
Abstract
The ZFS file system has been heavily tuned for workloads where file rewrite activity is minimal or is aligned and sized to match ZFS's native record size. Exporting ZFS storage to block consumers, however, presents a situation where every write is rewriting an existing block, and unaligned writes incur a performance killing synchronous read. This paper and talk presents Spectra Logic's optimizations to ZFS's data management layer (DMU) to convert the majority of these synchronous reads to be asynchronous and, for sequential access patterns, to avoid them entirely. We also describe a new scheme that allows concurrent reads to be issued through the DMU without the need to allocate a thread context for each I/O. The result, as implemented and tested using the FreeBSD operating system, is up to a five fold performance increase for unaligned write workloads and a three fold improvement for random read workloads.