There is one thing that the paper does not explain thoroughly: according to the paper,
After a process migrates, the first message sent to it by a remote process causes an update sent back to the sender informing it of the mirgrated process's new location.
But how does the system implement it?
For simplicity, say originally, process P1 is in machine A, process P2 is in machine B. P2 has a link pointing to P1. My thoughts are: when P1 migrates,
1. P1 sends a message to SwitchBoard to update its link and leaves a clue in Machine A's link table which says it has migrated, then when P2 send message m to P1's old link, it finds out the clue and consults the SwitchBoard where to be forward. Of course, forward address can also be field in link table (which eliminates the need of consulting SwitchBoard).
But will it be a memory overhead since most processes does not migrate? And how should the message m be forward, by machine A or first sent back to machine B and resent by machine B? And if P1 migrates several times, the message m must be transfer multiple times in order to get to P1, and that will be intolerable if P1 is accessed heavily.
2. P1 simply sends a message to SwitchBoard and SwitchBoard broadcasts this change. But there are two problems, SwitchBoard does not know the full list of processes which have links to P1; might cause a big flow of messages and lose the "copy-on-write" like property.
So, how it's actually done? The paper seems to focus on the general communication method and does not talk much about the details.