Ceph Jerasure and ISA plugins benchmarks

In Ceph, a pool can be configured to use erasure coding instead of replication to save space. When used with Intel processors, the default Jerasure plugin that computes erasure code can be replaced by the ISA plugin for better write performances. Here is how they compare on a Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz.

Encoding and decoding all used 4KB objects which is the default stripe width. Two variants of the jerasure plugins were used: Generic (jerasure_generic) and SIMD (erasure_sse4) which is used when running on an Intel processor with SIMD instructions.
This benchmark was run after compiling from sources using

$ ( cd src ; make ceph_erasure_code_benchmark )
$ TOTAL_SIZE=$((4 * 1024 * 1024 * 1024)) \
CEPH_ERASURE_CODE_BENCHMARK=src/ceph_erasure_code_benchmark \
  qa/workunits/erasure-code/bench.sh fplot | \
  tee qa/workunits/erasure-code/bench.js

and displayed with

firefox qa/workunits/erasure-code/bench.html

2 Replies to “Ceph Jerasure and ISA plugins benchmarks”

  1. Dear Loic Dachary,
    According to your results, the ISA (Vandermonden and Cauchy) seems better than jerasure plugin.
    However, I tried to repeat your experiments. My CPU is same as yours. But the ISA results are very similar to the jerasure results .
    My linux kernel is 4.10.
    Do you have any suggestions or tips to increase the efficiency of ISA?

  2. Dear Loic Zachary

    I just found your Ceph performance test, very informative. Would it be possible also to get the performance having no erasures in place? I am interested to se if ISA-L scale’s performance with no erasure in place inside Ceph.


Comments are closed.