[sheepdog] [PATCH v1 1/3] sheep: migrate isa-l into sheepdog

Robin Dong robin.k.dong at gmail.com
Fri Sep 19 09:53:13 CEST 2014


We have tested the sheepdog with or without isa-l in our servers.

The CPU usage of sheepdog with zfec is 72~73%
The CPU usage of sheepdog with isa-l is 50~54%

2014-09-19 15:42 GMT+08:00 Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>:

> At Fri, 19 Sep 2014 14:01:13 +0800,
> Robin Dong wrote:
> >
> > From: Robin Dong <sanbai at taobao.com>
> >
> > isa-l is Intel Storage Acceleration Library which could accelerate
> > computing of erasure-code on intel CPU. We migrate the whole code
> > of isa-l v2.8
> > (
> https://01.org/sites/default/files/downloads/storage-acceleration-library/isa-l_open_src_2.8.tar.gz
> )
> > into sheepdog for following optimization of erasure-code.
> >
> > Signed-off-by: Robin Dong <sanbai at taobao.com>
> > ---
> >  lib/isa-l/About_bsd.txt                            |   26 +
> >  lib/isa-l/Makefile                                 |   42 +
> >  lib/isa-l/Makefile.nmake                           |   78 +
> >  lib/isa-l/Release_notes_opensrc.txt                |   35 +
> >  lib/isa-l/erasure_code/Makefile                    |   72 +
> >  lib/isa-l/erasure_code/ec_base.c                   |  308 ++
> >  lib/isa-l/erasure_code/ec_base.h                   | 4190
> ++++++++++++++++++++
> >  lib/isa-l/erasure_code/ec_highlevel_func.c         |   90 +
> >  lib/isa-l/erasure_code/ec_multibinary.asm          |  214 +
> >  lib/isa-l/erasure_code/erasure_code_base_perf.c    |  245 ++
> >  lib/isa-l/erasure_code/erasure_code_base_test.c    |  614 +++
> >  lib/isa-l/erasure_code/erasure_code_perf.c         |  245 ++
> >  lib/isa-l/erasure_code/erasure_code_sse_perf.c     |  246 ++
> >  lib/isa-l/erasure_code/erasure_code_sse_test.c     |  612 +++
> >  lib/isa-l/erasure_code/erasure_code_test.c         |  616 +++
> >  lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm   |  234 ++
> >  .../erasure_code/gf_2vect_dot_prod_sse_perf.c      |  231 ++
> >  .../erasure_code/gf_2vect_dot_prod_sse_test.c      |  496 +++
> >  lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm   |  257 ++
> >  .../erasure_code/gf_3vect_dot_prod_sse_perf.c      |  260 ++
> >  .../erasure_code/gf_3vect_dot_prod_sse_test.c      |  593 +++
> >  lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm   |  294 ++
> >  .../erasure_code/gf_4vect_dot_prod_sse_perf.c      |  295 ++
> >  .../erasure_code/gf_4vect_dot_prod_sse_test.c      |  694 ++++
> >  lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm   |  310 ++
> >  .../erasure_code/gf_5vect_dot_prod_sse_perf.c      |  330 ++
> >  .../erasure_code/gf_5vect_dot_prod_sse_test.c      |  801 ++++
> >  lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm   |  321 ++
> >  .../erasure_code/gf_6vect_dot_prod_sse_perf.c      |  362 ++
> >  .../erasure_code/gf_6vect_dot_prod_sse_test.c      |  898 +++++
> >  lib/isa-l/erasure_code/gf_inverse_test.c           |  227 ++
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c     |  179 +
> >  .../erasure_code/gf_vect_dot_prod_base_test.c      |  557 +++
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c     |  203 +
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm    |  193 +
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c |  203 +
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c |  557 +++
> >  lib/isa-l/erasure_code/gf_vect_dot_prod_test.c     |  557 +++
> >  lib/isa-l/erasure_code/gf_vect_mul_avx.asm         |  170 +
> >  lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c      |  123 +
> >  lib/isa-l/erasure_code/gf_vect_mul_avx_test.c      |  167 +
> >  lib/isa-l/erasure_code/gf_vect_mul_base_test.c     |  155 +
> >  lib/isa-l/erasure_code/gf_vect_mul_perf.c          |  124 +
> >  lib/isa-l/erasure_code/gf_vect_mul_sse.asm         |  176 +
> >  lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c      |  119 +
> >  lib/isa-l/erasure_code/gf_vect_mul_sse_test.c      |  185 +
> >  lib/isa-l/erasure_code/gf_vect_mul_test.c          |  168 +
> >  lib/isa-l/include/erasure_code.h                   |  379 ++
> >  lib/isa-l/include/gf_vect_mul.h                    |  148 +
> >  lib/isa-l/include/reg_sizes.asm                    |   94 +
> >  lib/isa-l/include/test.h                           |   81 +
> >  lib/isa-l/include/types.h                          |   78 +
> >  lib/isa-l/make.inc                                 |  207 +
> >  53 files changed, 19059 insertions(+)
> >  create mode 100644 lib/isa-l/About_bsd.txt
> >  create mode 100644 lib/isa-l/Makefile
> >  create mode 100644 lib/isa-l/Makefile.nmake
> >  create mode 100644 lib/isa-l/Release_notes_opensrc.txt
> >  create mode 100644 lib/isa-l/erasure_code/Makefile
> >  create mode 100644 lib/isa-l/erasure_code/ec_base.c
> >  create mode 100644 lib/isa-l/erasure_code/ec_base.h
> >  create mode 100644 lib/isa-l/erasure_code/ec_highlevel_func.c
> >  create mode 100644 lib/isa-l/erasure_code/ec_multibinary.asm
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_base_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_base_test.c
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/erasure_code_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_inverse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_base_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_base_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse.asm
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_test.c
> >  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_test.c
> >  create mode 100644 lib/isa-l/include/erasure_code.h
> >  create mode 100644 lib/isa-l/include/gf_vect_mul.h
> >  create mode 100644 lib/isa-l/include/reg_sizes.asm
> >  create mode 100644 lib/isa-l/include/test.h
> >  create mode 100644 lib/isa-l/include/types.h
> >  create mode 100644 lib/isa-l/make.inc
>
> The patchset seems so large, but it has good modularity. I'd like to
> apply it soon.
>
> But before applying, can I see benchmark results which can show
> improvement by this patchset?
>
> Thanks,
> Hitoshi
>



-- 
--
Best Regard
Robin Dong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20140919/501e9e43/attachment-0004.html>


More information about the sheepdog mailing list