- 简介计算笔记本(例如Jupyter、Google Colab)被数据科学家广泛使用。笔记本的一个关键特点是交互式计算模型,即迭代地执行单元格(即一组语句)并观察结果(例如模型或图形)。不幸的是,现有的笔记本系统不提供时光穿梭到过去的状态:当用户执行单元格时,笔记本会话状态包含的用户定义的变量可能会被不可逆转地修改,例如用户无法“取消删除”数据框列。这是因为,与DBMS不同,现有的笔记本系统不跟踪会话状态。现有的用于检查点和恢复会话状态的技术,例如操作系统级别的内存快照或应用程序级别的会话转储,都不足以满足需求:检查点可能会产生巨大的存储成本并且可能会失败,而恢复只能通过完全加载检查点文件来低效地执行。 在本文中,我们介绍了一个新的笔记本系统Kishu,它使用高效且容错的增量检查点和检出机制,提供了从任意笔记本状态进行时光穿梭的功能。Kishu创建小巧的增量检查点,并以新的Co-variable粒度正确保留复杂的变量依赖关系。然后,为了返回到先前的状态,Kishu准确地识别当前状态和目标状态之间的状态差异,以最小的数据加载在亚秒的延迟下执行增量检出。Kishu与流行的数据科学库(例如Ray、Spark、PyTorch)兼容146个对象类,并在各种笔记本上将检查点大小和检出时间分别减少了4.55倍和9.02倍。
- 图表
- 解决问题解决问题:本论文提出了一个新的笔记本系统Kishu,旨在通过有效和容错的增量检查点和检出机制,实现任意笔记本状态的时间旅行。
- 关键思路关键思路:Kishu创建小型的增量检查点,以新颖的Co-variable粒度正确保留复杂的变量依赖关系。然后,为了返回到以前的状态,Kishu准确地识别当前状态和目标状态之间的状态差异,以最小的数据加载实现亚秒级的增量检出。
- 其它亮点其他亮点:Kishu与流行的数据科学库(如Ray,Spark,PyTorch)兼容,可以在各种笔记本上将检查点大小和检出时间分别减少多达4.55倍和9.02倍。本论文的实验设计详细,使用了多个数据集,并且代码已经开源。
- 相关研究:当前还没有类似于Kishu的笔记本系统,但是有一些相关的研究,如基于内存快照的检查点技术和应用程序级会话转储。
沙发等你来抢
去评论
评论
沙发等你来抢