【发布时间】:2016-08-20 12:17:12
【问题描述】:
我是高性能计算的新用户,我正在尝试运行总共需要大约 80GB 内存的串行作业。然而,对于我们的集群来说,一个节点可用的总内存只有 12GB(我们实验室的集群有点旧)。我在线阅读了一些指南,据我了解,只有 MPI 作业可以使用多个节点的内存?这是真的吗?关于如何解决我的特定问题的任何想法?非常感谢你们!
【问题讨论】:
我是高性能计算的新用户,我正在尝试运行总共需要大约 80GB 内存的串行作业。然而,对于我们的集群来说,一个节点可用的总内存只有 12GB(我们实验室的集群有点旧)。我在线阅读了一些指南,据我了解,只有 MPI 作业可以使用多个节点的内存?这是真的吗?关于如何解决我的特定问题的任何想法?非常感谢你们!
【问题讨论】:
您所描述的是分布式系统的某种共享内存抽象。不幸的是,集群或任何其他 HPC 系统都不能这样工作,您需要利用节点间通信(消息传递)来访问更多内存。 MPI 是分布式处理的事实标准,如果不编辑代码,您将无法完成超出节点内存限制的弱扩展。
【讨论】:
我从未听说 MPI 能够运行比在单个节点上需要更多内存的代码(除非该应用程序是专门为在节点之间共享内存而设计的)。不过,ElasticOS 可以解决这个问题:http://synergy.cs.vt.edu/2015-nsf-xps-workshop/reports/Richard_Han_45-Conference_Presentation_ElasticOS_XPS_2015.2.pdf
【讨论】: