Delivering a reproducible environment along with complex and up-to-date software stacks on thousands of distributed and heterogeneous worker nodes is a critical task. The CernVM-File System (CVMFS) has been designed to help various communities to deploy software on worldwide distributed computing infrastructures by decoupling the software from the Operating System. However, the installation of this file system depends on a collaboration with system administrators of the remote resources and an HTTP connectivity to fetch dependencies from external sources. Supercomputers, which offer tremendous computing power, generally have more restrictive policies than grid sites and do not easily provide the mandatory conditions to exploit CVMFS. Different solutions have been developed to tackle the issue, but they are often specific to a scientific community and do not deal with the problem in its globality. In this paper, we provide a generic utility to assist any community in the installation of complex software dependencies on supercomputers with no external connectivity. The approach consists in capturing dependencies of applications of interests, building a subset of dependencies, testing it in a given environment, and deploying it to a remote computing resource. We experiment this proposal with a real use case by exporting Gauss-a Monte-Carlo simulation program from the LHCb experiment-on Mare Nostrum, one of the top supercomputers of the world. We provide steps to encapsulate the minimum required files and deliver a light and easy-to-update subset of CVMFS: 12.4 Gigabytes instead of 5.2 Terabytes for the whole LHCb repository.
翻译:在数以千计的分布式异构工作节点上交付可复现环境及复杂、最新软件栈是一项关键任务。CernVM文件系统(CVMFS)通过将软件与操作系统解耦,旨在帮助各研究社区在全球分布式计算基础设施中部署软件。然而,该文件系统的安装依赖于与远程资源系统管理员的协作,以及从外部源获取依赖项的HTTP连接。提供巨大计算能力的超级计算机通常比网格站点具有更严格的安全策略,难以满足使用CVMFS的必要条件。现有解决方案虽已针对此问题展开研究,但多局限于特定科学社区,未能全面应对该问题。本文提出一种通用工具,可帮助任意社区在无外部网络连接的超级计算机上安装复杂软件依赖项。该方法的步骤包括:捕获目标应用的依赖关系、构建依赖项子集、在给定环境中进行测试,以及将其部署至远程计算资源。我们通过一个实际案例验证该方案:将LHCb实验的高斯蒙特卡洛模拟程序导出至世界顶级超级计算机之一Mare Nostrum。我们提供了封装最小必要文件的步骤,并交付了一个轻量级、易更新的CVMFS子集(12.4 GB),而完整LHCb存储库大小为5.2 TB。