NavP: Enabling Navigational Programming for Science Data Processing via Application-Initiated Checkpointing
Published in Technical Report, 2021
Abstract: Science Data Systems (SDS) handle science data from acquisition through processing to distribution. They are deployed in the Cloud today, and the efficiency of Cloud instance utilization is critical to success. Conventional SDS are unable to take advantage of a cost-effective Amazon EC2 spot market, especially for long-running tasks. Some of the difficulties found in current practice at NASA/JPL are: a lack of mechanism for app programmers to save valuable partial results for future processing continuation, the heavy weight from using container-based (Singularity) sandboxes with more than 200,000 OS-level files; and the gap between scientists developing algorithms/programs on a laptop and the SDS experts deploying software in Cloud computing or supercomputing. We present a first proof-of-principle of this using NavP (Navigational Programming) and fault-tolerant computing (FTC) in SDS, by employing program state migration facilitated by Checkpoint-Restart (C/R). NavP provides a new navigational view of computations in a distributed world for the application programmers. The tool of DHP (DMTCP Hop and Publish) we developed enables the application programmers to navigate the computation among instances or nodes by inserting hop(destination) statements in their app code, and choose when to publish partial results at stages of their algorithms that they think worthwhile for future continuation. The result of using DHP is that a parallel distributed SDS becomes easier to program and deploy, and this enables more efficient leveraging of the Amazon EC2 Spot market. This technical report describes a high-level design and an initial implementation.
Recommended citation: Pan, Lei, and Twinkle Jain. "NavP: Enabling Navigational Programming for Science Data Processing via Application-Initiated Checkpointing." arXiv preprint arXiv:2112.10364 (2021).
URL: https://arxiv.org/abs/2103.08546