[sheepdog] [sheepdog/sheepdog] d90dd4: initial accelio support

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Tue Oct 6 10:01:57 CEST 2015


  Branch: refs/heads/accelio-v1.3
  Home:   https://github.com/sheepdog/sheepdog
  Commit: d90dd42a7a7cba1954a78ef5bbc990cb2f7a76f8
      https://github.com/sheepdog/sheepdog/commit/d90dd42a7a7cba1954a78ef5bbc990cb2f7a76f8
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2015-10-06 (Tue, 06 Oct 2015)

  Changed paths:
    M configure.ac
    M include/internal_proto.h
    M include/net.h
    A include/xio.h
    M lib/Makefile.am
    A lib/xio.c
    M sheep/Makefile.am
    M sheep/gateway.c
    M sheep/request.c
    M sheep/sheep.c
    M sheep/sheep_priv.h
    A sheep/xio.c
    M shepherd/Makefile.am

  Log Message:
  -----------
  initial accelio support

This patch adds a support of accelio, an library of RPC which wraps
TCP and RDMA in clean way, to sheepdog. With this change, sheepdog
will be able to utilize high speed interconnect like infiniband.

The code is very early stage and have bunch of ToDos. However, I'd
like to share it and want the community to help the implementation.

How to build:
 1. install accelio
 2. ./configure --enable-accelio
 3. make

How to use:
 $ sheep -i transport=rdma,host=xxx,port=yyy ...

Minor ToDos:
 - clean up code (e.g. comment out)
 - remove known segfault bugs
 - sane error handling
 - remove memory leaks

Major ToDos:
 - enhance code for utilizing RDMA
 - rx/tx in worker threads (I'm not sure it is effective because RDMA
   helps to reduce CPU consumption)

Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>


  Commit: 73322d65f9396737bb8fecee8f3f8fc9c481d05e
      https://github.com/sheepdog/sheepdog/commit/73322d65f9396737bb8fecee8f3f8fc9c481d05e
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2015-10-06 (Tue, 06 Oct 2015)

  Changed paths:
    M include/net.h
    M lib/xio.c
    M sheep/xio.c

  Log Message:
  -----------
  xio: implement correct data structure for sessions and connections


  Commit: 1457231fe96fc5295b0acfe56254e3aa674ad8c1
      https://github.com/sheepdog/sheepdog/commit/1457231fe96fc5295b0acfe56254e3aa674ad8c1
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2015-10-06 (Tue, 06 Oct 2015)

  Changed paths:
    M lib/sockfd_cache.c

  Log Message:
  -----------
  sockfd: don't use io_addr if accelio is supported


Compare: https://github.com/sheepdog/sheepdog/compare/d90dd42a7a7c^...1457231fe96f


More information about the sheepdog mailing list