Skip to content

Commit a87a77c

Browse files
authored
Merge pull request ceph#58052 from jamiepryde/isal-default
core: Change the default plugin for Ceph erasure coded pools from Jerasure to ISA-L Reviewed-by: Afreen Misbah <[email protected]> Reviewed-by: Mark Nelson <[email protected]>
2 parents 13883f5 + 25cac0f commit a87a77c

20 files changed

+45
-44
lines changed

doc/dev/erasure-coded-pool.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Set the CRUSH failure domain to osd (instead of host, which is the default)::
6363
$ ceph osd erasure-code-profile get myprofile
6464
k=2
6565
m=2
66-
plugin=jerasure
66+
plugin=isa
6767
technique=reed_sol_van
6868
crush-failure-domain=osd
6969
$ ceph osd pool create ecpool erasure myprofile
@@ -75,7 +75,7 @@ Control the parameters of the erasure code plugin::
7575
$ ceph osd erasure-code-profile get myprofile
7676
k=3
7777
m=2
78-
plugin=jerasure
78+
plugin=isa
7979
technique=reed_sol_van
8080
$ ceph osd pool create ecpool erasure myprofile
8181

@@ -98,7 +98,7 @@ Display the default erasure code profile::
9898
$ ceph osd erasure-code-profile get default
9999
k=2
100100
m=2
101-
plugin=jerasure
101+
plugin=isa
102102
technique=reed_sol_van
103103

104104
Create a profile to set the data to be distributed on six OSDs (k+m=6) and sustain the loss of three OSDs (m=3) without losing data::
@@ -107,7 +107,7 @@ Create a profile to set the data to be distributed on six OSDs (k+m=6) and susta
107107
$ ceph osd erasure-code-profile get myprofile
108108
k=3
109109
m=3
110-
plugin=jerasure
110+
plugin=isa
111111
technique=reed_sol_van
112112
$ ceph osd erasure-code-profile ls
113113
default
@@ -129,7 +129,7 @@ Set the rule to ssd (instead of default)::
129129
$ ceph osd erasure-code-profile get myprofile
130130
k=2
131131
m=2
132-
plugin=jerasure
132+
plugin=isa
133133
technique=reed_sol_van
134134
crush-root=ssd
135135

doc/dev/osd_internals/erasure_coding/developer_notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ key=value pairs stored in an `erasure code profile`_.
171171
directory=/usr/lib/ceph/erasure-code
172172
k=2
173173
m=1
174-
plugin=jerasure
174+
plugin=isa
175175
technique=reed_sol_van
176176
crush-failure-domain=osd
177177
$ ceph osd pool create ecpool erasure myprofile
@@ -206,7 +206,7 @@ set in the erasure code profile, before the pool was created.
206206
207207
ceph osd erasure-code-profile set myprofile \
208208
directory=<dir> \ # mandatory
209-
plugin=jerasure \ # mandatory
209+
plugin=isa \ # mandatory
210210
m=10 \ # optional and plugin dependent
211211
k=3 \ # optional and plugin dependent
212212
technique=reed_sol_van \ # optional and plugin dependent

doc/rados/operations/erasure-code-isa.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
ISA erasure code plugin
33
=======================
44

5+
The *isa* plugin is the default for Ceph erasure coded pools.
56
The *isa* plugin encapsulates the `ISA
67
<https://01.org/intel%C2%AE-storage-acceleration-library-open-source-version/>`_
78
library.

doc/rados/operations/erasure-code-jerasure.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
Jerasure erasure code plugin
33
============================
44

5-
The *jerasure* plugin is the most generic and flexible plugin, it is
6-
also the default for Ceph erasure coded pools.
5+
The *jerasure* plugin is a generic and flexible plugin. However,
6+
the *jerasure* library is no longer maintained and has not been
7+
updated to support modern CPU instructions that can improve
8+
performance when encoding and decoding data.
79

810
The *jerasure* plugin encapsulates the `Jerasure
911
<https://github.com/ceph/jerasure>`_ library. It is

doc/rados/operations/erasure-code-lrc.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
Locally repairable erasure code plugin
33
======================================
44

5-
With the *jerasure* plugin, when an erasure coded object is stored on
5+
With the *isa* plugin, when an erasure coded object is stored on
66
multiple OSDs, recovering from the loss of one OSD requires reading
7-
from *k* others. For instance if *jerasure* is configured with
7+
from *k* others. For instance if *isa* is configured with
88
*k=8* and *m=4*, recovering from the loss of one OSD requires reading
99
from eight others.
1010

