ketama consistent hashing update

Russell Garrett russ at last.fm
Wed Aug 8 10:59:55 UTC 2007


Steven Grimm wrote:
> Brad Fitzpatrick wrote:
>>    -- do we pre-compute 'n' points like my perl client?
>>
>>       (note that this can be done lazily too, only evaluating each of
>>        1024 positions the first time they're accessed)
>>   
> I'd like to request that we standardize on a much bigger number than 
> 1024. If you have a ton of memcached instances, "n" doesn't have to be 
> very high before a space of 1024 values starts to get pretty crowded, 
> if not completely full.
I don't think Brad is talking about a continuum of 1024 entries - Ketama 
uses 0 to MAX_INT - he's talking about pre-computing a lookup table of 
1024 entries in order to find the target point quicker, instead of doing 
a binary search.

For what it's worth, Ketama can do 1 million lookups in 5ms (including 
building the initial data structures) on a fairly ancient Xeon, so I'm 
not sure if there is a need for any further optimisation in this area.

Cheers,

Russ Garrett
Last.fm Ltd.
russ at last.fm


More information about the memcached mailing list