Skip to content
Snippets Groups Projects
Commit 6f49fd96 authored by nitsanw's avatar nitsanw Committed by Sean Busbey
Browse files

[core] Read me on CO in the context of YCSB

parent a152063a
No related branches found
No related tags found
No related merge requests found
YCSB in it's original form suffers from Coordinated Omission[1]:
* Load is controlled by response time
* Measurement does not account for missing time
* Measurement starts at beginning of request rather than at intended beginning
To provide a minimal correction patch I propose:
1. Replace internal histogram implementation with HdrHistogram:
HdrHistogram offers a dynamic range of measurement at a given precision and will
improve the fidelity of reporting. It allows capturing a much wider range of latencies.
We could add controls for corrected/uncorrected measurement. This is appropriate for a
uniform load test, but not for other loads. The mixing of different Ops also makes
this correction unreliable. This could work for a global histogram.
2. Track intended operation start and report latencies from that point in time:
This will require the introduction of a new measurement point and will inevitably
include measuring some of the internal preparation steps of the load generator.
These overhead should be negligible in the context of a network hop, but could
be corrected for by estimating the load-generator overheads (e.g. by measuring a
no-op DB).
Further correction suggestions:
1. Correction load control: currently after a pause the load generator will do
operations back to back to catchup, this leads to a flat out throughput mode
of testing as opposed to controlled load.
2. Move to async model: Scenarios where Ops have no dependency could delegate the
Op execution to a threadpool and thus separate the request rate control from the
synchronous execution of Ops. Measurement would start on queuing for execution.
1. https://groups.google.com/forum/#!msg/mechanical-sympathy/icNZJejUHfE/BfDekfBEs_sJ
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment