中文

在 XSEDE 资源上大规模部署 Jupyter Notebooks 以支持科学网关与研讨会

分布式、并行与集群计算 2018-07-26 v3

摘要

Jupyter Notebooks 已成为各科学领域交互式计算的主流工具。Jupyter Notebooks 适合作为科学网关的配套应用程序,为用户提供更大的灵活性和后处理能力。此外,它们常用于培训活动和研讨会中,以提供对预配置交互式计算环境的即时访问。Jupyter 团队发布了 JupyterHub Web 应用程序,提供了一个可供多名用户登录并访问 Jupyter Notebook 环境的平台。当用户数量和内存需求较低时,在单台服务器上设置 JupyterHub 很容易。然而,当我们需要为数十或数百名用户提供大规模 Jupyter Notebooks 服务时,设置变得更加复杂。在本文中,我们将介绍在 XSEDE 资源上大规模部署 JupyterHub 的三种策略。所有方案均共享在 XSEDE Jetstream 的虚拟机上部署 JupyterHub 的方式。在第一种方案中,JupyterHub 连接到一台超级计算机,代表每位用户启动一个单节点作业,并将 Notebook 从计算节点代理回用户的浏览器。在第二种方案中,在为地震学 IRIS 联盟提供的 XSEDE 咨询背景下,我们以 Swarm 模式部署 Docker,以协调多台 XSEDE Jetstream 虚拟机,从而提供具有持久存储和配额的 Notebooks。在最后一种方案中,我们在 Jetstream 上安装 Kubernetes 容器编排框架,以提供一个具有分布式文件系统且可扩展至数千名用户的容错 JupyterHub 部署。在结论部分,我们提供了分步教程的链接,其中包含复制这些部署所需的所有命令和配置文件。

关键词

引用

@article{arxiv.1805.04781,
  title  = {Deploying Jupyter Notebooks at scale on XSEDE resources for Science Gateways and workshops},
  author = {Andrea Zonca and Robert S. Sinkovits},
  journal= {arXiv preprint arXiv:1805.04781},
  year   = {2018}
}

备注

7 pages, 3 figures, PEARC '18: Practice and Experience in Advanced Research Computing, July 22--26, 2018, Pittsburgh, PA, USA