UCSC-SOE-15-10: Mantle: A Programmable Metadata Load Balancer for the Ceph File System

Michael Sevilla, Noah Watkins, Carlos Maltzahn, Ike Nassi, Scott Brandt, Sage Weil, Greg Farnum, Sam Fineberg
05/18/2015 12:11 PM
Computer Science
Migrating resources is a useful tool for balancing load in a distributed system, but it is difficult to determine when to move resources, where to move resources, and how much of them to move. We look at resource migration for file system metadata and show how CephFS’s dynamic subtree partitioning approach can exploit varying degrees of locality and balance because it can partition the namespace into variable sized units. Unfortunately, the current metadata balancer is complicated and difficult to control because it struggles to address many of the general resource migration challenges inherent to the metadata management problem. To help decouple policy from mechanism, we introduce a programmable storage system that lets the designer inject custom balancing logic. We show the flexibility of this approach by replicating the strategy of a state-of-the-art metadata balancer and conclude by comparing this strategy to other custom balancers on the same system. Our solution increases performance by up to 9% for a mixed workload and demonstrates that distributing metadata load evenly can degrade performance by 40%. (A version of this paper has been accepted at SC'15, Austin, TX).