@@ -195,7 +195,7 @@ Minimal testing
195195
---------------
196196

197197
It is strictly equivalent to using a *K=2* *M=1* erasure code profile. The *DD*
198-
implies *K=2*, the *c* implies *M=1* and the *jerasure* plugin is used
198+
implies *K=2*, the *c* implies *M=1* and the *isa* plugin is used
199199
by default.:
200200

201201
.. prompt:: bash $
@@ -253,19 +253,19 @@ the same rack as the lost chunk. **WARNING: PROMPTS ARE SELECTABLE**
253253
Testing with different Erasure Code backends
254254
--------------------------------------------
255255

256-
LRC now uses jerasure as the default EC backend. It is possible to
256+
LRC now uses ISA as the default EC backend. It is possible to
257257
specify the EC backend/algorithm on a per layer basis using the low
258258
level configuration. The second argument in layers='[ [ "DDc", "" ] ]'
259259
is actually an erasure code profile to be used for this level. The
260-
example below specifies the ISA backend with the cauchy technique to
260+
example below specifies the Jerasure backend with the cauchy technique to
261261
be used in the lrcpool.:
262262

263263
.. prompt:: bash $
264264

265265
ceph osd erasure-code-profile set LRCprofile \
266266
plugin=lrc \
267267
mapping=DD_ \
268-
layers='[ [ "DDc", "plugin=isa technique=cauchy" ] ]'
268+
layers='[ [ "DDc", "plugin=jerasure technique=cauchy" ] ]'
269269
ceph osd pool create lrcpool erasure LRCprofile
270270

271271
You could also use a different erasure code profile for each

doc/rados/operations/erasure-code-profile.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Where:
6767

6868
:Type: String
6969
:Required: No.
70-
:Default: jerasure
70+
:Default: isa
7171

7272
``{stripe_unit=stripe_unit}``
7373

doc/rados/operations/erasure-code.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ profile can be displayed with this command:
6464

6565
k=2
6666
m=2
67-
plugin=jerasure
67+
plugin=isa
6868
crush-failure-domain=host
6969
technique=reed_sol_van
7070

qa/standalone/erasure-code/test-erasure-code-plugins.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ case $arch in
1414
aarch64*|arm*)
1515
legacy_jerasure_plugins=(jerasure_generic jerasure_neon)
1616
legacy_shec_plugins=(shec_generic shec_neon)
17-
plugins=(jerasure shec lrc)
17+
plugins=(jerasure shec lrc isa)
1818
;;
1919
*)
2020
echo "unsupported platform ${arch}."

qa/standalone/mon/osd-erasure-code-profile.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ function TEST_set() {
4646
#
4747
ceph osd erasure-code-profile set $profile 2>&1 || return 1
4848
ceph osd erasure-code-profile get $profile | \
49-
grep plugin=jerasure || return 1
49+
grep plugin=isa || return 1
5050
ceph osd erasure-code-profile rm $profile
5151
#
5252
# key=value pairs override the default
5353
#
5454
ceph osd erasure-code-profile set $profile \
55-
key=value plugin=isa || return 1
55+
key=value plugin=jerasure || return 1
5656
ceph osd erasure-code-profile get $profile | \
57-
grep -e key=value -e plugin=isa || return 1
57+
grep -e key=value -e plugin=jerasure || return 1
5858
#
5959
# --force & --yes-i-really-mean-it are required to override
6060
# an existing profile
@@ -116,9 +116,9 @@ function TEST_get() {
116116

117117
local default_profile=default
118118
ceph osd erasure-code-profile get $default_profile | \
119-
grep plugin=jerasure || return 1
119+
grep plugin=isa || return 1
120120
ceph --format xml osd erasure-code-profile get $default_profile | \
121-
grep '<plugin>jerasure</plugin>' || return 1
121+
grep '<plugin>isa</plugin>' || return 1
122122
! ceph osd erasure-code-profile get WRONG > $dir/out 2>&1 || return 1
123123
grep -q "unknown erasure code profile 'WRONG'" $dir/out || return 1
124124
}

qa/standalone/mon/osd-pool-create.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ function TEST_erasure_crush_stripe_unit_padded() {
9999
local dir=$1
100100
# setting osd_pool_erasure_code_stripe_unit modifies the stripe_width
101101
# and it is padded as required by the default plugin
102-
profile+=" plugin=jerasure"
102+
profile+=" plugin=isa"
103103
profile+=" technique=reed_sol_van"
104104
k=4
105105
profile+=" k=$k"

0 commit comments

Comments
 (0)