DBOP is the BOP-compatible runtime that supports speculative execution on distributed machines. The distributive orchestration of speculative parallel tasks is comprised of three types of processes.
The control process is responsible for distributing tasks to individual host, with a serial number indicating the execution frontier which could be considered as a commit time by which the execution is deemed as correct. Each individual host spawns work processes to execution the tasks dispatched to it by the control process. The results of the work tasks, along with its read , write set and its execution frontier are sent back to control process for validation. A task's results are patched to global memory if it passes validation. Otherwise, the task id will be reclaimed and redidstributed to a host.
DBOP provides a simple and elegant framework to extend speculation across multiple machines. More details about DBOP's design and implementation are in our technical report
ftp.cs.rochester.edu/pub/papers/systems/09.tr952.Distributive_Program_Parallelization_Using_
a_Suggestion_Language.pdf
Bryan Jacobs, Tongxin Bai, Chen Ding