Horta, EdsonChuang, Ho-RenVSathish, Naarayanan RaoPhilippidis, CesarBarbalace, AntonioOlivier, PierreRavindran, Binoy2022-10-032022-10-032021-12-06http://hdl.handle.net/10919/112059Datacenter servers are increasingly heterogeneous: from x86 host CPUs, to ARM or RISC-V CPUs in NICs/SSDs, to FPGAs. Previous works have demonstrated that migrating application execution at run-time across heterogeneous-ISA CPUs can yield significant performance and energy gains, with relatively little programmer effort. However, FPGAs have often been overlooked in that context: hardware acceleration using FPGAs involves statically implementing select application functions, which prohibits dynamic and transparent migration. We present Xar-Trek, a new compiler and run-time software framework that overcomes this limitation. Xar-Trek compiles an application for several CPU ISAs and select application functions for acceleration on an FPGA, allowing execution migration between heterogeneous-ISA CPUs and FPGAs at run-time. Xar-Trek’s run-time monitors server workloads and migrates application functions to an FPGA or to heterogeneous-ISA CPUs based on a scheduling policy. We develop a heuristic policy that uses application workload profiles to make scheduling decisions. Our evaluations conducted on a system with x86-64 server CPUs, ARM64 server CPUs, and an Alveo accelerator card reveal 88%-1% performance gains over no-migration baselines.application/pdfenCreative Commons Attribution-NonCommercial-NoDerivatives 4.0 InternationalXar-Trek: Run-time Execution Migration among FPGAs and Heterogeneous-ISA CPUsArticle - Refereed2022-10-03The author(s)https://doi.org/10.1145/3464298.3493388