-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
In order to get started with TransProc, we need to:
- Setup an x86-64 + Aarch64 environment (either bare-metal or emulated)
- Install TransProc within the setup
- Install the TransProc compiler toolchain to generate tranform-able binaries
- Build the benchmarks
- Migrate binaries
Please contact Abhishek Bapat ([email protected]) or Xiaoguang Wang ([email protected]) for queries and concerns.