The operating system is the most effecient place to seperate into multiple processes - if you run *nix doing the top command will show you everything that can be sent to different cores - or taskmgr on windows will show you things that can be split across the cores.I believe *nix systems already apptemt to do this very well.