Parallelize EVM

Breaking the Single-Thread Barrier in EVM

The EVM is a single-threaded system by design. To add parallel execution capability, it must either be reimplemented to include the necessary enhancements or wrapped in an external parallel execution framework as a unit of execution. This presents a choice between intra-VM parallelization and inter-VM parallelization.

  • Intra-VM parallelization involves restructuring the execution model to allow simultaneous processing of independent tasks within the same virtual environment. This approach can enhance performance but may introduce complexities due to compatibility challenges with the Ethereum L1 EVM in the long run.

  • Inter-VM parallelization employs multiple VMs to execute tasks concurrently. While it is less efficient due to potential overhead from managing multiple instances, it easily facilitates horizontal scaling and avoids compatibility issues typically associated with modifying the core structure of existing VMs.

EVM is constantly evolving and rewriting it from the ground up will cause compatibility headaches in the long run. Arcology chose the latter because it doesn't alter the EVM's core structure.

The original EVM is single‑threaded by design. Adding parallel execution requires either:

  • The EVM is single threaded. Parallel execution can be added by:

    • Intra-VM – Modify the EVM for threading; more efficient but risks Ethereum compatibility.

    • Inter-VM – Run multiple EVMs in parallel, easy scaling and full compatibility.

      • Single EVM instance doesn't scale but multiple EVMs do.

      • Running multiple Sequential EVM instances in parallel to scale.

      • No compatibility issues.

      • Less efficient but support horizontal scaling

    Arcology uses inter-VM to keep the EVM unmodified and ensure long-term compatibility.

Last updated