| Line 141: |
Line 141: |
| | * Expected size: 350 hours | | * Expected size: 350 hours |
| | * Suggested by: Alexander Mikhalitsyn <alexander@mihalicyn.com> | | * Suggested by: Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | + | * Mentors: Andrei Vagin <avagin@gmail.com>, Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | + | |
| | + | === Integrate with Live Update Orchestrator (LUO) === |
| | + | |
| | + | '''Summary:''' Integrate with Live Update Orchestrator (LUO) |
| | + | |
| | + | Live Update Orchestrator (LUO) is a framework for Linux kernel |
| | + | live updates (via kexec). Idea behind it is to provide kernel |
| | + | and user space API to save specific system resources across |
| | + | kexec reboot. |
| | + | |
| | + | This research project explores how CRIU can be integrated with LUO. |
| | + | For example, if a user is running memcached on a node, the current |
| | + | approach would require a full CRIU dump, then saving the entire |
| | + | process memory to disk, then followed by restoring it after the |
| | + | kernel live update. |
| | + | |
| | + | Instead, CRIU could be extended to leverage the LUO API. When instructed, |
| | + | it could preserve selected memory regions directly across the kexec reboot, |
| | + | avoiding a full disk dump and significantly accelerating the restore process |
| | + | after the kernel update. |
| | + | |
| | + | '''Links:''' |
| | + | * [1] LUO kernel documentation https://docs.kernel.org/core-api/liveupdate.html |
| | + | * [2] LUO memfd doc https://docs.kernel.org/mm/memfd_preservation.html |
| | + | |
| | + | '''Details:''' |
| | + | * Skill level: intermediate / advanced |
| | + | * Language: C |
| | + | * Expected size: 350 hours |
| | + | * Suggested by: Andrei Vagin <avagin@gmail.com> |
| | * Mentors: Andrei Vagin <avagin@gmail.com>, Alexander Mikhalitsyn <alexander@mihalicyn.com> | | * Mentors: Andrei Vagin <avagin@gmail.com>, Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | | | |