GiantVM is a many-to-one virtualization framework built atop the QEMU/KVM hypervisor that consolidates multiple physical servers into a unified virtual machine Our core technical approach provides a Single System Image without requiring any modifications to the Guest OS or userspace applications.
The main branch hosts the DSM (Distributed Shared Memory) version of GiantVM, which can be evaluated over TCP/IP.
The shared-memory branch hosts our code that utilizes shared memory as the underlying communication and memory access mechanism for GiantVM.
To boot GiantVM, a dedicated GiantVM kernel is also required.
https://github.com/GiantVM/GVM-kernel
Clone the GiantVM QEMU repository from GitHub:
git clone https://github.com/GiantVM/GVM-qemu.gitThe following packages are required for compilation. Install them as needed:
sudo apt install -y python3-venv python3-pip python3-setuptools
sudo apt install ninja-build
sudo apt install -y libglib2.0-dev libpixman-1-dev
sudo apt install -y librdmacm-dev
sudo apt install -y flex bisonEnter the GiantVM QEMU source directory:
cd GVM-qemuConfigure QEMU for the x86_64 system emulator with KVM and VNC support:
./configure \
--target-list=x86_64-softmmu \
--enable-kvm \
--enable-vnc \
--disable-werrorBuild QEMU with parallel jobs. Replace N with the number of available CPU cores:
make -jNAfter the build completes, verify that the x86_64 QEMU binary was generated:
./build/qemu-system-x86_64 --versionThe expected output is QEMU emulator version 10.1.2