All of lore.kernel.org
 help / color / mirror / Atom feed
* Lowering the weight to move PGs out
@ 2017-05-28  8:17 Loic Dachary
  2017-06-04 12:11 ` Loic Dachary
  0 siblings, 1 reply; 2+ messages in thread
From: Loic Dachary @ 2017-05-28  8:17 UTC (permalink / raw)
  To: Sage Weil; +Cc: Ceph Development

Hi Sage,

The most time consuming part of the optimization algorithm[1] comes from lowering the weight of the most over filled item. We cannot know exactly which value will push the desired number of PGs out. The values influenced by the weight are calculated during mapping[2] and derived from the parameters.

It would be useful find a way to expose all ln values (i.e. log(hash(PGid,r,item)) without the weight applied. A function behaving like map() but returning all straws from bucket_straw2_choose instead of chosing one based on the weights.

With the actual values influenced by the weights, we can calculate how much to lower the weight of a given item so that it does not win. Instead of trying small increments, we calculate the exact value.

What do you think ?

Cheers

[1] An algorithm to fix uneven CRUSH distributions in Ceph http://dachary.org/?p=4055
[2] https://github.com/ceph/ceph/blob/master/src/crush/mapper.c#L323
-- 
Loïc Dachary, Artisan Logiciel Libre

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Lowering the weight to move PGs out
  2017-05-28  8:17 Lowering the weight to move PGs out Loic Dachary
@ 2017-06-04 12:11 ` Loic Dachary
  0 siblings, 0 replies; 2+ messages in thread
From: Loic Dachary @ 2017-06-04 12:11 UTC (permalink / raw)
  To: Sage Weil; +Cc: Ceph Development

Hi Sage,

There is a draft implementation of the rebalancing algorithm at http://libcrush.org/main/libcrush/merge_requests/32/diffs and it hopefully shows the benefit for exposing straws.

Cheers

On 05/28/2017 10:17 AM, Loic Dachary wrote:
> Hi Sage,
> 
> The most time consuming part of the optimization algorithm[1] comes from lowering the weight of the most over filled item. We cannot know exactly which value will push the desired number of PGs out. The values influenced by the weight are calculated during mapping[2] and derived from the parameters.
> 
> It would be useful find a way to expose all ln values (i.e. log(hash(PGid,r,item)) without the weight applied. A function behaving like map() but returning all straws from bucket_straw2_choose instead of chosing one based on the weights.
> 
> With the actual values influenced by the weights, we can calculate how much to lower the weight of a given item so that it does not win. Instead of trying small increments, we calculate the exact value.
> 
> What do you think ?
> 
> Cheers
> 
> [1] An algorithm to fix uneven CRUSH distributions in Ceph http://dachary.org/?p=4055
> [2] https://github.com/ceph/ceph/blob/master/src/crush/mapper.c#L323
> 

-- 
Loïc Dachary, Artisan Logiciel Libre

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-06-04 12:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-28  8:17 Lowering the weight to move PGs out Loic Dachary
2017-06-04 12:11 ` Loic Dachary

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.