【求助】为什么并行计算比单节点的要慢非常多呢?
菜鸟刚刚接触集群系统的计算。这两天在折腾MS的并行计算。现在可以实行并行计算,但是多节点并行计算的速度,远远低于单节点的计算速度,不知道是为什么?
集群是曙光系统,共六个节点,每个节点有8个核,内存node1最大,其他五个内存一样大。安装好后,并行可以进行,6个节点48个cpu运行是可以跑的,但是不如用单节点8个cpu跑的快。跑CASTEP程序,单节点8cpu只需要一两分钟就可以返回的结果,6个节点48个cpu却要至少20多分钟。
请问各位大虾,是什么原因导致这种情况?是并行文件配置的不好?还是因为节点间用的是千兆交换机,影响了数据的交换?还是其他原因?恳请达人给予指点。
刚刚接触,真的比较菜,让各位见笑了。
返回小木虫查看更多
今日热帖
京公网安备 11010802022153号
不是CPU越多就越快的,CPU之间通讯需要时间,对于一般的集群系统,超过8个CPU后效率会直线下降!
castep有一个节点8个核跑跑试试,呵呵
刷刷的。
并行计算是个很复杂的问题,核间通讯要比节点间通讯快的多,节点间通讯还有一些等待,所以并行效率就会降低,MS因为源码不开饭,也没有办法调整,只能顺着来了
祝你好运
的确是,跑dmol3,6个节点跑,要80多秒,而一个节点,只要50秒。看来真不如只用一个节点。多谢回复
,
并行应该比单节点快,只所以慢,也许是通讯太慢,也许是并行文件设置不当吧。我新手,一点也不懂。
你跑一个几分钟的程序是没意义的
其中真正并行的部分只占你总计算时间的很少一部分
再加上通讯时间:(
跑个需要两三天的任务试试;)
明白了。三克油
我跑castep,跑几天的程序也是这样,单节点就是比3个节点的快,而且查网络通讯,交换速度并没有满,有些奇怪。
也许硬盘速度也有关系。