The third execution engine 430 may independently execute instructions until it executes a checkpoint wait instruction to wait on a value equal to or greater than “1” set in the global checkpoint register Ckpt1 (i.e., Wait (Ckpt1, 1) 431. The third execution engine 430 may have a dependency on an operation performed by the second execution engine 420 and may halt execution of instructions until the value equal to or greater than “1” is set in the global checkpoint register Ckpt1. When the global checkpoint register Ckpt1 broadcasts 422 that the value “1” is set, the third execution engine 430 may resume executing instructions until it executes another checkpoint wait instruction (i.e., Wait (Ckpt1, 2) 433 indicating another dependency on an operation to be performed by the second execution engine 420. The third execution engine 430 may halt execution of instructions and wait for a value equal to or greater than “2” to be set in the global checkpoint register Ckpt1. Meanwhile, the second execution engine 420 may have executed instructions including a checkpoint set instruction to set a value of “2” in the global checkpoint register, Ckpt1 (i.e., Set (Ckpt1, 2)) 425.