目前我有以下用例。
如你所见,这不是超级有效的。每次启动主站或从站时执行的读/写是流程中的瓶颈。特别是因为列表中通常有+25个任务,每个任务都有一个单独的Slave来执行任务。因此,我一直在考虑离开"文件"系统并迁移到更好的东西。我尝试过使用稍微好一点的管道和套接字(在C语言中编写一个由我的Fortran程序调用的客户端/服务器通信系统)。我也研究了OpenMP,MPI和ZeroMQ(我没有让ZeroMQ与Fortran一起工作),结果各不相同。有人可能会争辩说,每次添加或减少Slave时都应该重写整个程序,但我们每次都要讨论数百万行必须重新编译的行。
现在,我转向社区提出问题:鉴于我上面所说的内容(每个Slave彼此调用并且只通过Master进行通信(即Master - > Slave1 - > Master - > Slave2) - > Master - > SlaveN - > Master))在Master和Slaves之间进行任何沟通方式都会有多少或更不明智?
干杯