I'm dealing with multi-process code at work now. I've played with such things before, but this one is for real. A computationally heavy task is splitted to several machines to run faster. I don't have much knowledge in parallel programming, so it's all new to me. I guess it can be done in various ways (on Unix platforms)... In this code, the Master spawns slaves using "rsh". Executables are sent to execute on different machines, and get the master hostname/port as an argument. When they start running they open a socket and tell the master they are alive. All communication later (pings, data packets) are done via sockets.