Transactional Python for Durable Machine Learning: Vision, Challenges, and Feasibility
Not on the map. Why?
Abstract (arXiv)
In machine learning (ML), Python serves as a convenient abstraction for working with key libraries such as PyTorch, scikit-learn, and others. Unlike DBMS, however, Python applications may lose important data, such as trained models and extracted features, due to machine failures or human errors, leading to a waste of time and resources. Specifically, they lack four essential properties that could make ML more reliable and user-friendly -- durability, atomicity, replicability, and time-versioning (DART). This paper presents our vision of Transactional Python that provides DART without any code modifications to user programs or the Python kernel, by non-intrusively monitoring application states at the object level and determining a minimal amount of information sufficient to reconstruct a whole application. Our evaluation of a proof-of-concept implementation with public PyTorch and scikit-learn applications shows that DART can be offered with overheads ranging 1.5%--15.6%.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 8 of its 45 references that are in the map. First posted on arXiv 15 May 2023.
Builds on
8 of 45 references.
References · 8
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2020Towards Scalable Dataframe Systemscited by 17
- 2020CRAC: Checkpoint-Restart Architecture for CUDA with Streams and UVMcited by 4
- 2021Checkpoint, Restore, and Live Migration for Science Platformscited by 2
- 2023A Step Toward Deep Online Aggregation (Extended Version)cited by 2
- 2023S/C: Speeding up Data Materialization with Bounded Memorycited by 2
- 2015Principles of Dataset Versioning: Exploring the Recreation/Storage Tradeoffcited by 1
- 2021Airphant: Cloud-oriented Document Indexingcited by 1
Built on by
Citing papers per year: 2026: 1.
1 paper.