为什么configuration群集节点在内存不足时重新启动?

我有权访问研究HPC群集,该群集经过configuration,以便如果您的作业尝试使用比节点可用的内存多的节点,则会导致节点崩溃并自动重新启动。 这似乎是常见的做法,例如见https://www.osc.edu/documentation/knowledge_base/out_of_memory_oom_or_excessive_memory_usage

为什么要这样configuration,而不是被configuration为只是终止需要太多内存的进程? 在这两种情况下,你都会失去这份工作,但是对于整个集群来说,后者似乎会更好,因为节点可以更快地重新使用。 或者操作系统无法保证在这种情况下恢复内存?

重新启动节点可确保节点在分配给下一个作业之前正常工作。 此外,当您运行一个节点内存不足,并开始交换时,它会放慢速度,可能无法响应。 在这种情况下,他们可能正在使用类似IPMI的东西来重新启动节点。

根据您所描述的环境以及通过挖掘您所提供的链接可以find的一些信息,听起来您正在使用的集群被设置为无盘或无状态系统,这意味着将整个操作系统加载到内存来自远程存储的操作系统映像。

确保并行作业在多个节点之间正确地被杀死可能是一个复杂的过程,并且确保正确完成查杀和清除通常比重新启动节点需要更多的时间。 在开始作业之前将节点置于干净状态是确保集群的最高性能所必需的。

以这种方式configuration节点的确切原因将取决于群集上使用的configuration和资源pipe理系统