Option 1: Logging all writes at the beginning of the transaction and wrap them into a piece.
Why this doesn't work?: Each log will require a read, and thus this read will potentially have a conflict edge with a write in another transaction. The additional conflict edge will expand the strongly connected graph, and previously independent pieces now have to be merged into a mega piece...
Option 2: Logging at the beginning of each piece.
This might incur additional delay due to fencing after each logs.
For each transaction worker:
Implementation details:
How does a worker get the workload?
How to find out if a piece is runnable?
When running piece, what to update?
Dependency list:
Progress :
TODO: