BACKGROUND

Storage of large amounts of data, for example for backups and disaster recovery of large-scale systems, benefits from solutions that are based on a trade-off of access time, resource utilization, and financial costs. In some scenarios, a log-structured file system (LFS) provides desirable properties. An LFS uses segment cleaning to reclaim storage space, moving remnants of partially-deleted data from multiple lightly-used contiguous sections (e.g., log segments) into a smaller set of more heavily-used segments. This provides the opportunity to write new data as entire segments, which reduces the negative impact of a phenomenon known as write amplification—an expansion of the input/output (I/O) transactions that are caused, at least in part, by error control measures. When an LFS is implemented on a large scale, however, it is difficult to preserve segment cleaning efficiencies with existing systems.

SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

Aspects of the disclosure provide scalable segment cleaning for log-structured file systems (LFSs) include determining counts of segment cleaners and virtual nodes, each virtual node associated with a plurality of objects; assigning each virtual node to a selected segment cleaner; based at least on the assignments, performing, for each virtual node, segment cleaning of the objects by its assigned segment cleaner; reassigning a portion, less than all, of the virtual nodes to a newly selected segment cleaner, based at least on a change of the count of the segment cleaners and/or a change of the count of the virtual nodes; and based at least on the reassignments, performing, for each reassigned virtual node, segment cleaning of the objects by its reassigned segment cleaner.

