一种HPC集群的软件管理系统
成果类型:: 发明专利
发布时间: 2023-09-27 22:23:39
本发明提供了一种HPC集群的软件管理系统,所述系统包括存储有所述HPC集群已安装软件的依赖关系数据和冲突关系数据的软件池、基于所述软件池获取待加载软件的依赖数据和冲突数据的软件冲突依赖检测模块、基于所述依赖数据和冲突数据可视化显示异常信息的异常判断模块和用于运行至少一个待加载软件及其全部依赖软件的独立软件运行环境,且不同软件运行环境之间可并行运行。
一种HPC集群的软件管理系统,所述系统包括软件池、软件冲突依赖检测模块、异常判断模块和多个独立软件运行环境,且不同软件运行环境之间可并行运行;其中,所述软件池,用于存储所述HPC集群已安装软件的软件信息,且所述软件信息至少包括软件名称、软件版本、软件冲突关系数据和软件依赖关系数据;所述软件冲突依赖检测模块,用于基于所述软件池、用户指定的软件运行环境以及待加载软件,获取所述待加载软件的依赖数据和冲突数据,其中,所述依赖数据用于表示所述待加载软件及其全部依赖软件之间的加载先后顺序,所述冲突数据包括了所述待加载软件及其全部依赖软件,与所述用户指定的软件运行环境中的软件之间存在冲突关系的所有软件对数据;所述异常判断模块,用于基于所述依赖数据和所述冲突数据,当判断不存在冲突时,将所述待加载软件及其全部依赖软件加载至所述用户指定的软件运行环境中;否则将所述待加载软件及其全部依赖软件加载至所述多个软件运行环境中不同于所述指定的软件运行环境的另一软件运行环境中;所述软件运行环境,用于运行至少一个所述用户待加载软件及其全部依赖软件;所述软件运行环境为用户级webshell环境。
高性能计算机群(High Performance Computing,HPC)因其优越的属性,目前已经在各行各业得到了广泛的应用,通常HPC系统上需要安装部署几百上千款软件。传统的HPC软件管理都是采用人工管理方式,用户需要哪款软件,应用研发人员需要先下载软件源码、安装包,然后上传到系统,编译安装,调试,添加各种系统库、数学库、图形库依赖等等,最后提供给用户可用的软件,软件管理和使用过程十分复杂,一般都是需要用户和专业的软件运维人员进行长时间的交互才能最终正常使用软件。用户当前对软件的使用方式多采用模块化的加载卸载方式,如模块工具,但用户还是需要登录HPC系统的登录节点,使用命令方式对软件进行加载和卸载,同时必须知道各个软件版本之间的依赖关系和冲突关系,否则需要不断的尝试各个版本的软件依赖、兼容关系和冲突关系,使用过程都是通过手动完成,使得用户的使用门槛较高,尤其是用户在使用较多的软件时,这种问题就显得尤为突出。另外,传统的HPC系统软件使用方式为:用户登录到特定的登录节点,在登录节点的用户环境里加载卸载软件。如果用户用的软件比较多,同一个环境下就会造成各个软件和不同版本之间依赖环境的相互污染,例如A软件依赖于C,B软件依赖于D,但C和D冲突,这样在同一时间,该用户在同一个登录节点上就无法同时使用这两款软件,必须先后使用,给用户使用过程造成了不便。该成果能解决以上问题。
该系统可实现HPC集群大规模软件的自动化依赖和冲突检测,且能够以图形化的方式提示依赖和冲突检测的结果,可以为冲突软件提供同时间不同空间的、独立的软件运行环境,支持该环境的启动和关闭,简化用户的操作,使得所有用户均能方便快捷的使用HPC系统的软件资源。
该成果拟通过技术开发等方式进行成果转化。