There are quite possibly dozens of ways to go about this - presuming your 'work' can be multi-threaded. One low level way is to multithread the job and dispatch using Sockets
Lesson: Sockets...