Commit 08e165b
authored
Added batched max_sac_tps configs (#4941)
# Description
Adds a batched payments setting to max_sac_tps. In initial testing, it
looks like SAC apply time is bounded by single threaded pre and post
invoke steps. Since the instructions required for a single SAC payment
are small and invocation time is dominated by these pre and post invoke
steps, we saw little improvement with parallelism when measuring SAC
payment load.
This PR adds batching functionality, where a single TX will perform many
SAC transfers. This increases the instruction count significantly, which
we can do in parallel, while not increasing the single threaded pre and
post invoke work. Config settings have been added to tune the number of
batch payments made per TX. Note that for the purposes of measurement
and reporting, "TPS" really refers to "SAC transfers per second" in the
batch payment case.
I've also added the `APPLY_LOAD_TIME_WRITES` flag. When set, we count
BucketList write time when calculating max TPS.
Currently a draft until
stellar/rs-soroban-env#1595 merges, then I'll
update the cargo accordingly.
# Checklist
- [x] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [x] Rebased on top of master (no merge commits)
- [x] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [x] Compiles
- [x] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)File tree
14 files changed
+426
-91
lines changed- src
- main
- rust
- src
- simulation
- test
- transactions/test
- test-tx-meta-baseline-current
- test-tx-meta-baseline-next
14 files changed
+426
-91
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1681 | 1681 | | |
1682 | 1682 | | |
1683 | 1683 | | |
1684 | | - | |
1685 | | - | |
1686 | | - | |
1687 | | - | |
1688 | | - | |
1689 | 1684 | | |
1690 | 1685 | | |
1691 | 1686 | | |
| |||
1694 | 1689 | | |
1695 | 1690 | | |
1696 | 1691 | | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
1697 | 1698 | | |
1698 | 1699 | | |
1699 | 1700 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | 390 | | |
397 | 391 | | |
398 | 392 | | |
| |||
405 | 399 | | |
406 | 400 | | |
407 | 401 | | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
408 | 418 | | |
409 | 419 | | |
410 | 420 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | | - | |
| 135 | + | |
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
209 | | - | |
| 209 | + | |
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
44 | 51 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 52 | + | |
49 | 53 | | |
50 | 54 | | |
51 | 55 | | |
| |||
0 commit comments