Layr-Labs / eigenda

Secure, high-throughput, and decentralized Data Availability
https://www.eigenlayer.xyz/
Other
220 stars 168 forks source link

[2/N][zero serialization] Make Batcher operate on chunks without ser/deser #700

Closed jianoaix closed 1 month ago

jianoaix commented 1 month ago

Why are these changes needed?

This eliminates both the deserialization and serialization of chunks at the Batcher.

This matters because the cost on just the serialization of chunks can be significant: e.g. a large operator took 61s to serialize the dispersal request

Such perf/cost is on the critical path of E2E flow, so by eliminating them (as well as eliminating the cost to deserialize chunks from Encoder) will contribute directly the E2E perf.

Screenshot 2024-08-13 at 2 58 56 PM

Testing

In addition to the unit test, also tested it in Preprod, with following setup

And the Batcher was tested in these two cases:

This shows the compatibility/safety of: 1) interaction with the ongoing Gob->Gnark migration is correct 2) the migration of frames (deserialized) -> ChunksData (zero ser/deser) itself is correct

Checks