Release of CRIU 4.1, a system for saving and restoring the state of processes in Linux

After six months of development, the release of the CRIU 4.1 (Checkpoint and Restore In Userspace) toolkit has been published. This toolkit is designed for saving and restoring processes in user space. It allows you to save the state of one or a group of processes and then resume operation from the saved position, including after a system reboot or on another server without breaking already established network connections. The project's code is written in C and is distributed under the GPLv2 license. CRIU is used in container management systems such as OpenVZ, LXC/LXD, and Docker. The necessary changes for CRIU to work are included in the main Linux kernel.

The areas of application for CRIU technology include ensuring OS reboot without disrupting the continuity of long-running processes, live migration of isolated containers, speeding up the start of slow processes (you can begin work from a state saved after initialization), performing kernel updates without restarting services, periodically saving the state of long-running computational tasks for resuming work in case of crashes, load balancing on nodes in clusters, duplicating processes to another machine (fork to a remote system), and creating snapshots of user applications during operation for analysis on another system or in case further actions in the program need to be undone.

In the new release:

  • Added support for RISC-V architecture.
  • Support for the PIDFD mechanism has been added, allowing the use of immutable identifiers tied to original processes (a regular PID can be assigned to another process after the current process associated with that PID has terminated).
  • Support for Pointer Authentication Code (PAC) extensions for ARM64 platforms has been implemented, enabling the verification of return addresses using digital signatures stored in the unused upper bits of the pointer itself.
  • Enhanced capabilities for saving and restoring the state of applications utilizing NVIDIA CUDA technology.
  • The option to choose the network lock backend has been provided at the assembly stage, without the need to modify the code. The backend can be changed by passing the parameter NETWORK_LOCK_DEFAULT to the make utility, which accepts the values "NETWORK_LOCK_IPTABLES", "NETWORK_LOCK_NFTABLES", and "NETWORK_LOCK_SKIP".
  • Support for generating coredump files for Aarch64 and ARM architectures has been added.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster