Ceph erasure code jerasure plugin benchmarks (Highbank ARMv7)

The benchmark described for Intel Xeon is run with a Highbank ARMv7 Processor rev 0 (v7l) processor (the maker of the processor was Calxeda ), using the same codebase:

The encoding speed is ~450MB/s for K=2,M=1 (i.e. a RAID5 equivalent) and ~25MB/s for K=10,M=4.

It is also run with Highbank ARMv7 Processor rev 2 (v7l) (note the 2):

The encoding speed is ~650MB/s for K=2,M=1 (i.e. a RAID5 equivalent) and ~75MB/s for K=10,M=4.

Note: The code of the erasure code plugin does not contain any NEON optimizations.

Benchmark reports

The bench.sh output is rendered in a standalone HTML page with Flot from the root directory of the source file.

Both run with the following:

TOTAL_SIZE=$((400 * 1024 * 1024)) \
CEPH_ERASURE_CODE_BENCHMARK=src/ceph_erasure_code_benchmark \
PLUGIN_DIRECTORY=src/.libs \
  qa/workunits/erasure-code/bench.sh fplot jerasure

Results interpretation

See explanations from the corresponding benchmark Intel Xeon

3 Replies to “Ceph erasure code jerasure plugin benchmarks (Highbank ARMv7)”

  1. Hey Loic,

    I had a quick question on the specs of the calxeda procs that you used in this testing. I think that any documentation that I could have found has gone offline (the wayback machine wasn’t too much help and I only found one reference to ceph and calxeda on ceph’s page).

    Do you have a datasheet, or could you provide me a brief spec on the capabilities of the two proc revs? (number of cores, clock speed, does it have a ToE, etc.)

    Thanks so much!

    – Grant

  2. I’ve not been able to find data sheets either, unfortunately. Here is the content of /proc/cpuinfo if that helps

    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 300.00
    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc0f
    CPU revision : 2

    processor : 1
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 300.00
    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc0f
    CPU revision : 2

    processor : 2
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 300.00
    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc0f
    CPU revision : 2

    processor : 3
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 300.00
    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc0f
    CPU revision : 2

    Hardware : Highbank
    Revision : 0000
    Serial : 0000000000000000

  3. This does help, thank you!

    However I do have a few follow up questions,

    – what does /proc/meminfo look like, and what is the output of “ethtool -k eth0”?

    Also, I know that Jerasure 2.0 makes use of pthreads, when you ran these benchmarks what did cpu utilization look like?

    Thanks again,

    – Grant

Comments are closed.