<div dir="ltr">We have tested the sheepdog with or without isa-l in our servers.<div><br></div><div>The CPU usage of sheepdog with zfec is 72~73%</div><div>The CPU usage of sheepdog with isa-l is 50~54%</div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-19 15:42 GMT+08:00 Hitoshi Mitake <span dir="ltr"><<a href="mailto:mitake.hitoshi@lab.ntt.co.jp" target="_blank">mitake.hitoshi@lab.ntt.co.jp</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">At Fri, 19 Sep 2014 14:01:13 +0800,<br>
<div><div class="h5">Robin Dong wrote:<br>
><br>
> From: Robin Dong <<a href="mailto:sanbai@taobao.com">sanbai@taobao.com</a>><br>
><br>
> isa-l is Intel Storage Acceleration Library which could accelerate<br>
> computing of erasure-code on intel CPU. We migrate the whole code<br>
> of isa-l v2.8<br>
> (<a href="https://01.org/sites/default/files/downloads/storage-acceleration-library/isa-l_open_src_2.8.tar.gz" target="_blank">https://01.org/sites/default/files/downloads/storage-acceleration-library/isa-l_open_src_2.8.tar.gz</a>)<br>
> into sheepdog for following optimization of erasure-code.<br>
><br>
> Signed-off-by: Robin Dong <<a href="mailto:sanbai@taobao.com">sanbai@taobao.com</a>><br>
> ---<br>
> lib/isa-l/About_bsd.txt | 26 +<br>
> lib/isa-l/Makefile | 42 +<br>
> lib/isa-l/Makefile.nmake | 78 +<br>
> lib/isa-l/Release_notes_opensrc.txt | 35 +<br>
> lib/isa-l/erasure_code/Makefile | 72 +<br>
> lib/isa-l/erasure_code/ec_base.c | 308 ++<br>
> lib/isa-l/erasure_code/ec_base.h | 4190 ++++++++++++++++++++<br>
> lib/isa-l/erasure_code/ec_highlevel_func.c | 90 +<br>
> lib/isa-l/erasure_code/ec_multibinary.asm | 214 +<br>
> lib/isa-l/erasure_code/erasure_code_base_perf.c | 245 ++<br>
> lib/isa-l/erasure_code/erasure_code_base_test.c | 614 +++<br>
> lib/isa-l/erasure_code/erasure_code_perf.c | 245 ++<br>
> lib/isa-l/erasure_code/erasure_code_sse_perf.c | 246 ++<br>
> lib/isa-l/erasure_code/erasure_code_sse_test.c | 612 +++<br>
> lib/isa-l/erasure_code/erasure_code_test.c | 616 +++<br>
> lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm | 234 ++<br>
> .../erasure_code/gf_2vect_dot_prod_sse_perf.c | 231 ++<br>
> .../erasure_code/gf_2vect_dot_prod_sse_test.c | 496 +++<br>
> lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm | 257 ++<br>
> .../erasure_code/gf_3vect_dot_prod_sse_perf.c | 260 ++<br>
> .../erasure_code/gf_3vect_dot_prod_sse_test.c | 593 +++<br>
> lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm | 294 ++<br>
> .../erasure_code/gf_4vect_dot_prod_sse_perf.c | 295 ++<br>
> .../erasure_code/gf_4vect_dot_prod_sse_test.c | 694 ++++<br>
> lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm | 310 ++<br>
> .../erasure_code/gf_5vect_dot_prod_sse_perf.c | 330 ++<br>
> .../erasure_code/gf_5vect_dot_prod_sse_test.c | 801 ++++<br>
> lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm | 321 ++<br>
> .../erasure_code/gf_6vect_dot_prod_sse_perf.c | 362 ++<br>
> .../erasure_code/gf_6vect_dot_prod_sse_test.c | 898 +++++<br>
> lib/isa-l/erasure_code/gf_inverse_test.c | 227 ++<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c | 179 +<br>
> .../erasure_code/gf_vect_dot_prod_base_test.c | 557 +++<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c | 203 +<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm | 193 +<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c | 203 +<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c | 557 +++<br>
> lib/isa-l/erasure_code/gf_vect_dot_prod_test.c | 557 +++<br>
> lib/isa-l/erasure_code/gf_vect_mul_avx.asm | 170 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c | 123 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_avx_test.c | 167 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_base_test.c | 155 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_perf.c | 124 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_sse.asm | 176 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c | 119 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_sse_test.c | 185 +<br>
> lib/isa-l/erasure_code/gf_vect_mul_test.c | 168 +<br>
> lib/isa-l/include/erasure_code.h | 379 ++<br>
> lib/isa-l/include/gf_vect_mul.h | 148 +<br>
> lib/isa-l/include/reg_sizes.asm | 94 +<br>
> lib/isa-l/include/test.h | 81 +<br>
> lib/isa-l/include/types.h | 78 +<br>
> lib/isa-l/make.inc | 207 +<br>
> 53 files changed, 19059 insertions(+)<br>
> create mode 100644 lib/isa-l/About_bsd.txt<br>
> create mode 100644 lib/isa-l/Makefile<br>
> create mode 100644 lib/isa-l/Makefile.nmake<br>
> create mode 100644 lib/isa-l/Release_notes_opensrc.txt<br>
> create mode 100644 lib/isa-l/erasure_code/Makefile<br>
> create mode 100644 lib/isa-l/erasure_code/ec_base.c<br>
> create mode 100644 lib/isa-l/erasure_code/ec_base.h<br>
> create mode 100644 lib/isa-l/erasure_code/ec_highlevel_func.c<br>
> create mode 100644 lib/isa-l/erasure_code/ec_multibinary.asm<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_base_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_base_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/erasure_code_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_inverse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_base_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_base_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse.asm<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_test.c<br>
> create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_test.c<br>
> create mode 100644 lib/isa-l/include/erasure_code.h<br>
> create mode 100644 lib/isa-l/include/gf_vect_mul.h<br>
> create mode 100644 lib/isa-l/include/reg_sizes.asm<br>
> create mode 100644 lib/isa-l/include/test.h<br>
> create mode 100644 lib/isa-l/include/types.h<br>
> create mode 100644 lib/isa-l/make.inc<br>
<br>
</div></div>The patchset seems so large, but it has good modularity. I'd like to<br>
apply it soon.<br>
<br>
But before applying, can I see benchmark results which can show<br>
improvement by this patchset?<br>
<br>
Thanks,<br>
Hitoshi<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>--<br>Best Regard<br>Robin Dong
</div>