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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.