本人近来从事一个基于局域网Mpi 分布式计算平台的开发,主要是使用MPICH做底层结构,集成到VC6.0 的开发IDE 中.
在开发过程中,主要遇到几个问题:
第一, 大数据分发如何实现高效率的分发.我们公司处理的数据基本上都是1G以上大小的数据,如果网络20-100台机器互联,如何从一台任务发起机器将数据最高效率的分发到其他机器,也不造成网络的阻塞.
第二,MPICH 提交运行的.exe程序,带有路径记忆特性.假设 机器A 是任务发起机 机器B ,C,D...是网内其他可执行分布式程序的机器. 如果A机器要被提交运行的程序路径为: d:\workspace\mpitestjob\debug\mpitest.exe 数据所在目录 : d:\workspace\mpitestjob\sj.data , 再有在B机器中程序路径为c:\workspace\mpitestjob\debug\mpitest.exe 数据所在目录 c:\workspace\mpitestjob\sj.data 机器C,D..等机器的程序路径以及数据路径跟B机器相同,那么任务提交并行运行后,程序打开数据失败.经过测试,发现 B,C,D..任务执行机必须与任务发起机A 一样,程序以及数据也分发在D:盘符下,并且路径信息一致的情况下,才能在所有机器都正常的打开.希望找出原因解决盘符路径固定的错误,使得MPI提交的程序没有记忆特性.
第三,Mpi程序分布运行完毕后,如果将结果文件从各个任务执行机器回收到任务发起机,并且如何检测各个任务机的任务运行进度.
肯定,各位大鸟,多提好意见,帮助小弟完成任务.
转载于:https://www.cnblogs.com/woodyboylei/archive/2006/09/02/493339.html