This is how MOSIX works. Unfortunately the MOSIX authors have continually
reimplemented it as a proprietary research item that has thus never caught
on. Basically a syscall goes back to its "owning object" - eg a file
syscall looks like
if(file->owner_computer==our_computer)
file->operation(blah)
else
rpc_it()
Data and message passing statistics dictate when a process is moved.