|
1 | 1 | ---
|
2 |
| -simd: 'XXXX' |
| 2 | +simd: '0322' |
3 | 3 | title: Add Serial Execution Replay Constraint
|
4 | 4 | authors:
|
5 | 5 | - Igor Durovic (Anza)
|
@@ -33,7 +33,7 @@ The Max Writable Account Unit limit which specifies the maximum number of CU's t
|
33 | 33 |
|
34 | 34 | The per-account limit doesn't only fail in these pathological cases. Data sampled from mainnet shows that among blocks with 40M+ CUs, the **median** serial workload (the critical path as described in the Terminology section below) already exceeds the 12M CU limit. Additionally, many blocks exceed the limit by significant amounts. This will only get worse as the block CU limit increases.
|
35 | 35 |
|
36 |
| - |
| 36 | + |
37 | 37 |
|
38 | 38 | This proposal introduces a new block level constraint that would prevent this worst case scenario, allowing us to safely increase Global CU limits more quickly.
|
39 | 39 |
|
@@ -68,8 +68,8 @@ Note that this change is purely a resource constraint on which blocks are consid
|
68 | 68 |
|
69 | 69 | Example applications of DTAA to mainnet blocks (the red transactions are on the critical path):
|
70 | 70 |
|
71 |
| - |
72 |
| - |
| 71 | + |
| 72 | + |
73 | 73 |
|
74 | 74 | side note: these are two blocks with similar total CUs, but despite this the first has a much smaller makespan. In a 4-thread, parallel execution context, the first block can be executed nearly twice as fast if using CUs as a proxy for time.
|
75 | 75 |
|
@@ -159,13 +159,13 @@ For a block `B`, `max(critical_path(B), total_cus(B) / N)` represents a lower bo
|
159 | 159 | The closer to 1 `r` is the more optimal DTAA is estimated to be. Empirical analysis shows that when applying `DTAA` retroactively to all mainnet blocks
|
160 | 160 | with total CUs greater that 40M in a sample thousand slot range, the median `r` is `0.8`.
|
161 | 161 |
|
162 |
| - |
| 162 | + |
163 | 163 |
|
164 | 164 | Applying DTAA to historical mainnet blocks also provides an upper and lower bound on how much leftover capacity there is:
|
165 | 165 | - lower bound (worst-case): subtract the makespan of the block from the serial execution constraint of 25M CUs
|
166 | 166 | - upper bound (best-case): sum the differences between each track's CUs and the serial execution constraint
|
167 | 167 |
|
168 |
| - |
| 168 | + |
169 | 169 |
|
170 | 170 | ## Alternatives Considered
|
171 | 171 |
|
|
0 commit comments