PlatformLab / memcached-A

The repo for both original memcached and memcached-A

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Memcached-A (Under Construction)

Note

This repo contains two major branches: the original memcached version 1.5.6 (master branch); and the memcached-A (restructured memcached-1.5.6 with Arachne, memcached-A branch).

The coreTrace branch adds timetraces and counters on memcached 1.5.6 to record the changes of cores, time spent on libevent turnaround and network I/O, etc.

Memcached-A is currently under construction; the unit tests may be failing.

How do I use Memcached-A?

  1. Clone this repo to your target directory ${MEMCACHE_DIR}. The default branch is memcached-A branch.

    git clone https://github.com/PlatformLab/memcached.git ${MEMCACHE_DIR}
    cd ${MEMCACHE_DIR}
    
  2. Use the scripts/prepare.sh to install Arachne and compile memcached-A

    ./scripts/prepare.sh
    

    It will automatically download Arachne and its dependencies, and build everything for you. This script can take a few minutes to run :)

  3. Make sure the core arbiter is running in your system, if not, start it by:

    sudo ${MEMCACHE_DIR}/arachne-all/CoreArbiter/bin/coreArbiterServer
    

    You can make it run in background.

  4. Then start memcached-A in ${MEMCACHE_DIR}, here is an example command:

    ./memcached --minNumCores 2 --maxNumCores 15 -t 1 -c 32768 -m 10240
    

    This will start a memcached-A service with 1 dispatch thread, max 32768 connections, and 10GB memory. It will use at least 2 cores and at most 15 cores; Arachne will automatically adjust the number allocated cores based on the current load.

About

The repo for both original memcached and memcached-A

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 72.5%Language:Perl 19.9%Language:M4 2.2%Language:Python 2.2%Language:DTrace 1.0%Language:C++ 0.9%Language:Shell 0.7%Language:Makefile 0.4%Language:Roff 0.2%Language:Objective-C 0.1%