Locality-aware Speculative Cache for Fast Partial Updates in Erasure-Coded Cloud Clusters

Hai Ming Zhou, Yuchong Hu, Dan Feng, Wei Wang, Huang Huadong · 2023

Modern clustered storage systems have commonly used erasure coding to maintain data durability against failures, yet it introduces significant update overhead for partial updates (e.g., only part of a block is updated). Recent studies propose the append-commit and buffer-logging techniques, which append multiple updated data to buffer-log and cache the corresponding old data from disk into memory, to reduce the update costs when committing the updates to parity. However, caching the entire old data block will introduce additional disk reads and memory overhead because caching the old part that not be updated, caching the partial old data block will incur the significant disk seeks for frequent partial updates. Our real-cloud experiments show that the unbalanced disk I/O may cause the bottleneck for updating, which is unfortunately overlooked by existing studies.This paper proposes LASC, a locality-aware speculative cache scheme for partial updates. LASC perceives the update locality of a data block from an update request stream within a period and speculatively caches the old data from the disk. It caches the entire old data block with high update locality to reduce the disk seeks. For a series of update requests to the same data block, LASC only performs one disk seek. Otherwise, it caches the old partial data to migrate the disk reads and memory overhead. We evaluate LASC via trace-driven simulations and Alibaba ECS experiments for two of the largest and latest public block-level I/O traces and show that LASC can effectively balance the disk I/O and improve the update performance while keeping memory overhead low.

Read the paper · More papers on PaperTik