1. A system for dividing and synchronizing a processing task across a plurality of processing elements comprising: a first processing element having access to an input queue and an output queue; a second processing element in communication with the first processing element; a reservation register storing a value indicative of available space in a command queue; computer storage storing instructions, which when executed by the second processing element: reads the stored value; determines when the read value indicates available space in the input queue for the first processing element to issue a command; and notifies the first processing element to issue the command to the input queue, wherein the first processing element receives notification from the second processing element regarding issuing the command, issues the command to the input queue, and receives a response corresponding to the command from the output queue.