Arbitrator
Last updated
Last updated
Arbitrator collects all the transaction execution results generated from EUs and look for potential access conflicts. The transactions causing conflicts will be reverted together with all their state transitions.The whole process is completely deterministic.
Arbitrator determines conflict status based on the following the following conflict model. The Arbitrator service will also send the conflicting information back to the scheduler service.
{Read, Read}
✓
{Read, Write}
✗
{Write, Write}
✗
{Delta Write, Delta Write}
✓
{Read, Delta Write}
✗
{Write, Delta Write}
✗
In the best scenario, a fully parallelized program with no conflict point can lead to virtually unlimited speedup, which is only a matter of computational resources available. The key to achieve maximum parallelizability is to avoid conflicts wherever possible.