The fourth execution engine 640 may continue executing instructions and may execute the instruction “Add result of ACT and DMA” 645 that depended on completion of the instructions by the first execution engine 610 and the second execution engine 620. The fourth execution engine 640 may execute a checkpoint set instruction (i.e., Set (Ckpt3, 2) 647 to remotely set the value “2” in the local checkpoint register Ckpt3 associated with the third execution engine 630. When the value “2” is set 642 in the local checkpoint register Ckpt3, the third execution engine 630 may resume executing instructions. Thus, in the above example, local checkpoint registers (i.e., Ckpt1, Ckpt2, Ckpt3, Ckpt4) associated with the execution engines operated to coordinate several dependencies among different execution engines.
It should be noted from the above example that an execution engine can only remotely set, increment, and decrement checkpoint values in local checkpoint registers of other execution engines but cannot wait on the remote checkpoint values.
While