1. A computer system, comprising: a cluster of computing nodes, each computing node comprising: a physical memory; a network interface device, which connects the computing node to a network interconnecting the computing nodes in the cluster; and at least one CPU, which is configured to run a respective virtual machine implementer program on at least one of the computing nodes, while communicating via the network interface device with other computing nodes in the cluster and supporting a shared virtual machine implemented concurrently on two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, which presents a single coherent shared memory to the guest operating system using the physical memory that is distributed across multiple nodes, and wherein the virtual machine implementer program running on the at least one of the computing nodes is configured, when a segment of the shared memory of the virtual machine that is required on the at least one of the computing nodes is invalid, to cause a migration of the segment via the network to the at least one of the computing nodes from another computing node having a valid copy of the segment in the physical memory on the other computing node.