* Intel Erasure Code library
@ 2013-12-16 9:56 Loic Dachary
2013-12-16 13:10 ` Andreas Joachim Peters
0 siblings, 1 reply; 4+ messages in thread
From: Loic Dachary @ 2013-12-16 9:56 UTC (permalink / raw)
To: Ceph Development
[-- Attachment #1: Type: text/plain, Size: 310 bytes --]
Hi,
A new Erasure Code library has been released as Free Software
https://01.org/storage-acceleration-library/downloads/2013/isa-l-open-source-release
It is quite tempting to write a Ceph erasure code plugin for it and see how it performs :-)
Cheers
--
Loïc Dachary, Artisan Logiciel Libre
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Intel Erasure Code library
2013-12-16 9:56 Intel Erasure Code library Loic Dachary
@ 2013-12-16 13:10 ` Andreas Joachim Peters
2013-12-16 13:15 ` Loic Dachary
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Joachim Peters @ 2013-12-16 13:10 UTC (permalink / raw)
To: Loic Dachary, Ceph Development
Hi Loic,
this looks excellent on new INTEL hardware .... certainly ;-)
I was just running some benchmarks on different platforms. It should be extremely simple to make a plugin ... the API is simple ...
I configured (10+4):
1)
model name : Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
stepping : 7
cpu MHz : 2001.000
cache size : 20480 KB
(cold cache)
erasure_code_encode_cold: runtime = 684410 usecs, bandwidth 3199 MB in 0.6844 sec = 4902.61 MB/s
erasure_code_decode_cold: runtime = 340002 usecs, bandwidth 2239 MB in 0.3400 sec = 6908.12 MB/s (recover 3)
erasure_code_decode_cold: runtime = 176811 usecs, bandwidth 1599 MB in 0.1768 sec = 9488.64 MB/s (recover 1)
(warm cache)
erasure_code_encode_warm: runtime = 1744615 usecs, bandwidth 9985 MB in 1.7446 sec = 6001.55 MB/s
erasure_code_decode_warm: runtime = 860179 usecs, bandwidth 6989 MB in 0.8602 sec = 8520.65 MB/s (recover 3)
2)
model name : AMD Opteron(TM) Processor 6276
stepping : 2
cpu MHz : 2300.000
cache size : 2048 KB
(cold cache)
erasure_code_encode_cold: runtime = 1769806 usecs, bandwidth 3199 MB in 1.7698 sec = 1895.91 MB/s
erasure_code_decode_cold: runtime = 1135461 usecs, bandwidth 2239 MB in 1.1355 sec = 2068.56 MB/s (recover 3)
erasure_code_decode_cold: runtime = 553315 usecs, bandwidth 1599 MB in 0.5533 sec = 3032.08 MB/s (recover 1)
(warm cache)
erasure_code_encode_warm: runtime = 2158180 usecs, bandwidth 9985 MB in 2.1582 sec = 4851.50 MB/s
erasure_code_decode_warm: runtime = 1133059 usecs, bandwidth 6989 MB in 1.1331 sec = 6468.58 MB/s (recover 3)
3) [running in a virtual machine!!!]
model name : Intel Core i7 9xx (Nehalem Class Core i7)
stepping : 3
cpu MHz : 2266.746
cache size : 4096 KB
(cold cache)
erasure_code_encode_cold: runtime = 1125543 usecs, bandwidth 3199 MB in 1.1255 sec = 2981.13 MB/s
erasure_code_decode_cold: runtime = 554727 usecs, bandwidth 2239 MB in 0.5547 sec = 4234.11 MB/s (recover 3)
erasure_code_decode_cold: runtime = 324933 usecs, bandwidth 1599 MB in 0.3249 sec = 5163.21 MB/s (recover 1)
(warm cache)
erasure_code_encode_warm: runtime = 2636439 usecs, bandwidth 9985 MB in 2.6364 sec = 3971.42 MB/s
erasure_code_decode_warm: runtime = 1263597 usecs, bandwidth 6989 MB in 1.2636 sec = 5800.33 MB/s (recover 3)
4)
model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
stepping : 5
cpu MHz : 1600.000
cache size : 8192 KB
(cold cache)
erasure_code_encode_cold: runtime = 1166904 usecs, bandwidth 3199 MB in 1.1669 sec = 2875.47 MB/s
erasure_code_decode_cold: runtime = 345337 usecs, bandwidth 1599 MB in 0.3453 sec = 4858.14 MB/s (recover 1)
erasure_code_decode_cold: runtime = 575194 usecs, bandwidth 2239 MB in 0.5752 sec = 4083.45 MB/s (recover 3)
(warm cache)
erasure_code_encode_warm: runtime = 2686134 usecs, bandwidth 9985 MB in 2.6861 sec = 3897.94 MB/s
erasure_code_decode_warm: runtime = 777904 usecs, bandwidth 4992 MB in 0.7779 sec = 6729.88 MB/s (recover 1)
erasure_code_decode_warm: runtime = 1278117 usecs, bandwidth 6989 MB in 1.2781 sec = 5734.44 MB/s (recover 3)
5)
model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
stepping : 5
cpu MHz : 1600.000
cache size : 8192 KB
(cold cache)
erasure_code_encode_cold: runtime = 956274 usecs, bandwidth 3199 MB in 0.9563 sec = 3508.82 MB/s
erasure_code_decode_cold: runtime = 264835 usecs, bandwidth 1599 MB in 0.2648 sec = 6334.87 MB/s (recover 1)
erasure_code_decode_cold: runtime = 463120 usecs, bandwidth 2239 MB in 0.4631 sec = 5071.63 MB/s (recover 3)
(warm cache)
erasure_code_encode_warm: runtime = 2601232 usecs, bandwidth 9985 MB in 2.6012 sec = 4025.17 MB/s
erasure_code_decode_warm: runtime = 683921 usecs, bandwidth 4992 MB in 0.6839 sec = 7654.69 MB/s (recover 1)
erasure_code_decode_warm: runtime = 1258408 usecs, bandwidth 6989 MB in 1.2584 sec = 5824.25 MB/s (recover 3)
___________________________________
From: ceph-devel-owner@vger.kernel.org [ceph-devel-owner@vger.kernel.org] on behalf of Loic Dachary [loic@dachary.org]
Sent: 16 December 2013 10:56
To: Ceph Development
Subject: Intel Erasure Code library
Hi,
A new Erasure Code library has been released as Free Software
https://01.org/storage-acceleration-library/downloads/2013/isa-l-open-source-release
It is quite tempting to write a Ceph erasure code plugin for it and see how it performs :-)
Cheers
--
Loïc Dachary, Artisan Logiciel Libre
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Intel Erasure Code library
2013-12-16 13:10 ` Andreas Joachim Peters
@ 2013-12-16 13:15 ` Loic Dachary
2013-12-16 13:45 ` Andreas Joachim Peters
0 siblings, 1 reply; 4+ messages in thread
From: Loic Dachary @ 2013-12-16 13:15 UTC (permalink / raw)
To: Andreas Joachim Peters, Ceph Development
[-- Attachment #1: Type: text/plain, Size: 5097 bytes --]
On 16/12/2013 14:10, Andreas Joachim Peters wrote:
> Hi Loic,
> this looks excellent on new INTEL hardware .... certainly ;-)
:-) For sure.
> I was just running some benchmarks on different platforms. It should be extremely simple to make a plugin ... the API is simple ...
>
> I configured (10+4):
I'd like to try the same command you did. Could you include the command you ran ? And if you have modified the source the corresponding patch ?
>
> 1)
> model name : Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
> stepping : 7
> cpu MHz : 2001.000
> cache size : 20480 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 684410 usecs, bandwidth 3199 MB in 0.6844 sec = 4902.61 MB/s
> erasure_code_decode_cold: runtime = 340002 usecs, bandwidth 2239 MB in 0.3400 sec = 6908.12 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 176811 usecs, bandwidth 1599 MB in 0.1768 sec = 9488.64 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 1744615 usecs, bandwidth 9985 MB in 1.7446 sec = 6001.55 MB/s
> erasure_code_decode_warm: runtime = 860179 usecs, bandwidth 6989 MB in 0.8602 sec = 8520.65 MB/s (recover 3)
>
>
> 2)
> model name : AMD Opteron(TM) Processor 6276
> stepping : 2
> cpu MHz : 2300.000
> cache size : 2048 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1769806 usecs, bandwidth 3199 MB in 1.7698 sec = 1895.91 MB/s
> erasure_code_decode_cold: runtime = 1135461 usecs, bandwidth 2239 MB in 1.1355 sec = 2068.56 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 553315 usecs, bandwidth 1599 MB in 0.5533 sec = 3032.08 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2158180 usecs, bandwidth 9985 MB in 2.1582 sec = 4851.50 MB/s
> erasure_code_decode_warm: runtime = 1133059 usecs, bandwidth 6989 MB in 1.1331 sec = 6468.58 MB/s (recover 3)
>
>
> 3) [running in a virtual machine!!!]
>
> model name : Intel Core i7 9xx (Nehalem Class Core i7)
> stepping : 3
> cpu MHz : 2266.746
> cache size : 4096 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1125543 usecs, bandwidth 3199 MB in 1.1255 sec = 2981.13 MB/s
> erasure_code_decode_cold: runtime = 554727 usecs, bandwidth 2239 MB in 0.5547 sec = 4234.11 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 324933 usecs, bandwidth 1599 MB in 0.3249 sec = 5163.21 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2636439 usecs, bandwidth 9985 MB in 2.6364 sec = 3971.42 MB/s
> erasure_code_decode_warm: runtime = 1263597 usecs, bandwidth 6989 MB in 1.2636 sec = 5800.33 MB/s (recover 3)
>
> 4)
> model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
> stepping : 5
> cpu MHz : 1600.000
> cache size : 8192 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1166904 usecs, bandwidth 3199 MB in 1.1669 sec = 2875.47 MB/s
> erasure_code_decode_cold: runtime = 345337 usecs, bandwidth 1599 MB in 0.3453 sec = 4858.14 MB/s (recover 1)
> erasure_code_decode_cold: runtime = 575194 usecs, bandwidth 2239 MB in 0.5752 sec = 4083.45 MB/s (recover 3)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2686134 usecs, bandwidth 9985 MB in 2.6861 sec = 3897.94 MB/s
> erasure_code_decode_warm: runtime = 777904 usecs, bandwidth 4992 MB in 0.7779 sec = 6729.88 MB/s (recover 1)
> erasure_code_decode_warm: runtime = 1278117 usecs, bandwidth 6989 MB in 1.2781 sec = 5734.44 MB/s (recover 3)
>
> 5)
> model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
> stepping : 5
> cpu MHz : 1600.000
> cache size : 8192 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 956274 usecs, bandwidth 3199 MB in 0.9563 sec = 3508.82 MB/s
> erasure_code_decode_cold: runtime = 264835 usecs, bandwidth 1599 MB in 0.2648 sec = 6334.87 MB/s (recover 1)
> erasure_code_decode_cold: runtime = 463120 usecs, bandwidth 2239 MB in 0.4631 sec = 5071.63 MB/s (recover 3)
>
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2601232 usecs, bandwidth 9985 MB in 2.6012 sec = 4025.17 MB/s
> erasure_code_decode_warm: runtime = 683921 usecs, bandwidth 4992 MB in 0.6839 sec = 7654.69 MB/s (recover 1)
> erasure_code_decode_warm: runtime = 1258408 usecs, bandwidth 6989 MB in 1.2584 sec = 5824.25 MB/s (recover 3)
>
> ___________________________________
> From: ceph-devel-owner@vger.kernel.org [ceph-devel-owner@vger.kernel.org] on behalf of Loic Dachary [loic@dachary.org]
> Sent: 16 December 2013 10:56
> To: Ceph Development
> Subject: Intel Erasure Code library
>
> Hi,
>
> A new Erasure Code library has been released as Free Software
>
> https://01.org/storage-acceleration-library/downloads/2013/isa-l-open-source-release
>
> It is quite tempting to write a Ceph erasure code plugin for it and see how it performs :-)
>
> Cheers
>
> --
> Loïc Dachary, Artisan Logiciel Libre
>
--
Loïc Dachary, Artisan Logiciel Libre
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Intel Erasure Code library
2013-12-16 13:15 ` Loic Dachary
@ 2013-12-16 13:45 ` Andreas Joachim Peters
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Joachim Peters @ 2013-12-16 13:45 UTC (permalink / raw)
To: Loic Dachary, Ceph Development
Sure,
you unpack the library and do:
make perfs
./erasure_code_perf
just to clarify one thing (I got comfused by their argument meanings),
I tested indeed 4 data + 6 parity stripes (the measurements quoted) ... putting the right argument you get 10+4 (but the results are similiar for the encoding within 10%).
So if you want to test the same thing I measured before, edit:
erasure_code/erasure_code_perf.c:
m = 32; ===> m = 10
k = 28 ===> k = 4;
If one wants to do 10+4, put m = 14, k=10.
The result for m=14,k=10 is for machine 1)
erasure_code_encode_cold: runtime = 1175351 usecs, bandwidth 4479 MB in 1.1754 sec = 3996.77 MB/s
erasure_code_decode_cold: runtime = 1186132 usecs, bandwidth 4479 MB in 1.1861 sec = 3960.44 MB/s (recover 4)
erasure_code_decode_cold: runtime = 507534 usecs, bandwidth 3519 MB in 0.5075 sec = 7272.37 MB/s (recover 1)
To measure decoding for single stripe error change this part:
for (i=0, nerrs=0; i<k && nerrs<m-k; i++){
err = 1 & rand();
src_in_err[i] = err;
if (err) {
src_err_list[nerrs++] = i;
break;
}
}
To measure with warm cache, change the #define:
//#define CACHED_TEST
Cheers Andreas.
________________________________________
From: Loic Dachary [loic@dachary.org]
Sent: 16 December 2013 14:15
To: Andreas Joachim Peters; Ceph Development
Subject: Re: Intel Erasure Code library
On 16/12/2013 14:10, Andreas Joachim Peters wrote:
> Hi Loic,
> this looks excellent on new INTEL hardware .... certainly ;-)
:-) For sure.
> I was just running some benchmarks on different platforms. It should be extremely simple to make a plugin ... the API is simple ...
>
> I configured (10+4):
I'd like to try the same command you did. Could you include the command you ran ? And if you have modified the source the corresponding patch ?
>
> 1)
> model name : Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
> stepping : 7
> cpu MHz : 2001.000
> cache size : 20480 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 684410 usecs, bandwidth 3199 MB in 0.6844 sec = 4902.61 MB/s
> erasure_code_decode_cold: runtime = 340002 usecs, bandwidth 2239 MB in 0.3400 sec = 6908.12 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 176811 usecs, bandwidth 1599 MB in 0.1768 sec = 9488.64 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 1744615 usecs, bandwidth 9985 MB in 1.7446 sec = 6001.55 MB/s
> erasure_code_decode_warm: runtime = 860179 usecs, bandwidth 6989 MB in 0.8602 sec = 8520.65 MB/s (recover 3)
>
>
> 2)
> model name : AMD Opteron(TM) Processor 6276
> stepping : 2
> cpu MHz : 2300.000
> cache size : 2048 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1769806 usecs, bandwidth 3199 MB in 1.7698 sec = 1895.91 MB/s
> erasure_code_decode_cold: runtime = 1135461 usecs, bandwidth 2239 MB in 1.1355 sec = 2068.56 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 553315 usecs, bandwidth 1599 MB in 0.5533 sec = 3032.08 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2158180 usecs, bandwidth 9985 MB in 2.1582 sec = 4851.50 MB/s
> erasure_code_decode_warm: runtime = 1133059 usecs, bandwidth 6989 MB in 1.1331 sec = 6468.58 MB/s (recover 3)
>
>
> 3) [running in a virtual machine!!!]
>
> model name : Intel Core i7 9xx (Nehalem Class Core i7)
> stepping : 3
> cpu MHz : 2266.746
> cache size : 4096 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1125543 usecs, bandwidth 3199 MB in 1.1255 sec = 2981.13 MB/s
> erasure_code_decode_cold: runtime = 554727 usecs, bandwidth 2239 MB in 0.5547 sec = 4234.11 MB/s (recover 3)
> erasure_code_decode_cold: runtime = 324933 usecs, bandwidth 1599 MB in 0.3249 sec = 5163.21 MB/s (recover 1)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2636439 usecs, bandwidth 9985 MB in 2.6364 sec = 3971.42 MB/s
> erasure_code_decode_warm: runtime = 1263597 usecs, bandwidth 6989 MB in 1.2636 sec = 5800.33 MB/s (recover 3)
>
> 4)
> model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
> stepping : 5
> cpu MHz : 1600.000
> cache size : 8192 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 1166904 usecs, bandwidth 3199 MB in 1.1669 sec = 2875.47 MB/s
> erasure_code_decode_cold: runtime = 345337 usecs, bandwidth 1599 MB in 0.3453 sec = 4858.14 MB/s (recover 1)
> erasure_code_decode_cold: runtime = 575194 usecs, bandwidth 2239 MB in 0.5752 sec = 4083.45 MB/s (recover 3)
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2686134 usecs, bandwidth 9985 MB in 2.6861 sec = 3897.94 MB/s
> erasure_code_decode_warm: runtime = 777904 usecs, bandwidth 4992 MB in 0.7779 sec = 6729.88 MB/s (recover 1)
> erasure_code_decode_warm: runtime = 1278117 usecs, bandwidth 6989 MB in 1.2781 sec = 5734.44 MB/s (recover 3)
>
> 5)
> model name : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
> stepping : 5
> cpu MHz : 1600.000
> cache size : 8192 KB
>
> (cold cache)
> erasure_code_encode_cold: runtime = 956274 usecs, bandwidth 3199 MB in 0.9563 sec = 3508.82 MB/s
> erasure_code_decode_cold: runtime = 264835 usecs, bandwidth 1599 MB in 0.2648 sec = 6334.87 MB/s (recover 1)
> erasure_code_decode_cold: runtime = 463120 usecs, bandwidth 2239 MB in 0.4631 sec = 5071.63 MB/s (recover 3)
>
>
> (warm cache)
> erasure_code_encode_warm: runtime = 2601232 usecs, bandwidth 9985 MB in 2.6012 sec = 4025.17 MB/s
> erasure_code_decode_warm: runtime = 683921 usecs, bandwidth 4992 MB in 0.6839 sec = 7654.69 MB/s (recover 1)
> erasure_code_decode_warm: runtime = 1258408 usecs, bandwidth 6989 MB in 1.2584 sec = 5824.25 MB/s (recover 3)
>
> ___________________________________
> From: ceph-devel-owner@vger.kernel.org [ceph-devel-owner@vger.kernel.org] on behalf of Loic Dachary [loic@dachary.org]
> Sent: 16 December 2013 10:56
> To: Ceph Development
> Subject: Intel Erasure Code library
>
> Hi,
>
> A new Erasure Code library has been released as Free Software
>
> https://01.org/storage-acceleration-library/downloads/2013/isa-l-open-source-release
>
> It is quite tempting to write a Ceph erasure code plugin for it and see how it performs :-)
>
> Cheers
>
> --
> Loïc Dachary, Artisan Logiciel Libre
>
--
Loïc Dachary, Artisan Logiciel Libre
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-12-16 13:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-16 9:56 Intel Erasure Code library Loic Dachary
2013-12-16 13:10 ` Andreas Joachim Peters
2013-12-16 13:15 ` Loic Dachary
2013-12-16 13:45 ` Andreas Joachim Peters
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.