Skip to content
Abhishek Bapat edited this page Apr 30, 2022 · 15 revisions

Welcome to the TransProc wiki!

TransProc supports live migration of natively compiled Linux applications across servers with CPUs of different architectures. TransProc not only supports live-migration on VMs but also on bare-metal.

TransProc builds on top of criu to dump a running binary and then transforms the criu generated artifacts to support restoration on servers of different architecture. Currently TransProc supports migration on x86-64 and aarch64 CPUs. TransProc uses LLVM's stack maps to generate stack and register metadata and implements a stack and register transformation logic leveraging the generated metadata. It does this on criu dumped images and hence does not involve injecting transformation runtime within the binary image improving security.

There are two main parts to TransProc:

  • CRIU wrapper
  • TransProc compiler toolchain

This repository provides the CRIU wrapper and the compiler toolchain can be found on this branch of the popcorn compiler repository.

Getting Started

In order to get started with TransProc, we need to:

Contacts

Please contact Abhishek Bapat ([email protected]) or Xiaoguang Wang ([email protected]) for queries and concerns.