其实,这个标题好搞笑……
集群系统
一个能正常工作的基于Linux系统的并行计算集群,应该具备以下的特征。
- 有一个调度器,比如Slurm,OpenPBS等。商用的就不提了。
- 运行同一个版本的Linux系统,也就是系统版本唯一。
- 用户信息唯一和数据唯一。意味着用户在任何一个节点上,看到的数据程序都是一样的。
- 除了登录环节外,用户通过调度器访问任何资源,鉴权过程均是无感知的。
- 用户仅可访问调度器分派的资源。依靠用户自觉遵守规则,不盗用资源是不现实的。
- 添加和删除用户,只需在管理节点完成类似useradd/userdel的操作。
- 关机,开机,重启某一个机器或者整个集群,只需在管理节点操作一次。任何实际过程,均不直接操作任何一个计算节点。
别迷信术语/行话
别迷信什么并行环境。这种专业的术语都是糊弄人的。
科学计算中的并行计算,就我接触到的而言,绝大多数是通过MPI进行的。
调度器自动传递参数给MPI,然后程序自动通过MPI并行。不用额外搞什么环境的。
当然了,程序代码本身决定了支持那种MPI(比如MPICH和OpenMPI),以及能否通过MPI并行。有些程序还是通过OpenMP方式并行的。
不支持MPI的程序,当然不可以通过mpirun来运行了。
未必需要MPI
如果采用hpc4you的集群方案,MPI都不需要。
使用hpc4you_toolkit完成集群搭建之后,下载软件镜像,配合slurm调度脚本,就直接可以跑计算了。
也不用迷信什么module load之类的配置操作了。hpc4you提供的软件镜像, 是下载即用的。唯一的依赖, 目前仅仅支持x86处理器(比如Intel近10年和AMD进5年的处理器), 而且需要在机器上安装singularity。
hpc4you集群方案
OpenHPC,Rocks,以及我写的hpc4you_toolkit,都是基于Beowulf Cluster模型的来组建集群的。不过我的方案,无需任何IT技能,仅此而已。
hpc4you提供的集群组建工具, hpc4you_toolkit,仅仅要求用户上传zip包; 而后拷贝并粘贴这个指令 unzip hpc4you*zip; source code。
其实, 我不会写自解压可执行的压缩包, 要不然, 用户只需输入类似 ./hpc4you*zip 并按回车键就可以了。
hpc4you提供的并行计算集群方案, 是免维护免管理的。 唯一需要管理的地方, 可能就是添加用户而已。 具体可以如下的视频介绍:
零配置组建并行计算集群 | 50秒简介_哔哩哔哩_bilibili
零配置做并行计算集群 | 90秒简介_哔哩哔哩_bilibili
hpc4you_toolkit提供的集群方案, 是自洽的, 包括集群系统本身,以及各种专业软件通过调度器运行多核心甚至是多节点并行计算。 并非什么简单的shell脚本, 虽然出于历史原因, 各个模块的名称都是XXX.sh。