Operating System Process and Thread Migration in Heterogeneous Platforms