Adaptation Strategies for Application-Level Computation Migration/Checkpointing