Search papers, labs, and topics across Lattice.
This paper introduces OffloadFS, a user-level file system designed to offload I/O-intensive tasks to disaggregated storage nodes, leveraging NVMeoF's underutilized compute and memory capacity. OffloadFS avoids distributed lock management and optimizes cache management to reduce thread interference. Experiments demonstrate that OffloadFS, when used to build OffloadDB and OffloadPrep, improves RocksDB performance by up to 3.36x and ML pre-processing by up to 1.85x compared to OCFS2.
Free up your compute: OffloadFS shows how to get up to 3.36x speedup on I/O-bound tasks by pushing computation to disaggregated storage nodes.
Disaggregated storage systems improve resource utilization and enable independent scaling of storage and compute resources by separating storage resources from computing resources in data centers. NVMe over fabrics (NVMeoF) is a key technology that underpins the functionality and benefits of disaggregated storage systems. While NVMeoF inherently possesses substantial computing and memory capacity, these resources are often underutilized for tasks beyond simple I/O delegation. This study proposes OffloadFS, a user-level file system that enables offloaded IO-intensive tasks primarily to a disaggregated storage node for near-data processing, with the option to offload to peer compute nodes as well, without the need for distributed lock management. OffloadFS optimizes cache management by reducing interference between threads performing distinct I/O operations. On top of OffloadFS, we develop OffloadDB, which enables RocksDB to offload MemTable flush and compaction operations, and OffloadPrep, which offloads image pre-processing tasks for machine learning to disaggregated storage nodes. Our evaluation shows that OffloadFS improves the performance of RocksDB and machine learning pre-processing tasks by up to 3.36x and 1.85x, respectively, compared to OCFS2.