Hi all, I decided to use mpi as the messaging layer for a multihost database. However within my org I faced very strong opposition to allow passwordless ssh or rsh. For security reasons we want to minimize the opportunities to execute arbitrary codes on the db clusters. I don;t want to run other things like slurm, etc.
My question would be: Is there a way to start an mpi application by running certain binaries on each host ? E.g., if my executable is "myapp" can I start a server (orted???) on host zero and than start myapp on each host with the right env variables set (for specifying the rank, num ranks, etc.) For example when using another messaging API (GASnet) I was able to start a server on host zero and then manually start the application binary on each host (with some environment variables properly set) and all was good. I tried to reverse engineer a little the env variables used by mpirun (mpirun -np 2 env) and then I copied these env variables in a shell script prior to invoking my hello world mpirun but I got an error message implying a server is not present: PMIx_Init failed for the following reason: NOT-SUPPORTED Open MPI requires access to a local PMIx server to execute. Please ensure that either you are operating in a PMIx-enabled environment, or use "mpirun" to execute the job. Here is the shell script for host0: $ cat env1.sh #!/bin/bash export OMPI_COMM_WORLD_RANK=0 export PMIX_NAMESPACE=mpirun-38f9d3525c2c-53291@1 export PRTE_MCA_prte_base_help_aggregate=0 export TERM_PROGRAM=Apple_Terminal export OMPI_MCA_num_procs=2 export TERM=xterm-256color export SHELL=/bin/bash export PMIX_VERSION=4.1.0a1 export OPAL_USER_PARAMS_GIVEN=1 export TMPDIR=/var/folders/_k/c4_xr5vd14j97fw7j8vzmd45_9hjbq/T/ export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.HCXmdRI1WL/Render export PMIX_SERVER_URI41=mpirun-38f9d3525c2c-53291@0.0;tcp4:// 192.168.0.180:52093 export TERM_PROGRAM_VERSION=421.2 export PMIX_RANK=0 export TERM_SESSION_ID=18212D82-DEB2-4AE8-A271-FB47AC71337B export OMPI_COMM_WORLD_LOCAL_RANK=0 export OMPI_ARGV= export OMPI_MCA_initial_wdir=/Users/igtanase/ompi export USER=igtanase export OMPI_UNIVERSE_SIZE=2 export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.PhcplcX3pC/Listeners export OMPI_COMMAND=./exe export __CF_USER_TEXT_ENCODING=0x54984577:0x0:0x0 export OMPI_FILE_LOCATION=/var/folders/_k/c4_xr5vd14j97fw7j8vzmd45_9hjbq/T//prte.38f9d3525c2c.1419265399/dvm.53291/1/0 export PMIX_SERVER_URI21=mpirun-38f9d3525c2c-53291@0.0;tcp4:// 192.168.0.180:52093 export PATH=/Users/igtanase/ompi/bin/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin export OMPI_COMM_WORLD_LOCAL_SIZE=2 export PRTE_MCA_pmix_session_server=1 export PWD=/Users/igtanase/ompi export OMPI_COMM_WORLD_SIZE=2 export OMPI_WORLD_SIZE=2 export LANG=en_US.UTF-8 export XPC_FLAGS=0x0 export PMIX_GDS_MODULE=hash export XPC_SERVICE_NAME=0 export HOME=/Users/igtanase export SHLVL=2 export PMIX_SECURITY_MODE=native export PMIX_HOSTNAME=38f9d3525c2c export LOGNAME=igtanase export OMPI_WORLD_LOCAL_SIZE=2 export PMIX_BFROP_BUFFER_TYPE=PMIX_BFROP_BUFFER_NON_DESC export PRTE_LAUNCHED=1 export PMIX_SERVER_TMPDIR=/var/folders/_k/c4_xr5vd14j97fw7j8vzmd45_9hjbq/T//prte.38f9d3525c2c.1419265399/dvm.53291 export OMPI_COMM_WORLD_NODE_RANK=0 export OMPI_MCA_cpu_type=x86_64 export PMIX_SYSTEM_TMPDIR=/var/folders/_k/c4_xr5vd14j97fw7j8vzmd45_9hjbq/T/ export PMIX_SERVER_URI4=mpirun-38f9d3525c2c-53291@0.0;tcp4:// 192.168.0.180:52093 export OMPI_NUM_APP_CTX=1 export SECURITYSESSIONID=186a9 export PMIX_SERVER_URI3=mpirun-38f9d3525c2c-53291@0.0;tcp4:// 192.168.0.180:52093 export PMIX_SERVER_URI2=mpirun-38f9d3525c2c-53291@0.0;tcp4:// 192.168.0.180:52093 export _=/usr/bin/env ./exe Thx for your help, --Gabriel