ZIL Accelerator: Random Write Revelation - DDRdrive

a.k.a SLOG (Separate LOG) or dedicated log device. • SSD (Solid-State Drive). ▫ SSD Types .... DRAM SSD which power protects ALL on-board volatile memory. 17. DDRdrive X1: ..... Benchmark Storage Server System: • Nexenta NexentaStor ...
2MB Sizes 0 Downloads 126 Views
ZIL Accelerator: Random Write Revelation

Christopher George Founder/CTO www.ddrdrive.com

OpenStorage Summit 2011 October 26-27, 2011 San Jose, CA USA

Storage Terminology/Nomenclature: • ZFS (Zettabyte File System)

• ZIL (ZFS Intent Log) Accelerator  a.k.a SLOG (Separate LOG) or dedicated log device

• SSD (Solid-State Drive)  SSD Types (defined by the I/O media targeted): • Flash (NAND) Based • DRAM (Dynamic Random Access Memory) Based

 SSD Form Factors: • HDD (Hard Disk Drive) Compatible (2.5”) • PCI Express Plug-in Card

• IOPS (Input/Output operations Per Second) 2

The Filesystem Reinvented.

ZFS Hybrid Storage Pool: A pool (or collection) of high capacity, low cost, and low RPM HDDs accelerated with integrated support of both read and write optimized SSDs.

The key is both storage devices (HDD/SSD) work together as one to provide the capacity and cost per bit benefits of an HDD with the performance and power benefits of an SSD.

3

The ZFS Vanguard. ZIL Accelerator: (ZIL != log device) One of the two optional accelerators built into ZFS. A ZIL Accelerator is expected to be write optimized as it only captures synchronous writes. Thus, a prospective SSD must have both extremely low latency and high sustained write IOPS capability to successfully target. A ZIL Accelerator is critical for accelerating applications bound by synchronous writes (e.g. NFS, iSCSI, CIFS).

A ZIL Accelerator can be created from either type of SSD (DRAM or Flash). Which SSD type to choose? 4

Questions to be answered: • What is the ZIL (ZFS Intent Log)? • What are the key characteristics of a ZIL Accelerator? • Why is ZIL Accelerator volatile cache power protection so critical? • Which Intel SSDs have volatile cache protection and which do not?

• Is the ZIL Accelerator access pattern random and/or sequential? • How do Flash/DRAM based SSDs random write IOPS compare? • How do Flash/DRAM based SSDs IOPS/$ compare? • Are the finite write limitations of Flash based SSDs a concern? 5

Questions to be answered: • What is the ZIL (ZFS Intent Log)? • What are the key characteristics of a ZIL Accelerator? • Why is ZIL Accelerator volatile cache power protection so critical? • Which Intel SSDs have volatile cache protection and which do not?

• Is the ZIL Accelerator access pattern random and/or sequential? • How do Flash/DRAM based SSDs random write IOPS compare? • How do Flash/DRAM based SSDs IOPS/$ compare? • Are the finite write limitations of Flash based SSDs a concern? 6

What is the ZFS Intent Log (ZIL)? •

Logs all file system related system calls as transactions in host memory. If synchronous semantics apply (O_SYNC, fsync()...), transactions are also placed on stable (non-volatile) storage, so in the event of a host failure each can be replayed on the next reboot.



Satisfies POSIX requirements for synchronous write transactions.



Default implementation uses the pool for stable “on-disk” format. Optionally, a ZIL Accelerator can be added for increased performance.



One ZIL per dataset (e.g. file system, volume), with one or more datasets per pool. A ZIL Accelerator is a pool assigned resource and thus shared by all datasets (ZILs) contained in that pool.



Transactions are committed to the pool as a group (txg) and involve reading the ZIL “in-memory” representation and NOT the "on-disk" format. After the txg commits, the relevant ZIL (either pool based or optionally a ZIL Accelerator) blocks are released. 7

What is a synchronous write transaction? •

Synchronous writes are forced to stable (non-volatile) storage prior to being acknowledged. Commonly initiated by setting O_SYNC, O_DSYNC, or O_RSYNC flag parameters when the target file was opened or by calling fsync().