MPICH停止在多个节点上运行

时间:2014-08-26 22:26:58

标签: mpich pbs torque mpiexec

我有一个使用MPICH的MPI fortran应用程序,如果我使用的话可以毫无问题地启动/运行:

mpiexec -n 16 -f $PBS_NODEFILE   $PBS_O_WORKDIR/myMODEL.a

在上面的例子中,我问2个节点,一旦集群上的每个节点都有8个cpu。

问题是我的/ home是通过头节点安装在计算节点上的NFS,而这些磁盘的i / o非常慢。此外,我的应用程序有很多i / o,根据经验,NFS挂载磁盘到头节点的过多i / o可以锁定头节点(这很糟糕),并且它可能变得完全没有响应。

群集系统有一个本地为每个节点上的每个JOB安装的磁盘(我可以使用环境变量TMPDIR到达此目录),因此我的作业需要在此磁盘下运行。知道了这一点,我的策略非常简单:

  1. 将文件从/ home移至$ TMPDIR
  2. 以$ TMPDIR
  3. 开始模拟
  4. 模型停止后,将应用程序的输出返回/ home
  5. 如果我执行上述所有步骤,只需要一个节点来请求集群系统(PBS / Torque),就没有问题。

     #!/bin/csh
    
     #PBS -N TESTE
     #PBS -o stdout_file.out
     #PBS -e stderr_file.err
     #PBS -l walltime=00:01:00
     #PBS -q debug
     #PBS -l mem=512mb
     #PBS -l nodes=1:ppn=8
    
     set NCPU        = `wc -l < $PBS_NODEFILE`
     set NNODES      = `uniq $PBS_NODEFILE | wc -l`
    
     cd $TMPDIR
     cp $PBS_O_WORKDIR/myMODEL.a ./myMODEL.a
     mpiexec -n $NCPU -f $PBS_NODEFILE   ./myMODEL.a
    

    但如果我问多个节点

     #!/bin/csh
    
     #PBS -N TESTE
     #PBS -o stdout_file.out
     #PBS -e stderr_file.err
     #PBS -l walltime=00:01:00
     #PBS -q debug
     #PBS -l mem=512mb
     #PBS -l nodes=2:ppn=8
    
     set NCPU        = `wc -l < $PBS_NODEFILE`
     set NNODES      = `uniq $PBS_NODEFILE | wc -l`
    
     cd $TMPDIR
     cp $PBS_O_WORKDIR/myMODEL.a ./myMODEL.a
     mpiexec -n $NCPU -f $PBS_NODEFILE   ./myMODEL.a
    

    我收到以下错误:

      

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process   (/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process(/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:1@compute-4-5.local] HYDU_create_process(/tmp/mvapich2-1.8.1/src/pm/hydra/utils/launch/launch.c:69):​​execvp   文件/state/partition1/74127.beach.colorado.edu/myMODEL.a上的错误(否   这样的文件或目录)

         

    [proxy:0:0@compute-0-1.local] HYD_pmcd_pmip_control_cmd_cb(/tmp/mvapich2-1.8.1/src/pm/hydra/pm/pmiserv/pmip_cb.c:955):断言   (!关闭)失败

         

    [proxy:0:0@compute-0-1.local] HYDT_dmxu_poll_wait_for_event   (/tmp/mvapich2-1.8.1/src/pm/hydra/tools/demux/demux_poll.c:77):   回调返回错误状态

         

    [proxy:0:0@compute-0-1.local] main   (/tmp/mvapich2-1.8.1/src/pm/hydra/pm/pmiserv/pmip.c:226):demux引擎   错误等待事件

         

    [mpiexec@compute-0-1.local] HYDT_bscu_wait_for_completion   (/tmp/mvapich2-1.8.1/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c:70):   其中一个进程终止严重;中止

         

    [mpiexec@compute-0-1.local] HYDT_bsci_wait_for_completion   (/tmp/mvapich2-1.8.1/src/pm/hydra/tools/bootstrap/src/bsci_wait.c:23):   启动器返回错误等待完成

         

    [mpiexec@compute-0-1.local] HYD_pmci_wait_for_completion   (/tmp/mvapich2-1.8.1/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c:191):   启动器返回错误等待完成

         

    [mpiexec@compute-0-1.local] main   (/tmp/mvapich2-1.8.1/src/pm/hydra/ui/mpich/mpiexec.c:405):进程   经理错误等待完成

    我做错了什么?

1 个答案:

答案 0 :(得分:3)

看起来当mvapich在第二个节点上启动进程时,它找不到您的可执行文件。尝试在mpiexec之前添加以下内容,将可执行文件和其他任何内容复制到节点临时目录中。我不是csh用户,所以你可以做得更好。

foreach n ( `uniq $PBS_NODEFILE` )
    scp $PBS_O_WORKDIR/myMODEL.a $n:$TMPDIR
end