From: Loic Dachary <loic@dachary.org>
To: Andreas Joachim Peters <Andreas.Joachim.Peters@cern.ch>
Cc: "ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: CEPH Erasure Encoding + OSD Scalability
Date: Wed, 25 Sep 2013 17:14:36 +0200 [thread overview]
Message-ID: <5242FDDC.3060504@dachary.org> (raw)
In-Reply-To: <3472A07E6605974CBC9BC573F1BC02E4A52736D1@PLOXCHG03.cern.ch>
[-- Attachment #1: Type: text/plain, Size: 5686 bytes --]
Hi Andreas,
It looks like this code would be useful as a standalone program instead of being integrated within unit tests. There are a few support program of that kind. The unit tests are probably not the best place for benchmarks. What do you think ?
Cheers
Note: got the updated file ;-)
> I fixed some more issues in the test:
>
> 1 strncmp => memcmp (object has now binary data and 0 ..)
> 2 I fixed the length of the second block which was wrong after the change from 2,2 to 4,2
> 3 I have put 1MB as default object size, otherwise running with valgrind is too long
> 4 I have simplified the time measurement code etc.
>
On 23/09/2013 17:43, Andreas Joachim Peters wrote:
> Hi Loic,
>
> I have modified the Jerasure unit test, to record the encoding & reconstruction performance and to store this value in the optional google-test xml outputfile. I have put (4,2) with a 4MB random object as default and one can pass a different object size via '--object-size=1000' (for 1G).
>
> It looks like this:
>
> ./unittest_erasure_code_jerasure --gtest_filter=*.* --log-to-stderr=true --gtest_output="xml:erasure.xml" --object-size=1000
> Note: Google Test filter = *.*
> [==========] Running 8 tests from 8 test cases.
> [----------] Global test environment set-up.
> [----------] 1 test from ErasureCodeTest/0, where TypeParam = ErasureCodeJerasureReedSolomonVandermonde
> [ RUN ] ErasureCodeTest/0.encode_decode
> [ OK ] ErasureCodeTest/0.encode_decode (35231 ms)
> [----------] 1 test from ErasureCodeTest/0 (35231 ms total)
>
> [----------] 1 test from ErasureCodeTest/1, where TypeParam = ErasureCodeJerasureReedSolomonRAID6
> [ RUN ] ErasureCodeTest/1.encode_decode
> [ OK ] ErasureCodeTest/1.encode_decode (35594 ms)
> [----------] 1 test from ErasureCodeTest/1 (35594 ms total)
>
> [----------] 1 test from ErasureCodeTest/2, where TypeParam = ErasureCodeJerasureCauchyOrig
> [ RUN ] ErasureCodeTest/2.encode_decode
> [ OK ] ErasureCodeTest/2.encode_decode (33009 ms)
> [----------] 1 test from ErasureCodeTest/2 (33010 ms total)
>
> [----------] 1 test from ErasureCodeTest/3, where TypeParam = ErasureCodeJerasureCauchyGood
> [ RUN ] ErasureCodeTest/3.encode_decode
> [ OK ] ErasureCodeTest/3.encode_decode (31917 ms)
> [----------] 1 test from ErasureCodeTest/3 (31920 ms total)
>
> [----------] 1 test from ErasureCodeTest/4, where TypeParam = ErasureCodeJerasureLiberation
> [ RUN ] ErasureCodeTest/4.encode_decode
> [ OK ] ErasureCodeTest/4.encode_decode (31801 ms)
> [----------] 1 test from ErasureCodeTest/4 (31801 ms total)
>
> [----------] 1 test from ErasureCodeTest/5, where TypeParam = ErasureCodeJerasureBlaumRoth
> [ RUN ] ErasureCodeTest/5.encode_decode
> [ OK ] ErasureCodeTest/5.encode_decode (31927 ms)
> [----------] 1 test from ErasureCodeTest/5 (31927 ms total)
>
> [----------] 1 test from ErasureCodeTest/6, where TypeParam = ErasureCodeJerasureLiber8tion
> [ RUN ] ErasureCodeTest/6.encode_decode
> [ OK ] ErasureCodeTest/6.encode_decode (31824 ms)
> [----------] 1 test from ErasureCodeTest/6 (31824 ms total)
>
> [----------] 1 test from ErasureCodeTiming
> [ RUN ] ErasureCodeTiming.PropertyOutput
> [ -TIMING- ] technique=blaum_roth speed [ encode ]=2.902 [GB/s]
> [ -TIMING- ] technique=blaum_roth speed [ reco ]=1.701 [GB/s]
> [ -TIMING- ] technique=cauchy_good speed [ encode ]=2.551 [GB/s]
> [ -TIMING- ] technique=cauchy_good speed [ reco ]=1.571 [GB/s]
> [ -TIMING- ] technique=cauchy_orig speed [ encode ]=1.401 [GB/s]
> [ -TIMING- ] technique=cauchy_orig speed [ reco ]=0.911 [GB/s]
> [ -TIMING- ] technique=liber8tion speed [ encode ]=2.861 [GB/s]
> [ -TIMING- ] technique=liber8tion speed [ reco ]=1.822 [GB/s]
> [ -TIMING- ] technique=liberation speed [ encode ]=2.863 [GB/s]
> [ -TIMING- ] technique=liberation speed [ reco ]=1.815 [GB/s]
> [ -TIMING- ] technique=reed_sol_r6_op speed [ encode ]=1.194 [GB/s]
> [ -TIMING- ] technique=reed_sol_r6_op speed [ reco ]=0.489 [GB/s]
> [ -TIMING- ] technique=reed_sol_van speed [ encode ]=0.600 [GB/s]
> [ -TIMING- ] technique=reed_sol_van speed [ reco ]=0.429 [GB/s]
> [ OK ] ErasureCodeTiming.PropertyOutput (0 ms)
> [----------] 1 test from ErasureCodeTiming (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 8 tests from 8 test cases ran. (231307 ms total)
> [ PASSED ] 8 tests.
>
>
> [----------] Global test environment tear-down
> [==========] 8 tests from 8 test cases ran. (31351 ms total)
> [ PASSED ] 8 tests.
>
> And the XML:
>
> <testsuite name="ErasureCodeTiming" tests="1" failures="0" disabled="0" errors="0" time="0">
> <testcase name="PropertyOutput" status="run" time="0" classname="ErasureCodeTiming" jerasure::blaum_roth::encode="2902" jerasure::blaum_roth::reco="1700" jerasure::cauchy_good::encode="2551" jerasure::cauchy_good::reco="1571" jerasure::cauchy_orig::encode="1401" jerasure::cauchy_orig::reco="910" jerasure::liber8tion::encode="2861" jerasure::liber8tion::reco="1821" jerasure::liberation::encode="2862" jerasure::liberation::reco="1814" jerasure::reed_sol_r6_op::encode="1194" jerasure::reed_sol_r6_op::reco="489" jerasure::reed_sol_van::encode="599" jerasure::reed_sol_van::reco="428" object-size="1000000000" />
> </testsuite>
>
> Maybe you could use this directly for QA.
>
> Cheers Andreas.
>
--
Loïc Dachary, Artisan Logiciel Libre
All that is necessary for the triumph of evil is that good people do nothing.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 261 bytes --]
next prev parent reply other threads:[~2013-09-25 16:23 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-22 23:00 CEPH Erasure Encoding + OSD Scalability Andreas Joachim Peters
2013-09-23 7:27 ` Loic Dachary
2013-09-23 9:37 ` Andreas Joachim Peters
2013-09-23 15:43 ` Andreas Joachim Peters
2013-09-25 15:14 ` Loic Dachary [this message]
2013-09-25 18:33 ` Andreas Joachim Peters
2013-09-25 18:48 ` Loic Dachary
2013-09-25 18:53 ` Sage Weil
[not found] ` <CAGhffvz1TYYLoqn0tps1HiLObSCv7H0ZNVgOd0raicGqgRuukA@mail.gmail.com>
2013-09-26 19:18 ` Loic Dachary
2013-09-26 21:49 ` Andreas Joachim Peters
2013-09-27 9:40 ` Loic Dachary
2013-10-01 23:00 ` Andreas Joachim Peters
2013-10-02 10:04 ` Loic Dachary
2013-10-02 10:15 ` Loic Dachary
[not found] <-7369304096744919226@unknownmsgid>
2013-09-20 11:35 ` Andreas Joachim Peters
2013-09-20 12:33 ` Loic Dachary
2013-09-20 13:19 ` Mark Nelson
2013-09-20 15:36 ` Sage Weil
2013-09-20 16:49 ` Loic Dachary
2013-09-21 15:11 ` Loic Dachary
2013-09-22 7:26 ` Andreas Joachim Peters
2013-09-22 9:41 ` Loic Dachary
2013-11-12 1:11 ` Andreas Joachim Peters
2013-11-12 18:06 ` Loic Dachary
2013-11-19 11:35 ` Andreas Joachim Peters
2013-12-09 16:45 ` Loic Dachary
2013-12-09 17:03 ` Mark Nelson
2013-12-10 8:43 ` Loic Dachary
2013-12-11 9:49 ` Andreas Joachim Peters
2013-12-11 12:28 ` Loic Dachary
2013-12-11 13:00 ` Mark Nelson
2013-12-13 15:47 ` Andreas Joachim Peters
2013-12-13 16:42 ` Loic Dachary
[not found] <3472A07E6605974CBC9BC573F1BC02E494B06990@PLOXCHG04.cern.ch>
2013-07-05 21:23 ` Loic Dachary
2013-07-06 13:45 ` Andreas Joachim Peters
2013-07-06 15:28 ` Mark Nelson
2013-07-06 20:43 ` Loic Dachary
2013-07-08 15:38 ` Mark Nelson
[not found] ` <CAGhffvx5-xmprT-vL1VNrz12+pJSikg1WsUqy_JRdW0JNm5auQ@mail.gmail.com>
2013-07-06 20:47 ` Loic Dachary
2013-07-07 21:04 ` Andreas Joachim Peters
2013-07-08 3:37 ` Sage Weil
2013-07-08 10:00 ` Andreas Joachim Peters
2013-07-08 10:31 ` Loic Dachary
2013-07-08 15:47 ` Sage Weil
2013-08-19 10:35 ` Loic Dachary
2013-08-22 21:50 ` Andreas Joachim Peters
[not found] ` <CAGhffvwB87a+1294BjmPrfu0a9hYdu17N-eHOvYCHWMXDLcJmA@mail.gmail.com>
2013-08-22 23:03 ` Loic Dachary
[not found] ` <CAGhffvxW9sG5LtcF-tU1YGkCMAQUfh2WW_3N=f=-vWs48vyxkQ@mail.gmail.com>
2013-08-24 19:41 ` Loic Dachary
2013-08-25 11:49 ` Loic Dachary
2013-09-14 14:59 ` Andreas Joachim Peters
2013-09-14 18:04 ` Loic Dachary
[not found] <CAGhffvws=OabwJHi+7n=SOg+YNxAnU=Zt8WLVZtvf1neHZQYhw@mail.gmail.com>
2013-07-04 13:07 ` Loic Dachary
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5242FDDC.3060504@dachary.org \
--to=loic@dachary.org \
--cc=Andreas.Joachim.Peters@cern.ch \
--cc=ceph-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox