[go: up one dir, main page]

DAL: amplificator Eio-ification

This MR is the first step toward bringing the ability to verify, in parallel, batches of shards -- improving the performances of the shard verification.

To do so, it is needed to rework the amplificator, and especially the Process_worker. Indeed, offloading of computation was done using a Unix.fork, something prohibited in the context of Eio (and thus, Ocaml multicore). The amplificator workflow was reworked in order to:

  • use Eio.Stream.t instead of Lwt_channels to communicate between DAL node and amplificator
  • use the Eio domain runtime to run the actual computations
  • wrap and rework the code to conform to the Eio constraints when using Lwt

Manually testing the MR

The code is expected to behave similarly. Green CI is already a good step.

It might worth monitoring a DAL node running the amplificator to notice potential regression (perf, crashes or memory leaks).

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR

Merge request reports

Loading