is designed to reduce the energy consumption in enterprise clouds with VMs entering frequent idle periods by transforming a fully-fledged idle VM into a lightweight and resourceless virtual network function (VNF). For as long as this VNF remains idle, the virtual machine can be shutdown. The VM only needs to be resumed once the VNF exhibits activity.
In every VM there is alway a process, which we call the Gateway Process, that actively listens to one or multiple network ports, waiting for incoming connections or requests.
In order to save energy and release memory, the key idea is to migrate this Gateway Process and collect them inside a signle VM called sink server. The VM is then shutdown.
The Gateway Process outside its original VM is not able to accomplish any request. SEaMLESS monitors potential activities and restores immediately the VM as soon as they are detected.
The architecture of SEaMLESS is composed of three elements:
Initially the gateway process (e.g., an OpenSSH server) is deployed inside the VM. Some users may be or not connected through SSH to the virtual machine, in any case, after a while, the idle state is detected and the migration procedure starts. The OpenSSH server process is dumped into an image file, toghther with all the session child processes, and transferred to the sink. The sink resumes the entire application mantaining intact every TCP connection and SSH sessions, the VM can now be shut down. As soon as the user starts interacting again, activities are detected on the sink, the original VM is resumed, the gateway process in the new state is transferred back to fullfil the request.
Here you can find a video showing how SEaMLESS works from the user perspective.
We are in a system depicted as in figure, a user access to 4 virtual machines using SSH. After some time (30 seconds) the idleness is detected and SEaMLESS migrates the gateway process to the sink while mantaining opened all the enstablished connections (Completely transparent for the user).
The work done by Quentin Jacquemart has been funded by the French National Research Agency (ANR), through the program “Investments for the Future”, reference #ANR-11-LABX-0031-01.
We thank Marcos Dione for his valuable comments at the early stages of the SEaMLESS project.