Hi Apache Airavata community, I wanted to share that I have completed the first version of the checkpoint and restore feature integration in CyberShuttle Linkspan.
After studying CPU/GPU checkpointing and validating CRIU and CRIUgpu behavior through standalone experiments, I integrated checkpoint and restore support into Linkspan so that applications managed through Linkspan can preserve computational state across HPC scheduler allocations. The implementation supports CPU checkpoint/restore through CRIU, as well as a supported single-GPU NVIDIA checkpoint path using CRIU's CUDA plugin together with cuda-checkpoint. Checkpoints can be created manually through Linkspan's REST API, from its workflow engine, or automatically before Slurm walltime expiration. All of these paths share the same checkpoint service and persistent checkpoint representation. I have submitted a final pull request with a detailed PR description here: https://github.com/cyber-shuttle/linkspan/pull/22 Besides that, I have fixed some minor bugs that related to Linkspan functionality, reflected by the PR below: - Jupyter Kernel DELETE API Fix: https://github.com/cyber-shuttle/linkspan/pull/16 - REST API and README Documentation Improvements: https://github.com/cyber-shuttle/linkspan/pull/17 I also posted an approximately 9-minute-read blog on the Apache Airavata Wiki ( https://cwiki.apache.org/confluence/spaces/AIRAVATA/pages/449285380/Checkpoint+and+Restore+Integration+in+Linkspan) that describes the integration design, features, architecture, and other implementation details in more depth. Please feel free to take a look if you are interested. I would also be happy to discuss any questions or feedback related to this work. Best regards, Boyang Gong
