]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Update isa-l to v2.18 15895/head
authorGanesh Mahalingam <ganesh.mahalingam@intel.com>
Wed, 31 May 2017 15:10:24 +0000 (08:10 -0700)
committerGanesh Mahalingam <ganesh.mahalingam@intel.com>
Thu, 6 Jul 2017 21:42:47 +0000 (14:42 -0700)
This upgrade brings
-  Complete rewrite of DEFLATE optimizations resulting in 5X better
   throughput and compression ratios comapred to  zlib, lz4, lzo and 2X
   better decompression performance when compared to zlib.
-  AVX512 improvements to multi-buffer versions of MD5, SHA-1 and SHA-256
   cryptographic hashing functions resulting in 3X better in performance
   compared to the AVX2 generation.

This update improves bluestore compression and potential to improve
dedup performance.

Testing this patch with objectstore fio yeided a max of 37% increase in
compression performance.

Fio Params:
rw=randwrite,buffer_compress_percentage=50,nr_files=64,direct=1,buffered=0,size=4G,bs=64k

Test Avg BlueStore Compression Time
v2.16(us)  v2.18(us)
iodepth=1,jobs=1 241.658    175.476 27.39%
iodepth=2,jobs=2 184.174    145.861 20.80%
iodepth=4,jobs=4 143.617    104.392 27.31%
iodepth=8,jobs=8 146.984    116.505 20.74%
iodepth=16,jobs=8 180.167    112.769 37.41%

Signed-off-by: Ganesh Mahalingam <ganesh.mahalingam@intel.com>
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
src/compressor/zlib/CMakeLists.txt
src/erasure-code/isa/CMakeLists.txt
src/isa-l

index 635c730b50b34322e44640b1b9318e6e38a5155f..1b3bc259a3514811309d5c035dccb6717c8e3a21 100644 (file)
@@ -4,21 +4,31 @@ if(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64)
        set(zlib_sources
          CompressionPluginZlib.cc
          ZlibCompressor.cc
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip_base.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/detect_repeated_char.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_04.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c
          ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_utils_01.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_utils_04.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c
          ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_01.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_02.asm
          ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_04.asm
          ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_finish.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_01.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_04.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_data.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/detect_repeated_char.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_01.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_02.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_04.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_finish.asm
          ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_multibinary.asm
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_base.c
-         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_01.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_04.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap.asm
+         ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/rfc1951_lookup.asm
        )
 else(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64)
        set(zlib_sources
index c205e367c26a200b0a1e617ce7eca6e88b9d549c..6f9f97d58e056fd77ed661452d4d2618ccf8535a 100644 (file)
@@ -64,7 +64,7 @@ add_library(ec_isa SHARED
 add_dependencies(ec_isa ${CMAKE_SOURCE_DIR}/src/ceph_ver.h)
 target_link_libraries(ec_isa ${EXTRALIBS})
 set_target_properties(ec_isa PROPERTIES
-  VERSION 2.16.0
+  VERSION 2.18.0
   SOVERSION 2
   INSTALL_RPATH "")
 install(TARGETS ec_isa DESTINATION ${erasure_plugin_dir})
index 8faa0a2802e95ab5c782d2f7036db92c9d19686e..7e1a337433a340bc0974ed0f04301bdaca374af6 160000 (submodule)
--- a/src/isa-l
+++ b/src/isa-l
@@ -1 +1 @@
-Subproject commit 8faa0a2802e95ab5c782d2f7036db92c9d19686e
+Subproject commit 7e1a337433a340bc0974ed0f04301bdaca374af6