Hello Alexey Serbin, Ashwani Raina, Attila Bukor, Yifan Zhang, Kudu Jenkins, 
KeDeng,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/21287

to look at the new patch set (#7).

Change subject: KUDU-3580 the crash bug when run binaries on older CPU machines
......................................................................

KUDU-3580 the crash bug when run binaries on older CPU machines

After Kudu linking rocksdb, the Kudu binaries may
crash with error "Illegal instruction" when running
on machines which don't support newer CPU
instruction (e.g. AVX512) but were built on a
machine which supports.

This patch enables the PORTABLE option when building
librocksdb to fix the issue.

It should be noted that portable libraries may cause
a slight performance degradation, it's recommend to
disable portable option (by setting PORTABLE environment
variable to OFF when build Kudu thirdparties) if there
is no port requirements.

The PORTABLE option only takes effect on librocksdb
currently, the following content shows the comparation
of the 'db_bench' tool of RocksDB with the '-DPORTABLE'
option enabled and disabled benchmark results:
- The test is similar to Kudu use case, random write and
  sequential read, key and value size is about 40 bytes.
- The tests ran 3 times.
- The binaries are built and run on the same machine
  which supports newer CPU instruction (e.g. AVX512).

PORTABLE:
$ ./db_bench -benchmarks=fillrandom,readseq -num=10000000 -key_size=40 
-value_size=40
1.
fillrandom   :       5.237 micros/op 190954 ops/sec 52.369 seconds 10000000 
operations;   14.6 MB/s
readseq      :       0.448 micros/op 2231382 ops/sec 2.833 seconds 6322271 
operations;  170.2 MB/s

2.
fillrandom   :       5.236 micros/op 190981 ops/sec 52.361 seconds 10000000 
operations;   14.6 MB/s
readseq      :       0.444 micros/op 2252646 ops/sec 2.806 seconds 6321658 
operations;  171.9 MB/s

3.
fillrandom   :       5.182 micros/op 192960 ops/sec 51.824 seconds 10000000 
operations;   14.7 MB/s
readseq      :       0.444 micros/op 2252317 ops/sec 2.807 seconds 6323209 
operations;  171.8 MB/s

NON-PORTABLE:
$ ./db_bench -benchmarks=fillrandom,readseq -num=10000000 -key_size=40 
-value_size=40
1.
fillrandom   :       5.190 micros/op 192676 ops/sec 51.900 seconds 10000000 
operations;   14.7 MB/s
readseq      :       0.391 micros/op 2560051 ops/sec 2.470 seconds 6322786 
operations;  195.3 MB/s

2.
fillrandom   :       5.156 micros/op 193945 ops/sec 51.561 seconds 10000000 
operations;   14.8 MB/s
readseq      :       0.404 micros/op 2477956 ops/sec 2.551 seconds 6320644 
operations;  189.1 MB/s

3.
fillrandom   :       5.527 micros/op 180940 ops/sec 55.267 seconds 10000000 
operations;   13.8 MB/s
readseq      :       0.407 micros/op 2458297 ops/sec 2.571 seconds 6320885 
operations;  187.6 MB/s

Change-Id: Id30ae995c41a592fccbdb822bc1f457c5e6878ac
---
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
2 files changed, 7 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/21287/7
--
To view, visit http://gerrit.cloudera.org:8080/21287
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id30ae995c41a592fccbdb822bc1f457c5e6878ac
Gerrit-Change-Number: 21287
Gerrit-PatchSet: 7
Gerrit-Owner: Yingchun Lai <laiyingc...@apache.org>
Gerrit-Reviewer: Alexey Serbin <ale...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ara...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <abu...@apache.org>
Gerrit-Reviewer: KeDeng <kdeng...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang <chinazhangyi...@163.com>
Gerrit-Reviewer: Yingchun Lai <laiyingc...@apache.org>

Reply via email to