Hi all,

I've been silently working on my own memcached clone for quite some
time. Apart from implementing the memcached protocol I wanted to get
a reusable framework for other kinds of servers, so in a way memcached
was a testbed for a network library competing e.g. with libevent and libuv.

The project is located here: https://github.com/ademakov/MainMemory

I am about to make the very first release of the project fixing the last
known issues. It is not yet ready for real life use, but just to play around
with it.

For those who cannot find a better use of their time I welcome if they try
it and report any problems, issues, suggestions.

The key features of the framework:

* co-operatively scheduled fibers running on top of OS-level threads;
* concurrent event loop with lock-free thread notification mechanism;
* memory allocation mechanisms that try to avoid locks as much as
  possible.

The memcached-related features are nothing special, just regular text
and binary protocol via TCP. The internals are a bit different however:

* no slabs, all items are allocated in a single dlmalloc space;
* use clock eviction algorithm instead of LRU;
* there is experimental code that uses ring-buffer-based combiners
  instead of locks for synchronization.

Generally, IMHO, my version is written in a more modular fashion than
the original memcached. So it should be more open for those who are
interested to modify it for e.g. their research purposes and such.

Regards,
Aleksey

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to memcached+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to