[Openstack] [Swift] : Ring Algorithm

Mark Kirkwood mark.kirkwood at catalyst.net.nz
Fri Feb 10 07:19:23 UTC 2017


Hi Sameer,

A good question - the docs do mention a 'far apart as possible' 
distribution algorithm. If you study the code (in swift/common/ring*.py) 
there is a discussion of tiers (zone and region) which relate to this 
concept. Now I've not studied this in enough detail myself (yet) to give 
you a good/fast summary (maybe some others can) but this is the area to 
look at if you want do understand how it works!


Cheers


Mark


On 10/02/17 19:34, Sameer Kulkarni wrote:
> Hi All,
>
> I was trying to understand the Ring Algorithm for Openstack Swift. I 
> have went through official docs. I found that it uses Consistent 
> Hashing Ring[1].
>
> But the problem is, It doesn't mention about the features of Swift 
> like Given 3 regions, Each file should go to different regions etc.
>
> If I have 8 nodes with equal weights, then a couple of nodes are 
> always empty even after inserting 20 files [with each of 3 replicas]. 
> I feel that this doesn't happen in Swift Algorithm, But only in 
> Consistent Hashing Ring.
> *
> *
> *So, what other things Swift Ring Algorithm have apart from Consistent 
> Hashing Ring?*
>
> Thank you
>
> Sameer Kulkarni
>





More information about the Openstack mailing list