♒
Concurrency Model
  • Welcome to Execution Design
  • Background: Parallelization & Concurrency Control Models
    • Pessimistic Concurrency Control
    • Optimistic Concurrency Control
    • STM
  • Parallel Execution Model
  • Scheduler
  • EU
  • Parallelize EVM
  • Conflict Detector
  • Storage
  • In-Node Horizontal Scaling
Powered by GitBook
On this page

Parallelize EVM

PreviousEUNextConflict Detector

Last updated 1 month ago

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

Cover
Cover