Shard rebalancing based on over-provisioning
AssigneeFacebook, Inc.
InventorsNavneeth Kankani, Mrinmoy Ghosh
Life of this patent
Estimating the term…
Abstract
A performance metric of a data shard stored in a first storage portion is monitored. It is determined that the performance metric of the data shard exceeds a threshold. In response to the determination that the performance metric exceeds the threshold, the data shard is reassigned to a second storage portion selected based on an over-provisioning bias of the second storage portion that is different than an over-provisioning bias of the first storage portion or the over-provisioning bias of the first storage portion is increased.
Claims20
A method comprising:
- monitoring a performance metric of a data shard including a plurality of files stored in a first storage portion;
- determining that the performance metric of the data shard including the plurality of files exceeds a threshold;
- in response to at least the determination that the performance metric exceeds the threshold, increasing the over-provisioning bias of a first storage portion storing a plurality of data shards each storing a plurality of files;
- and
- in response to a determination that a cumulative value the over-provisioning bias associated with an amount of buffer space allocated to the first storage portion meets a cumulative over-provisioning bias limit, rebalancing the plurality of data shards of the first storage portion including by reassigning the data shard to a second storage portion selected based on an over-provisioning bias of the second storage portion that is different than the over-provisioning bias of the first storage portion.
A system comprising:
- a processor configured to:
- monitor a performance metric of a data shard including a plurality of files stored in a first storage portion;
- determine that the performance metric of the data shard including the plurality of files exceeds a threshold;
- in response to at least the determination that the performance metric exceeds the threshold, increase the over-provisioning bias of a first storage portion storing a plurality of data shards each storing a plurality of files;
- and
- in response to a determination that a cumulative value the over-provisioning bias associated with an amount of buffer space allocated to the first storage portion meets a cumulative over-provisioning bias limit, rebalance the plurality of data shards of the first storage portion including by reassigning the data shard to a second storage portion selected based on an over-provisioning bias of the second storage portion that is different than the over-provisioning bias of the first storage portion;
- and
- a memory coupled to the processor and configured to provide the processor with instructions.
A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- monitoring a performance metric of a data shard including a plurality of files stored in a first storage portion;
- determining that the performance metric of the data shard including the plurality of files exceeds a threshold;
- and
- in response to at least the determination that the performance metric exceeds the threshold, increasing the over-provisioning bias of a first storage portion storing a plurality of data shards each storing a plurality of files;
- and
- in response to a determination that a cumulative value the over-provisioning bias associated with an amount of buffer space allocated to the first storage portion meets a cumulative over-provisioning bias limit, rebalancing the plurality of data shards of the first storage portion including by reassigning the data shard to a second storage portion selected based on an over-provisioning bias of the second storage portion that is different than the over-provisioning bias of the first storage portion.
Dependencies are inferred from the claim text.