一种捕获并复现 Jupyter Notebook 绝对状态的框架
分布式、并行与集群计算
2022-10-18 v1
摘要
Jupyter Notebook 是创建和叙述计算研究项目极为流行的工具,在生成可复现的科学研究产物方面也具有巨大潜力。捕获 notebook 的完整状态还有额外好处;例如,notebook 的执行可在本地与远程资源之间分配,后者可能具备更强的处理能力或存储受限/访问受限的数据。在细致审视下,使 notebook 完全可复现面临若干挑战:notebook 代码必须被完整复制,底层 Python 运行时环境必须一致。在复制引用数据、外部库依赖和运行时变量状态时会出现更微妙的问题。本文利用 Jupyter 的标准扩展机制提出针对上述问题的解决方案,以创建运行 notebook 的可归档系统状态。我们表明,这些涉及与底层 Linux 内核交互的附加机制所带来的开销并不会引入显著的运行时开销,从而证明了该方法的可行性。
引用
@article{arxiv.2204.07452,
title = {A Framework to capture and reproduce the Absolute State of Jupyter Notebooks},
author = {Dimuthu Wannipurage and Suresh Marru and Marlon Pierce},
journal= {arXiv preprint arXiv:2204.07452},
year = {2022}
}
备注
Accepted at Practice & Experience in Advanced Research Computing (PEARC) 2022