Linux container technologies such as Docker and Singularity offer encapsulated environments for easy execution of software. In high performance computing, this is especially important for evolving and complex software stacks with conflicting dependencies that must co-exist. Singularity Registry HPC ("shpc") was created as an effort to install containers in this environment as modules, seamlessly allowing for typically hidden executables inside containers to be presented to the user as commands, and as such significantly simplifying the user experience. A remaining challenge, however, is deriving the list of important executables in the container. In this work, we present new automation and methods that allow for not only discovering new containers in large community sets, but also deriving container entries with important executables. With this work we have added over 8,000 containers from the BioContainers community that can be maintained and updated by the software automation over time. All software is publicly available on the GitHub platform, and can be beneficial to container registries and infrastructure providers for automatically generating container modules to lower the usage entry barrier and improve user experience.
翻译:Docker 和 Snationality 等Linux 集装箱技术为软件的简单执行提供了封闭的环境。 在高性能计算中,这对于不断发展和复杂的软件堆积特别重要,这些堆积必须同时存在,相互矛盾的相互依存关系必须同时存在。 创建了单质登记 HPC (“shpc ”), 以努力在这种环境中作为模块安装集装箱。 这样做无缝地将通常隐藏在集装箱内的可执行文件作为命令提供给用户,从而大大简化了用户的经验。 然而,另一个挑战还在于产生集装箱中的重要可执行文件清单。 在这项工作中,我们提出了新的自动化和新方法,不仅允许在大型社区内发现新的集装箱,而且还允许用重要的可执行文件来生成集装箱条目。 通过这项工作,我们从生物集装箱界增加了8 000多个集装箱,这些集装箱可以由软件自动化长期维护和更新。 所有软件都可以在GitHub平台上公开获得, 并且对集装箱登记和基础设施供应商自动生成集装箱模块以降低使用进入屏障并改进用户经验是有益的。