H-Container

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. In order to consistently exploit the benefits of such low latencies, services need to run on edge nodes that are physically as close as possible to the clients. Thus, when a client changes physical location, a service should migrate between edge nodes to maintain proximity. Differently from data centers, edge nodes are often built with CPUs of different Instruction Set Architectures (ISA). Thus, a service that is natively compiled for one ISA cannot migrate to another, which hinders migration to the closest node.

H-Container enables the migration of containerized application, natively compiled, across compute nodes featuring CPUs of different ISAs. H-Container advances the state-of-the-art on heterogeneous-ISA migration systems on the following aspects:

  • High compatibility. No source code or compiler toolchain modifications are needed.
  • Easy deployability. H-Containers are fully implemented in user space, without any OS or hypervisor dependencies.
  • Greater application support. Can migrate most Linux software, including server applications and dynamically linked binaries.

H-Container targets Linux, adopts LLVM, extends CRIU, and integrates with Docker. Experimental studies reveal that H-Container adds unnoticeable overheads during program execution and between 10ms and 100ms during execution migration. In real-world scenarios, H-Containers increases throughput – e.g., up to 94% increase in Redis throughput on heterogeneous-ISA platforms.

 hcontainer concept

You can find more information about H-Container in the following papers: 

Source code and documentation are available online on GitHub:

 

 
Contact:

Binoy Ravindran, Virginia Tech:  This email address is being protected from spambots. You need JavaScript enabled to view it.
Antonio Barbalace, University of Edinburgh: This email address is being protected from spambots. You need JavaScript enabled to view it.


This is an open-source project of the Systems Software Research Group at Virginia Tech and System-nuts Group at Stevens/The University of Edinburgh.

This work was supported in part by US Office of Naval Research under grants N00014-16-1-2104, N00014-16-1-2711, and N00014-19-1-2493. Any opinions, findings, and conclusions or recommendations expressed in this site are those of the author(s) and do not necessarily reflect the views of AFOSR and ONR.