DBOP: Software Distributive Speculative Parallelization

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.

  • A control process manages shared system information and serves as the central point of communication. There is one control task in each BOP execution.
  • A host management process manages parallel execution within a host and coordinates other hosts through the control process. There is one management process on each host.
  • A work process runs one or a series of PPR tasks on a single processor. Work processes are dynamically created and terminated and may perform computation speculatively.

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


Bryan Jacobs, Tongxin Bai, Chen Ding