Is this meant to be a thread about algorithms or a thread about implementations of algorithms?

Personally I think we should be working towards having a standard C implementation of a memcached client that can be linked in as a library for other languages. (I've done some work on this already actually...) C afterall is the LCD for pretty much every language we care about right? Which means I think we should simply be hacking on top of Ketama or a fork or start from scratch :) Is there some advantage to having lots of client implementations in various languages that I'm not aware of?

Alex Stapleton
[EMAIL PROTECTED]
T: 0207 0700 956


On 25 Apr 2007, at 03:36, Brad Fitzpatrick wrote:

Back in August I posted some consistent hashing code.  I finally got
around to putting it into a Perl library recently:

   http://search.cpan.org/~bradfitz/Set-ConsistentHash/

But with some of the alternatives springing up, it might be a good time to discuss some standard consistent hashing strategies, for inter- language
interop (when sharing the same set of memcached server using different
client libraries/languages), in the same way we all agreed to use
certain bits out of crc32 back in the day.

And let me predeclare that I don't claim my implementation to be the
best... it might have bugs, or there might be better ways to do stuff.
But it was my testbed for testing how things distributed on failures, and I made sure it was fast (it precomputes the node selection for 1024 points
on the circle, so the common case is an array lookup on, say,
crc32($your_key) % 1024, rather than doing the full lookup every time...)

Anybody care to lead this discussion? I just wanted to kick-start it. :)

- Brad


Reply via email to