Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hammer: tools: race condition in rados bench #6791

Merged
merged 2 commits into from Jan 31, 2016

Conversation

branch-predictor
Copy link
Contributor

Backport PR #5152 (tools: fix race condition in seq/rand bench) to Hammer. Started at #5812 but turned out to be difficult to backport, hence this PR which consists of commits cherry-picked from master and tailored for Hammer. Tracker issue http://tracker.ceph.com/issues/12949 which is a backport of 12947

Signed-off-by: Piotr Dałek piotr.dalek@ts.fujitsu.com

Piotr Dałek added 2 commits December 3, 2015 14:18
When doing seq and rand read benchmarks using rados bench, a quite large
portion of cpu time is consumed by doing object verification. This patch
adds an option to disable this verification when it's not needed, in turn
giving better cluster utilization. rados -p storage bench 600 rand scores
without --no-verification:

Total time run:       600.228901
Total reads made:     144982
Read size:            4194304
Bandwidth (MB/sec):   966
Average IOPS:         241
Stddev IOPS:          38
Max IOPS:             909522486
Min IOPS:             0
Average Latency:      0.0662
Max latency:          1.51
Min latency:          0.004

real    10m1.173s
user    5m41.162s
sys     11m42.961s

Same command, but with --no-verify:

Total time run:       600.161379
Total reads made:     174142
Read size:            4194304
Bandwidth (MB/sec):   1.16e+03
Average IOPS:         290
Stddev IOPS:          20
Max IOPS:             909522486
Min IOPS:             0
Average Latency:      0.0551
Max latency:          1.12
Min latency:          0.00343

real    10m1.172s
user    4m13.792s
sys     13m38.556s

Note the decreased latencies, increased bandwidth and more reads performed.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
(cherry picked from commit ca6abca)

Conflicts:
	src/common/obj_bencher.cc
	src/common/obj_bencher.h
Under certain conditions (like bench seq/rand -b 1024 -t 128) it is
possible that aio_read reads data into destination buffers before or
during memcmp execution, resulting in "[..] is not correct!" errors
even if actual objects are perfectly fine.
Also, moved latencty calculation around, so it is no longer affeted
by memcmp.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>

Conflicts:
	src/common/obj_bencher.cc
@ghost ghost changed the title Backport #5152 to Hammer Race condition in rados bench Dec 3, 2015
@ghost ghost added bug-fix core labels Dec 3, 2015
@ghost ghost added this to the hammer milestone Dec 3, 2015
@ghost ghost self-assigned this Dec 3, 2015
@ghost ghost mentioned this pull request Dec 3, 2015
ghost pushed a commit that referenced this pull request Jan 11, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Jan 11, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Jan 11, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link

ghost commented Jan 14, 2016

@athanatos does this backport look good to merge ? It passed a run of the hammer rados suite ( see http://tracker.ceph.com/issues/13356#note-34 for details ) and the upgrade/hammer suite ( see http://tracker.ceph.com/issues/13356#note-37 for details ).

@ghost ghost assigned athanatos and unassigned ghost Jan 14, 2016
ghost pushed a commit that referenced this pull request Jan 15, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Jan 29, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@liewegas liewegas merged commit 520792d into ceph:hammer Jan 31, 2016
@branch-predictor branch-predictor deleted the bp-5812-backport branch February 1, 2016 07:23
@ghost ghost changed the title Race condition in rados bench hammer: tools: Race condition in rados bench Feb 18, 2016
@ghost ghost changed the title hammer: tools: Race condition in rados bench hammer: tools: race condition in rados bench Feb 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants