Skip to content

Commit c5c677f

Browse files
committed
add simd id 0322
1 parent 3767c59 commit c5c677f

File tree

6 files changed

+6
-6
lines changed

6 files changed

+6
-6
lines changed

proposals/XXXX-serial-execution-cost-tracking.md renamed to proposals/0322-serial-execution-cost-tracking.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
simd: 'XXXX'
2+
simd: '0322'
33
title: Add Serial Execution Replay Constraint
44
authors:
55
- Igor Durovic (Anza)
@@ -33,7 +33,7 @@ The Max Writable Account Unit limit which specifies the maximum number of CU's t
3333

3434
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.
3535

36-
![Serial Execution/Critical Path CUs](../supporting_images/XXXX-serial-execution-cost-tracking/crit_path.png)
36+
![Serial Execution/Critical Path CUs](../supporting_images/0322-serial-execution-cost-tracking/crit_path.png)
3737

3838
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.
3939

@@ -68,8 +68,8 @@ Note that this change is purely a resource constraint on which blocks are consid
6868

6969
Example applications of DTAA to mainnet blocks (the red transactions are on the critical path):
7070

71-
![DTAA applied to example mainnet block (efficient compute utilization)](../supporting_images/XXXX-serial-execution-cost-tracking/exec-good.png)
72-
![DTAA applied to example mainnet block (inefficient compute utilization)](../supporting_images/XXXX-serial-execution-cost-tracking/exec-bad.png)
71+
![DTAA applied to example mainnet block (efficient compute utilization)](../supporting_images/0322-serial-execution-cost-tracking/exec-good.png)
72+
![DTAA applied to example mainnet block (inefficient compute utilization)](../supporting_images/0322-serial-execution-cost-tracking/exec-bad.png)
7373

7474
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.
7575

@@ -159,13 +159,13 @@ For a block `B`, `max(critical_path(B), total_cus(B) / N)` represents a lower bo
159159
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
160160
with total CUs greater that 40M in a sample thousand slot range, the median `r` is `0.8`.
161161

162-
![optimality analys on mainnet blocks](../supporting_images/XXXX-serial-execution-cost-tracking/ratio.png)
162+
![optimality analys on mainnet blocks](../supporting_images/0322-serial-execution-cost-tracking/ratio.png)
163163

164164
Applying DTAA to historical mainnet blocks also provides an upper and lower bound on how much leftover capacity there is:
165165
- lower bound (worst-case): subtract the makespan of the block from the serial execution constraint of 25M CUs
166166
- upper bound (best-case): sum the differences between each track's CUs and the serial execution constraint
167167

168-
![leftover capacity estimate](../supporting_images/XXXX-serial-execution-cost-tracking/leftover-capacity.png)
168+
![leftover capacity estimate](../supporting_images/0322-serial-execution-cost-tracking/leftover-capacity.png)
169169

170170
## Alternatives Considered
171171

0 commit comments

Comments
 (0)