Department of Computer Engineering2024-11-102019978-1-4503-6720-210.1145/3315568.33299692-s2.0-85074454362http://dx.doi.org/10.1145/3315568.3329969https://hdl.handle.net/20.500.14288/16470Today's computer systems have become increasingly heterogeneous. Data centers integrate accelerators, CPUs with heterogeneous cores and with various ISAs which exhibit different performance and power characteristics. Mobile phones, following a similar trend, switch between fast and energy-efficient cores. Process migration is an important technique to leverage such specialization and heterogeneity. In this work, we target process migration enabled OS-capable heterogeneous platforms and address how to obtain better performance by program analysis: we address the challenge of defining migration points at which the program state is the same across machines and whether these will match phase changes, changes in the program behavior. Our tool-chain employs both static and dynamic analysis to compensate for disadvantages of both techniques to reduce the analyses overhead. Six out of ten benchmarks from different benchmark suites benefit from migration and the migration cost is compensated by the performance gained from migrating.Computer scienceSoftware engineeringProgram analysis for process migrationConference proceeding8430029000079607