# Week 3 & 4 Updates
This is a combined update for Week 3 and Week 4.
## Tasks Completed
- [X] Finished the presentation
- [X] Reviewed other client teams' EIP-7928 related work ([1], [2], [3])
- [X] Created visualization tools for BALs and parallel execution
## Summary
While preparing my presentation, I started working on some visualization tools to showcase a dependency graph built from an SSZ/RLP-serialized BAL. These tools will also feature live execution visualization of a block, with optional debugging capabilities through breakpoints. This will be useful for other clients to match their implementations and for researchers to investigate different execution scenarios, write fuzzers, etc.
## Misc
Just for fun, I also investigated parallel execution on a GPU. The calculations are based on Amdahl's Law, which estimates the speedup of parallel execution based on the proportion of parallelizable processes and the number of processing units:
$$
\text{Speedup} \ll \frac{1}{{(1 - P) + \frac{P}{N}}}
$$
With 60% (P = 0.6) parallelizable processes, the speedup plateaus at ~2.8x. However, with 80% (P = 0.8, N = 128) parallelizability, it can reach up to a 6x speedup.
Since most blocks have short conflict chains, we can assume that after a conflict is resolved, another batch of transactions can be executed in parallel, further increasing the potential speedup. However, the biggest bottleneck is memory access, and GPU execution would only make sense when the time to execute operations outweighs the time to transfer data to the GPU.
These numbers and the expected speedup values for multiple scnarios will be included in the project proposal.
## Week 5 TODOs
- [ ] Get in touch with the Erigon team and find mentors
- [ ] Finish the project proposal
[1]: https://github.com/jwasinger/go-ethereum/pull/13/files
[2]: https://github.com/jwasinger/go-ethereum/pull/12/files
[3]: https://github.com/ethereum/go-ethereum/pull/31959