[论文解读] Assise: Performance and Availability via NVM Colocation in a Distributed File System
Assise 是一种分布式文件系统,通过将计算与存储共置,利用节点本地的非易失性内存(NVM)实现亚秒级故障切换、低尾部延迟和强一致性。它使用一种崩溃一致的复制一致性协议(CC-NVM),以每个 I/O 操作为粒度管理 NVM 缓存,其吞吐量最高比 Ceph、NFS 和 Octopus 提高 56 倍,故障切换时间缩短 103 倍,同时保证线性一致性与前缀语义。
The adoption of very low latency persistent memory modules (PMMs) upends the long-established model of disaggregated file system access. Instead, by colocating computation and PMM storage, we can provide applications much higher I/O performance, sub-second application failover, and strong consistency. To demonstrate this, we built the Assise distributed file system, based on a persistent, replicated coherence protocol for managing a set of server-colocated PMMs as a fast, crash-recoverable cache between applications and slower disaggregated storage, such as SSDs. Unlike disaggregated file systems, Assise maximizes locality for all file IO by carrying out IO on colocated PMM whenever possible and minimizes coherence overhead by maintaining consistency at IO operation granularity, rather than at fixed block sizes. We compare Assise to Ceph/Bluestore, NFS, and Octopus on a cluster with Intel Optane DC PMMs and SSDs for common cloud applications and benchmarks, such as LevelDB, Postfix, and FileBench. We find that Assise improves write latency up to 22x, throughput up to 56x, fail-over time up to 103x, and scales up to 6x better than its counterparts, while providing stronger consistency semantics. Assise promises to beat the MinuteSort world record by 1.5x.
研究动机与目标
- 解决在低延迟持久内存(NVM)时代,去耦合文件系统在性能与可用性方面的局限性。
- 克服传统文件系统在使用 NVM 时因系统调用开销高、恢复时间长以及以块为粒度的一致性机制带来的问题。
- 在无需应用层 API 修改的前提下,实现高性能、崩溃一致且高可用的文件 I/O。
- 设计一种可扩展、低延迟的分布式文件系统,利用本地、插槽本地和网络本地的 NVM 进行缓存与复制。
- 通过在 I/O 操作级别而非固定块大小上管理一致性,实现强一致性并最小化一致性开销。
提出的方法
- 将应用进程与持久内存模块(PMMs)共置,以消除 I/O 操作的网络延迟。
- 实现 CC-NVM,一种崩溃一致的复制缓存一致性层,通过租约委派与日志记录确保前缀语义与线性一致性。
- 使用 RDMA 与 DMA 在远程和跨插槽 NVM 之间强制写入顺序,实现强一致性,无需内核介入。
- 支持绕过内核的 I/O,直接访问授权的本地与远程 NVM 区域,以最小化尾部延迟。
- 启用乐观模式,通过异步链式复制实现低写入延迟的持久化,同时保证前缀崩溃一致性。
- 部署备用副本作为网络本地的 NVM 缓存,在级联故障发生时转变为缓存副本,确保近乎即时的故障切换。
实验结果
研究问题
- RQ1与去耦合模型相比,共置的 NVM 是否能显著降低分布式文件系统中的 I/O 延迟与故障切换时间?
- RQ2当使用 NVM 作为高速持久缓存时,如何在最小化一致性开销的前提下维持强一致性?
- RQ3本地租约管理与进程本地缓存在多大程度上能提升文件系统工作负载的可扩展性并降低尾部延迟?
- RQ4崩溃一致的复制 NVM 缓存层(CC-NVM)是否能在不牺牲一致性的前提下同时提供高性能与高可用性?
- RQ5与 Ceph、NFS 和 Octopus 相比,Assise 在 LevelDB、Postfix 和 FileBench 等真实工作负载下的可扩展性如何?
主要发现
- 与 Ceph/Bluestore 相比,Assise 在 LevelDB 和 FileBench 等工作负载中,写入延迟降低最多 22 倍,吞吐量提升最多 56 倍。
- 由于利用崩溃一致副本在本地恢复 NVM 缓存,应用故障切换时间提升最多 103 倍。
- Assise 的可扩展性随进程数量线性增长,直到 NVM 写入带宽成为瓶颈,其可扩展性比 Ceph 提高 6 倍。
- 分片配置(Assise-sharded)由于本地化的一致性管理,即使在共享目录下,性能也比轮询分发高最多 20%。
- 私有目录分片(Assise-private)的性能与基于分片的优化相当,表明 CC-NVM 中的同步开销极低。
- 在大规模场景下,Assise 的吞吐量比 Orion 高 69 倍,比 Ceph 高 554 倍,并因低延迟、高吞吐的设计打破了 MinuteSort 世界纪录 1.5 倍。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。