Skip to content
Antonio Barbalace edited this page Jun 12, 2020 · 18 revisions

H-Container

H-Container enables containerized applications, natively compiled for a specific ISA, to runtime migrate (similar to VM migration) across compute nodes featuring CPUs of different ISAs, such as ARM and x86. H-Container takes a natively compiled binary (for Linux) and transforms it into a natively compiled set of binaries, one per ISA. Once a binary is started and checkpointed on a machine, it can be restarted on a machine with a different ISA. Thus, enabling runtime migration of applications (note that live-migration is also supported). H-Container supports not just single applications but also entire containers.

H-Container fully integrates with Docker. However, at least at the time of writing, Docker supports container checkpoint/restart (with CRIU) on a single machine only, checkpoint/restart among different (heterogeneous-ISA) machines is completely manual. This repository provides the tools and instructions to enable Docker container migration.

Where to start?

Docker guide Follow the steps described at Start to test H-Container with Docker on Amazon AWS. This version doesn't require mcsema.

Repos Organization

Core Components

Microbenchmarks

Benchmarks

Note

  • We don't support mcsema at the moment due to fundamental changes in their repos

Contacts

Please contact Antonio Barbalace [email protected]

If a H-Containers team member, please use the github discussion board

Clone this wiki locally