我正在研究 HPC 应用程序和并行文件系统。我遇到了临时空间和临时文件系统这个术语。
我无法想象这个暂存空间存在的位置。它是在计算节点上作为挂载的文件系统 /scratch 还是在主存储空间上。
它的内容是什么。
暂存空间是否独立于每个计算节点,或者两个或多个节点可以共享一个暂存空间。
所以假设我有一个文件 123.txt 我想并行处理。暂存空间将包含此文件的部分内容还是将复制整个文件。
我很困惑,谷歌上没有明确的描述。请指出一些。
多谢。
我正在研究 HPC 应用程序和并行文件系统。我遇到了临时空间和临时文件系统这个术语。
我无法想象这个暂存空间存在的位置。它是在计算节点上作为挂载的文件系统 /scratch 还是在主存储空间上。
它的内容是什么。
暂存空间是否独立于每个计算节点,或者两个或多个节点可以共享一个暂存空间。
所以假设我有一个文件 123.txt 我想并行处理。暂存空间将包含此文件的部分内容还是将复制整个文件。
我很困惑,谷歌上没有明确的描述。请指出一些。
多谢。
这完全取决于集群的设置方式以及用户的需求。当您被授予对集群的访问权限时,您还应该获得一些关于如何使用它的信息,这些信息应该可以回答您的大部分问题。
在我使用的一个集群上,NFS 用于长期存储,一些 Lustre 空间可用于作业暂存空间。所有节点都可以看到 NFS 和 Lustre。每个节点在节点上也有一些只有该节点才能看到的暂存空间。
如果您希望您的作业并行处理 123.txt,您可以将 123.txt 复制到共享暂存空间 (Lustre),或者您可以将其复制到作业文件中的每个节点暂存空间。
for i in `cat $PBS_NODEFILE | sort -u ` ; do scp 123.txt $i:/scratch ; done
一旦每个节点都有一个副本,您就可以运行您的作业。工作完成后,您需要将结果复制到持久存储中,因为集群通常会运行脚本来清理暂存空间。
有很多不同的方式来考虑或部署暂存空间或暂存文件系统。
假设你有一个 linux 节点集群,这些节点都有一个硬盘。您可以想象一个 /scratch 空间,位于每个节点的本地。由于操作系统映像将相对较小,并且现在无法购买小于 TB 的驱动器,因此您最终将获得接近 TB 的存储空间供节点使用。
你会用这个节点本地存储做什么?哦,很多东西。可扩展的检查点重启。本地非核心操作。
当我第一次开始使用集群时,将所有这些未使用的空间组合到一个并行文件系统中似乎是个好主意。PVFS 为此目的工作得非常好。
这让我可以继续使用所有节点都可用的 /scratch 并行文件系统。这有一个技术组件(站点将部署哪个并行文件系统?),但也有一个策略组件:该文件系统上的数据将保留多长时间?备份了吗?/scratch 通常意味着文件没有备份,实际上在一段时间不被访问(通常是两周)后会被清除