diff options
-rw-r--r-- | doc/release-notes/3.10.0.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/release-notes/3.10.0.md b/doc/release-notes/3.10.0.md index b08dd273d0e..0de25b2574d 100644 --- a/doc/release-notes/3.10.0.md +++ b/doc/release-notes/3.10.0.md @@ -197,6 +197,53 @@ The above option is on by default. *Known Issues:* +### Added support for CPU extensions in disperse computations +*Notes for users:* +To improve disperse computations, a new way of generating dynamic code +targeting specific CPU extensions like SSE and AVX on Intel processors is +implemented. The available extensions are detected on run time. This can +roughly double encoding and decoding speeds (or halve CPU usage). + +This change is 100% compatible with the old method. No change is needed if +an existing volume is upgraded. + +You can control which extensions to use or disable them with the following +command: + +```bash +# gluster volume set <volname> disperse.cpu-extensions <type> +``` + +Valid <type> values are: + +* none: Completely disable dynamic code generation +* auto: Automatically detect available extensions and use the best one +* x64: Use dynamic code generation using standard 64 bits instructions +* sse: Use dynamic code generation using SSE extensions (128 bits) +* avx: Use dynamic code generation using AVX extensions (256 bits) + +The default value is 'auto'. If a value is specified that is not detected on +run-time, it will automatically fallback to the next available option. + +*Limitations:* + +*Known Issues:* +To solve a conflict between the dynamic code generator and SELinux, it +has been necessary to create a dynamic file on runtime in the directory +/usr/libexec/glusterfs. This directory only exists if the server package +is installed. On nodes with only the client package installed, this directory +won't exist and the dynamic code won't be used. + +It also needs root privileges to create the file there, so any gfapi +application not running as root won't be able to use dynamic code generation. + +In these cases, disperse volumes will continue working normally but using +the old implementation (equivalent to setting disperse.cpu-extensions to none). + +More information and a discussion on how to solve this can be found here: + +https://bugzilla.redhat.com/1421649 + ## Bugs addressed Bugs addressed since release-3.9 are listed below. |