Commit Overhead vs Throughput
Commit Overhead vs Throughput
Analysis of commit protocol overhead as percentage of total transaction time.
Overhead = (commit_latency / total_latency) × 100
This represents time spent in retries, exponential backoff, and manifest I/O.
Values shown as mean ± standard deviation across seeds.
real_conflict_probability = 0.0
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.4 ± 0.0 | 0.4 ± 0.0 | 0.6 ± 0.0 | 0.7 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.8 ± 0.0 | 0.8 ± 0.0 | 1.1 ± 0.0 | 1.3 ± 0.0 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.5 ± 0.0 | 1.5 ± 0.0 | 1.9 ± 0.1 | 2.1 ± 0.1 |
| 2.0 ± 0.0 | 99.8 ± 0.1 | 2.9 ± 0.1 | 2.9 ± 0.1 | 3.4 ± 0.1 | 3.7 ± 0.1 |
| 4.3 ± 0.0 | 87.2 ± 0.4 | 6.2 ± 0.0 | 6.2 ± 0.0 | 6.8 ± 0.0 | 7.2 ± 0.0 |
| 5.7 ± 0.0 | 58.3 ± 0.5 | 8.3 ± 0.0 | 8.2 ± 0.0 | 8.7 ± 0.0 | 9.0 ± 0.0 |
| 6.6 ± 0.0 | 33.3 ± 0.1 | 9.5 ± 0.0 | 9.4 ± 0.0 | 9.9 ± 0.0 | 10.1 ± 0.0 |
| 7.4 ± 0.0 | 14.6 ± 0.0 | 10.5 ± 0.0 | 10.5 ± 0.0 | 10.9 ± 0.0 | 11.0 ± 0.0 |
| 7.8 ± 0.0 | 7.5 ± 0.0 | 11.1 ± 0.0 | 11.1 ± 0.0 | 11.4 ± 0.0 | 11.5 ± 0.0 |
real_conflict_probability = 0.1
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.4 ± 0.0 | 0.4 ± 0.0 | 0.7 ± 0.1 | 1.2 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.8 ± 0.0 | 0.8 ± 0.0 | 1.2 ± 0.0 | 1.7 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.6 ± 0.0 | 1.5 ± 0.0 | 2.1 ± 0.0 | 2.6 ± 0.1 |
| 2.0 ± 0.0 | 99.6 ± 0.1 | 3.0 ± 0.0 | 2.9 ± 0.0 | 3.7 ± 0.0 | 4.3 ± 0.1 |
| 4.2 ± 0.0 | 85.4 ± 0.6 | 6.2 ± 0.0 | 6.1 ± 0.0 | 7.0 ± 0.0 | 7.6 ± 0.1 |
| 5.6 ± 0.0 | 56.4 ± 0.5 | 8.1 ± 0.0 | 8.0 ± 0.0 | 8.8 ± 0.0 | 9.4 ± 0.0 |
| 6.5 ± 0.0 | 32.5 ± 0.1 | 9.3 ± 0.0 | 9.3 ± 0.0 | 10.0 ± 0.0 | 10.4 ± 0.0 |
| 7.2 ± 0.0 | 14.3 ± 0.0 | 10.4 ± 0.0 | 10.4 ± 0.0 | 11.0 ± 0.0 | 11.4 ± 0.0 |
| 7.7 ± 0.0 | 7.4 ± 0.0 | 11.0 ± 0.0 | 11.0 ± 0.0 | 11.6 ± 0.0 | 12.0 ± 0.0 |
real_conflict_probability = 0.3
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.5 ± 0.0 | 0.4 ± 0.0 | 1.1 ± 0.0 | 1.4 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 1.0 ± 0.0 | 0.9 ± 0.0 | 1.6 ± 0.1 | 2.1 ± 0.2 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.7 ± 0.0 | 1.6 ± 0.0 | 2.5 ± 0.1 | 3.1 ± 0.2 |
| 1.9 ± 0.0 | 99.0 ± 0.1 | 3.1 ± 0.0 | 3.0 ± 0.0 | 4.1 ± 0.1 | 5.0 ± 0.1 |
| 3.9 ± 0.0 | 80.2 ± 0.5 | 6.0 ± 0.0 | 5.8 ± 0.0 | 7.1 ± 0.0 | 8.0 ± 0.1 |
| 5.2 ± 0.0 | 52.7 ± 0.2 | 7.8 ± 0.0 | 7.6 ± 0.0 | 8.8 ± 0.0 | 9.5 ± 0.0 |
| 6.1 ± 0.0 | 30.9 ± 0.1 | 9.0 ± 0.0 | 8.9 ± 0.0 | 10.0 ± 0.0 | 10.5 ± 0.0 |
| 7.0 ± 0.0 | 13.8 ± 0.0 | 10.2 ± 0.0 | 10.1 ± 0.0 | 11.0 ± 0.0 | 11.6 ± 0.0 |
| 7.4 ± 0.0 | 7.2 ± 0.0 | 10.8 ± 0.0 | 10.7 ± 0.0 | 11.6 ± 0.0 | 12.2 ± 0.0 |
real_conflict_probability = 0.5
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.6 ± 0.0 | 0.5 ± 0.0 | 1.2 ± 0.0 | 1.5 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 1.0 ± 0.0 | 0.9 ± 0.0 | 1.8 ± 0.1 | 2.4 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.8 ± 0.0 | 1.7 ± 0.0 | 2.8 ± 0.0 | 3.5 ± 0.1 |
| 1.9 ± 0.0 | 98.0 ± 0.2 | 3.2 ± 0.1 | 3.1 ± 0.0 | 4.5 ± 0.1 | 5.6 ± 0.2 |
| 3.6 ± 0.0 | 73.2 ± 0.3 | 5.7 ± 0.0 | 5.5 ± 0.0 | 7.1 ± 0.0 | 8.2 ± 0.1 |
| 4.7 ± 0.0 | 47.5 ± 0.3 | 7.3 ± 0.0 | 7.1 ± 0.0 | 8.5 ± 0.0 | 9.4 ± 0.1 |
| 5.7 ± 0.0 | 28.7 ± 0.2 | 8.6 ± 0.0 | 8.5 ± 0.0 | 9.7 ± 0.0 | 10.4 ± 0.0 |
| 6.6 ± 0.0 | 13.1 ± 0.0 | 9.9 ± 0.0 | 9.8 ± 0.0 | 10.9 ± 0.0 | 11.5 ± 0.0 |
| 7.1 ± 0.0 | 6.9 ± 0.0 | 10.6 ± 0.0 | 10.5 ± 0.0 | 11.6 ± 0.0 | 12.1 ± 0.0 |
Interpretation
- Low overhead (<10%): System operating efficiently, minimal contention
- Medium overhead (10-30%): Moderate contention, acceptable performance
- High overhead (30-50%): High contention, commit protocol becoming significant
- Very high overhead (>50%): Commit protocol dominates, system saturated
Values shown as mean ± standard deviation across multiple seeds. At saturation, overhead can exceed 50%, meaning more time is spent retrying commits than executing transactions!
