登录节点与计算节点是否通过用户文件系统实现抽象?
答复
首先明确HPC集群的存储基本逻辑:
- 常规超算/计算集群的登录节点、计算节点都会统一挂载全局共享文件系统(小规模集群常用NFS,大规模集群多用Lustre、GPFS、BeeGFS这类并行文件系统),你的用户主目录
~就属于这个共享文件系统下的路径,对所有有权限的节点完全一致可见,不存在专门的文件系统抽象层隔离登录节点和计算节点的目录视图——你在任意节点访问主目录下的文件,读写的都是后端存储集群上的同一份数据,不是各节点本地磁盘存的独立副本。 - 不存在“计算节点本地完成处理后再把结果同步回用户文件系统”的中转流程。你执行
sbatch提交作业后,调度系统会将作业调度到符合资源要求的空闲计算节点,直接在该节点上拉起python run.py进程运行;脚本运行过程中所有写入主目录路径的IO请求,都会通过集群专用的高速存储网络(IB/RoCE)直接发送到后端共享存储完成写入,不会先落盘到计算节点本地磁盘再做二次同步。
补充说明:如果你在脚本里写入的是计算节点本地路径(比如
/tmp目录、节点专属的本地临时scratch目录),那生成的文件只会存储在对应计算节点的本地磁盘上,登录节点无法直接访问,且这类本地临时文件通常会在作业结束后被系统自动清理。你目前两种运行方式都能在主目录下找到结果,本质是因为主目录属于全局共享挂载点,不属于节点本地存储范畴。
内容的提问来源于stack exchange,提问作者user0193
相关产品推荐
相关产品推荐

