Parallelize EVM
Last updated
Last updated
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.
Arcology chose the latter because it doesn't alter the EVM's core structure. EVM is constantly evolving and rewriting it from the ground up will cause compatibility headaches in the long run.
Rebuild EVM to add concurrency.
More flexible and efficient.
Compatibility issues
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