Transparency is difficult because it can force shared state to be distributed and difficult to manage. Users expect to receive the full capabilities of the workstations on their desks. The design of the kernel requires the use of kernel calls for interprocess communication. Rsh offers remote execution, but lacks transparency, eviction, performance, and automatic selection. The user, however, must choose which processes will be migrated.
Processes have lots of state.
Some things must be on the same machine as the process, and the overhead cannot be excessive. Arrange for forwarding. Ignore the state, sacrifice transparency. Eager may cost more, but lazy leaves more residual dependencies. For exec it is not much of an issue.