Skip to content

Transform the CRIU image between different architectures for vanilla code.

License

Notifications You must be signed in to change notification settings

ssrg-vt/TransProc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TransProc

Transform CRIU images between different architectures for native binaries.

Refer to our wiki for a tutorial on how to migrate binaries with TransProc.

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 process and then transforms the CRIU images to support restoration on servers of a 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.

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