Open-MPI is not made for task migration but rather for communication between processes by message-passing. But this could be a tool for the communication/synchronization between the two machines used for the process migration.
Pure task/process migration is hard to implement, because you will need to restore the context of the program as it was on the first machine (or a Virtual machine deployed on the Cloud in your case). It means dumping all the informations about the address space (heap, stack and registers), open file descriptors, pending Signals, inter-process communication channels, repair sockets/TCP connexions if any, and restoring it on the targeted machine.
This document explains the challenges of preemptive process migration. This paper could be a good resource also. This is an extensive topic but some implementations exists such as Linux PMI or more lately CRIU.