H-Container: Enabling Heterogeneous-ISA Container Migration in Edge Computing
Tong Xing,Antonio Barbalace,Pierre Olivier,Mohamed L. Karaoui,Wei Wang,Binoy Ravindran
DOI: https://doi.org/10.1145/3524452
2022-03-28
ACM Transactions on Computer Systems
Abstract:Edge computing is a recent computing paradigm that brings cloud services closer to the client. Among other features, edge computing offers extremely low client/server latencies. To consistently provide such low latencies, services should run on edge nodes that are physically as close as possible to their clients. Thus, when the physical location of a client changes, a service should migrate between edge nodes to maintain proximity. Differently from cloud nodes, edge nodes integrate CPUs of different Instruction Set Architectures (ISAs), hence a program natively compiled for a given ISA cannot migrate to a server equipped with a CPU of a different ISA. This hinders migration to the closest node. We introduce H-Container, a system which migrates natively-compiled containerized applications across compute nodes featuring CPUs of different ISAs. H-Container advances over existing heterogeneous-ISA migration systems by being a) highly compatible – no user’s source-code nor compiler toolchain modifications are needed; b) easily deployable – fully implemented in user space, thus without any OS or hypervisor dependency, and c) largely Linux compliant – it can migrate most Linux software, including server applications and dynamically linked binaries. H-Container targets Linux and its already-compiled executables, adopts LLVM, extends CRIU, and integrates with Docker. Experiments demonstrate that H-Container adds no overheads during program execution, while 10 − 100 ms are added during migration. Furthermore, we show the benefits of H-Container in real-world scenarios, demonstrating for example up to \(94\% \) increase in Redis throughput when client/server proximity is maintained through heterogeneous container migration.
computer science, theory & methods