You want two different things here. You want a pub/sub or topic (http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) that they all check into on a regular basis... If anyone doesn't check in every x number of minutes/seconds they stop work (assuming you want the to stop, I'd have to vet that requirement). You also want a simple message queue (http://en.wikipedia.org/wiki/Message_queue) to pick work off.
I'd still double-check whether you really need to have them all running before they start work. I wouldn't geographically separate them. If they are just stages in a pipeline, make several queues and when they run out of work they sleep. This is the advantage of message based architecture. Decoupling potentially high-lag processes from each other. Try and keep highly dependent work co-located.