Hi Gus, Thank you for all your suggestions.
I fixed the limits as you suggested and ran the test and I am still getting the same failure. More on that in a bit. But here is a bit of my response to what you mentioned. > the IP number you checked now is not the same as in your > message with the MPI failure/errors. > Not sure if I understand which computers we're talking about, > or where these computers are (at Amazon?), > or if they change depending on each session you use to run your programs, > if they are identical machines with the same limits or if they differ. Everything I mentioned in last 2-3 days is on Amazon EC2 cloud. I have no problem running the same thing locally (vixen is my local machine): [tsakai@vixen Rmpi]$ cat app.ac1 -H vixen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 5 -H vixen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 6 -H blitzen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 7 -H blitzen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 8 [tsakai@vixen Rmpi]$ [tsakai@vixen Rmpi]$ mpirun --app app.ac1 5 vixen.egcrc.org 8 vixen.egcrc.org 13 blitzen.egcrc.org 21 blitzen.egcrc.org [tsakai@vixen Rmpi]$ # these lines are correct result. [tsakai@vixen Rmpi]$ With Amazon EC2, where the strange behavior happens, is a virtualized environment. They charge by hours. I launch an instance of a machine when I need it and I shut them down when I am done. Each time I get different IP addresses (2 per instance, one on internal network and the other for public interface). That is why I don't show consistent ip address or dns. Every time I shutdown the machine, what I did on that instance disappears and on next instance I have to recreate it from scratch --case in point is ~/home/.ssh/config--, which is what I have been doing (unless I take 'snapshot' of the image and save it to a persistent storage (and doing snapshot is a bit of work)). > One of the error messages mentions LD_LIBRARY_PATH. > Is it set to point to the OpenMPI lib directory? > Remember, OpenMPI requires both PATH and LD_LIBRARY_PATH properly > set. Yes, I have been setting LD_LIBRARY_PATH manually every time, because I have neglected to put it into my bash startup file as part of AMI (Amazon Machine Image) building. Now what I have done is get onto an instance as tsakai, save output from 'ulimit -a', set /etc/security/limits.conf parameters as you suggest, get off and re-log onto the instance (thereby activating those ulimit parameters), and ran the same (actually simpler) test, as tsakai and as root. [tsakai@vixen Rmpi]$ [tsakai@vixen Rmpi]$ # 2ec2 below is a script/wrapper around ssh to [tsakai@vixen Rmpi]$ # make ssh invocation line shorter. [tsakai@vixen Rmpi]$ [tsakai@vixen ec2]$ 2ec2 ec2-50-16-55-64.compute-1.amazonaws.com The authenticity of host 'ec2-50-16-55-64.compute-1.amazonaws.com (50.16.55.64)' can't be established. RSA key fingerprint is e3:ad:75:b1:a4:63:7f:0f:c4:0b:10:71:f3:2f:21:81. Are you sure you want to continue connecting (yes/no)? yes Last login: Tue Feb 8 22:52:54 2011 from 10.201.197.188 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ ulimit -a > mylimit.1 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ sudo su bash-3.2# bash-3.2# cat - >> /etc/security/limits.conf * - memlock -1 * - stack -1 * - nofile 4096 bash-3.2# bash-3.2# tail /etc/security/limits.conf #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 # End of file * - memlock -1 * - stack -1 * - nofile 4096 bash-3.2# bash-3.2# exit exit [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ # logout and log back in to activate the [tsakai@ip-10-114-138-129 ~]$ # new setting. [tsakai@ip-10-114-138-129 ~]$ exit logout [tsakai@vixen ec2]$ [tsakai@vixen ec2]$ # I am back on vixen and about to relogging back onto [tsakai@vixen ec2]$ # the instance which is still running. [tsakai@vixen ec2]$ [tsakai@vixen ec2]$ 2ec2 ec2-50-16-55-64.compute-1.amazonaws.com Last login: Fri Feb 11 23:50:47 2011 from 63.193.205.1 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ ulimit -a > mylimit.2 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ diff mylimit.1 mylimit.2 6c6 < max locked memory (kbytes, -l) 32 --- > max locked memory (kbytes, -l) unlimited 8c8 < open files (-n) 1024 --- > open files (-n) 4096 12c12 < stack size (kbytes, -s) 8192 --- > stack size (kbytes, -s) unlimited [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ # yes, I have the same ulimit parameters as [tsakai@ip-10-114-138-129 ~]$ # Gus suggested. [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ export LD_LIBRARY_PATH=/usr/local/lib [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ env | grep LD_LIB LD_LIBRARY_PATH=/usr/local/lib [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ cat - > app.ac -H ip-10-114-138-129.ec2.internal -np 1 Rscript /home/tsakai/fib.R 5 -H ip-10-114-138-129.ec2.internal -np 1 Rscript /home/tsakai/fib.R 6 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ cat app.ac -H ip-10-114-138-129.ec2.internal -np 1 Rscript /home/tsakai/fib.R 5 -H ip-10-114-138-129.ec2.internal -np 1 Rscript /home/tsakai/fib.R 6 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ hostname ip-10-114-138-129 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ # this run doesn't involve other node. [tsakai@ip-10-114-138-129 ~]$ # just use this machine's cores. [tsakai@ip-10-114-138-129 ~]$ # there are 2 cores on this machine. [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ mpirun --app app.ac -------------------------------------------------------------------------- mpirun was unable to launch the specified application as it encountered an error: Error: pipe function call failed when setting up I/O forwarding subsystem Node: ip-10-114-138-129 while attempting to start process rank 0. -------------------------------------------------------------------------- [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ # I still get the same error! [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ cat /proc/sys/fs/file-nr 512 0 762674 [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ # number of open files (512) is no where [tsakai@ip-10-114-138-129 ~]$ # close to the limit, which is 4096 now. [tsakai@ip-10-114-138-129 ~]$ # now let's run it as root. [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ sudo su bash-3.2# bash-3.2# env | grep LD_LIBR LD_LIBRARY_PATH=/usr/local/lib bash-3.2# bash-3.2# pwd /home/tsakai bash-3.2# bash-3.2# mpirun --app ./app.ac 5 ip-10-114-138-129 8 ip-10-114-138-129 bash-3.2# bash-3.2# # that's correct result! bash-3.2# bash-3.2# cat /proc/sys/fs/file-nr 512 0 762674 bash-3.2# bash-3.2# # this shows that mpirun didn't leave any bash-3.2# # oepn file behind, I think. That's good. bash-3.2# bash-3.2# exit exit [tsakai@ip-10-114-138-129 ~]$ [tsakai@ip-10-114-138-129 ~]$ exit logout [tsakai@vixen ec2]$ Had it been the case, it failed both as root and as user tsakai, I can conclude that either the virtualized environment is disagreeable with openmpi OR there is something wrong with what I am trying to do. But what kills me is that it *does* work when run by root. Why pipe system call fails on user tsakai and not on root is something I don't understand. BTW, here is the same test (using a single machine) in local environment (i.e., no virtualized environment): [tsakai@vixen Rmpi]$ cat app.ac2 -H vixen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 5 -H vixen -np 1 Rscript /Users/tsakai/Notes/R/parallel/Rmpi/fib.R 6 [tsakai@vixen Rmpi]$ [tsakai@vixen Rmpi]$ mpirun --app app.ac2 5 vixen.egcrc.org 8 vixen.egcrc.org [tsakai@vixen Rmpi]$ I am running out of stones to turn over for now and maybe it's a good time to go to bed. :) I would appreciate it if you come up with a different things to try. Many thanks for your help. Regards, Tena On 2/11/11 7:45 PM, "Gus Correa" <g...@ldeo.columbia.edu> wrote: > Hi Tena > > We setup the cluster nodes to run MPI programs > with stacksize unlimited, > memlock unlimited, > 4096 max open files, > to avoid crashing on edge cases. > This is kind of typical for HPC, MPI, number crunching. > > However, some are quite big codes, > and from what you said yours is not (or not yet). > > Your stack limit sounds quite small, but when > we had problems with stack the result was a segmentation fault. > 1024 files I guess is a default for 32 bit Linux distributions, > but some programs break there. > > If you want to do this, put these lines on the bottom > of /etc/security/limits.conf: > > # End of file > * - memlock -1 > * - stack -1 > * - nofile 4096 > > I don't think you should give unlimited number of processes to > regular users; keep this privilege to root (which is where > the two have different limits). > > You may want to monitor /proc/sys/fs/file-nr while the program runs. > The first number is the actual number of open files. > Top or vmstat also help see how you are doing in terms of memory, > although you suggested these are (small?) test programs, unlikely to run > out of memory. > > If you are using two nodes, check the same stuff on the other node too. > Also, the IP number you checked now is not the same as in your > message with the MPI failure/errors. > Not sure if I understand which computers we're talking about, > or where these computers are (at Amazon?), > or if they change depending on each session you use to run your programs, > if they are identical machines with the same limits or if they differ. > > One of the error messages mentions LD_LIBRARY_PATH. > Is it set to point to the OpenMPI lib directory? > Remember, OpenMPI requires both PATH and LD_LIBRARY_PATH properly set. > > I hope this helps, although I am afraid I may be missing the point. > > Gus Correa > > Tena Sakai wrote: >> Hi Gus, >> >> Thank you for your tips. >> >> I didn't find any smoking gun or anything comes close. >> Here's the upshot: >> >> [tsakai@ip-10-114-239-188 ~]$ ulimit -a >> core file size (blocks, -c) 0 >> data seg size (kbytes, -d) unlimited >> scheduling priority (-e) 0 >> file size (blocks, -f) unlimited >> pending signals (-i) 61504 >> max locked memory (kbytes, -l) 32 >> max memory size (kbytes, -m) unlimited >> open files (-n) 1024 >> pipe size (512 bytes, -p) 8 >> POSIX message queues (bytes, -q) 819200 >> real-time priority (-r) 0 >> stack size (kbytes, -s) 8192 >> cpu time (seconds, -t) unlimited >> max user processes (-u) 61504 >> virtual memory (kbytes, -v) unlimited >> file locks (-x) unlimited >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ sudo su >> bash-3.2# >> bash-3.2# ulimit -a >> core file size (blocks, -c) 0 >> data seg size (kbytes, -d) unlimited >> scheduling priority (-e) 0 >> file size (blocks, -f) unlimited >> pending signals (-i) 61504 >> max locked memory (kbytes, -l) 32 >> max memory size (kbytes, -m) unlimited >> open files (-n) 1024 >> pipe size (512 bytes, -p) 8 >> POSIX message queues (bytes, -q) 819200 >> real-time priority (-r) 0 >> stack size (kbytes, -s) 8192 >> cpu time (seconds, -t) unlimited >> max user processes (-u) unlimited >> virtual memory (kbytes, -v) unlimited >> file locks (-x) unlimited >> bash-3.2# >> bash-3.2# >> bash-3.2# ulimit -a > root_ulimit-a >> bash-3.2# exit >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ ulimit -a > tsakai_ulimit-a >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ diff root_ulimit-a tsakai_ulimit-a >> 14c14 >> < max user processes (-u) unlimited >> --- >>> max user processes (-u) 61504 >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ cat /proc/sys/fs/file-nr >> /proc/sys/fs/file-max >> 480 0 762674 >> 762674 >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ sudo su >> bash-3.2# >> bash-3.2# cat /proc/sys/fs/file-nr /proc/sys/fs/file-max >> 512 0 762674 >> 762674 >> bash-3.2# exit >> exit >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ sysctl -a |grep fs.file-max >> -bash: sysctl: command not found >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ /sbin/!! >> /sbin/sysctl -a |grep fs.file-max >> error: permission denied on key 'kernel.cad_pid' >> error: permission denied on key 'kernel.cap-bound' >> fs.file-max = 762674 >> [tsakai@ip-10-114-239-188 ~]$ >> [tsakai@ip-10-114-239-188 ~]$ sudo /sbin/sysctl -a | grep fs.file-max >> fs.file-max = 762674 >> [tsakai@ip-10-114-239-188 ~]$ >> >> I see a bit of difference between root and tsakai, but I cannot >> believe such small difference results in somewhat a catastrophic >> failure as I have reported. Would you agree with me? >> >> Regards, >> >> Tena >> >> On 2/11/11 6:06 PM, "Gus Correa" <g...@ldeo.columbia.edu> wrote: >> >>> Hi Tena >>> >>> Please read one answer inline. >>> >>> Tena Sakai wrote: >>>> Hi Jeff, >>>> Hi Gus, >>>> >>>> Thanks for your replies. >>>> >>>> I have pretty much ruled out PATH issues by setting tsakai's PATH >>>> as identical to that of root. In that setting I reproduced the >>>> same result as before: root can run mpirun correctly and tsakai >>>> cannot. >>>> >>>> I have also checked out permission on /tmp directory. tsakai has >>>> no problem creating files under /tmp. >>>> >>>> I am trying to come up with a strategy to show that each and every >>>> programs in the PATH has "world" executable permission. It is a >>>> stone to turn over, but I am not holding my breath. >>>> >>>>> ... you are running out of file descriptors. Are file descriptors >>>>> limited on a per-process basis, perchance? >>>> I have never heard there is such restriction on Amazon EC2. There >>>> are folks who keep running instances for a long, long time. Whereas >>>> in my case, I launch 2 instances, check things out, and then turn >>>> the instances off. (Given that the state of California has a huge >>>> debts, our funding is very tight.) So, I really doubt that's the >>>> case. I have run mpirun unsuccessfully as user tsakai and immediately >>>> after successfully as root. Still, I would be happy if you can tell >>>> me a way to tell number of file descriptors used or remmain. >>>> >>>> Your mentioned file descriptors made me think of something under >>>> /dev. But I don't know exactly what I am fishing. Do you have >>>> some suggestions? >>>> >>> 1) If the environment has anything to do with Linux, >>> check: >>> >>> cat /proc/sys/fs/file-nr /proc/sys/fs/file-max >>> >>> >>> or >>> >>> sysctl -a |grep fs.file-max >>> >>> This max can be set (fs.file-max=whatever_is_reasonable) >>> in /etc/sysctl.conf >>> >>> See 'man sysctl' and 'man sysctl.conf' >>> >>> 2) Another possible source of limits. >>> >>> Check "ulimit -a" (bash) or "limit" (tcsh). >>> >>> If you need to change look at: >>> >>> /etc/security/limits.conf >>> >>> (See also 'man limits.conf') >>> >>> ** >>> >>> Since "root can but Tena cannot", >>> I would check 2) first, >>> as they are the 'per user/per group' limits, >>> whereas 1) is kernel/system-wise. >>> >>> I hope this helps, >>> Gus Correa >>> >>> PS - I know you are a wise and careful programmer, >>> but here we had cases of programs that would >>> fail because of too many files that were open and never closed, >>> eventually exceeding the max available/permissible. >>> So, it does happen. >>> >>>> I wish I could reproduce this (weired) behavior on a different >>>> set of machines. I certainly cannot in my local environment. Sigh! >>>> >>>> Regards, >>>> >>>> Tena >>>> >>>> >>>> On 2/11/11 3:17 PM, "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> wrote: >>>> >>>>> It is concerning if the pipe system call fails - I can't think of why that >>>>> would happen. Thats not usually a permissions issue but rather a deeper >>>>> indication that something is either seriously wrong on your system or you >>>>> are >>>>> running out of file descriptors. Are file descriptors limited on a >>>>> per-process >>>>> basis, perchance? >>>>> >>>>> Sent from my PDA. No type good. >>>>> >>>>> On Feb 11, 2011, at 10:08 AM, "Gus Correa" <g...@ldeo.columbia.edu> wrote: >>>>> >>>>>> Hi Tena >>>>>> >>>>>> Since root can but you can't, >>>>>> is is a directory permission problem perhaps? >>>>>> Check the execution directory permission (on both machines, >>>>>> if this is not NFS mounted dir). >>>>>> I am not sure, but IIRR OpenMPI also uses /tmp for >>>>>> under-the-hood stuff, worth checking permissions there also. >>>>>> Just a naive guess. >>>>>> >>>>>> Congrats for all the progress with the cloudy MPI! >>>>>> >>>>>> Gus Correa >>>>>> >>>>>> Tena Sakai wrote: >>>>>>> Hi, >>>>>>> I have made a bit more progress. I think I can say ssh authenti- >>>>>>> cation problem is behind me now. I am still having a problem running >>>>>>> mpirun, but the latest discovery, which I can reproduce, is that >>>>>>> I can run mpirun as root. Here's the session log: >>>>>>> [tsakai@vixen ec2]$ 2ec2 ec2-184-73-104-242.compute-1.amazonaws.com >>>>>>> Last login: Fri Feb 11 00:41:11 2011 from 10.100.243.195 >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ ll >>>>>>> total 8 >>>>>>> -rw-rw-r-- 1 tsakai tsakai 274 Feb 11 00:47 app.ac >>>>>>> -rwxr-xr-x 1 tsakai tsakai 379 Feb 11 00:48 fib.R >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ ll .ssh >>>>>>> total 16 >>>>>>> -rw------- 1 tsakai tsakai 232 Feb 5 23:19 authorized_keys >>>>>>> -rw------- 1 tsakai tsakai 102 Feb 11 00:34 config >>>>>>> -rw-r--r-- 1 tsakai tsakai 1302 Feb 11 00:36 known_hosts >>>>>>> -rw------- 1 tsakai tsakai 887 Feb 8 22:03 tsakai >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ ssh ip-10-100-243-195.ec2.internal >>>>>>> Last login: Fri Feb 11 00:36:20 2011 from 10.195.198.31 >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ # I am on machine B >>>>>>> [tsakai@ip-10-100-243-195 ~]$ hostname >>>>>>> ip-10-100-243-195 >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ ll >>>>>>> total 8 >>>>>>> -rw-rw-r-- 1 tsakai tsakai 274 Feb 11 00:44 app.ac >>>>>>> -rwxr-xr-x 1 tsakai tsakai 379 Feb 11 00:47 fib.R >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ cat app.ac >>>>>>> -H ip-10-195-198-31.ec2.internal -np 1 Rscript /home/tsakai/fib.R 5 >>>>>>> -H ip-10-195-198-31.ec2.internal -np 1 Rscript /home/tsakai/fib.R 6 >>>>>>> -H ip-10-100-243-195.ec2.internal -np 1 Rscript /home/tsakai/fib.R 7 >>>>>>> -H ip-10-100-243-195.ec2.internal -np 1 Rscript /home/tsakai/fib.R 8 >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ # go back to machine A >>>>>>> [tsakai@ip-10-100-243-195 ~]$ >>>>>>> [tsakai@ip-10-100-243-195 ~]$ exit >>>>>>> logout >>>>>>> Connection to ip-10-100-243-195.ec2.internal closed. >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ hostname >>>>>>> ip-10-195-198-31 >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ # Execute mpirun >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ mpirun -app app.ac >>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -- >>>>>>> mpirun was unable to launch the specified application as it encountered >>>>>>> an >>>>>>> error: >>>>>>> Error: pipe function call failed when setting up I/O forwarding >>>>>>> subsystem >>>>>>> Node: ip-10-195-198-31 >>>>>>> while attempting to start process rank 0. >>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -- >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ # try it as root >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ sudo su >>>>>>> bash-3.2# >>>>>>> bash-3.2# pwd >>>>>>> /home/tsakai >>>>>>> bash-3.2# >>>>>>> bash-3.2# ls -l /root/.ssh/config >>>>>>> -rw------- 1 root root 103 Feb 11 00:56 /root/.ssh/config >>>>>>> bash-3.2# >>>>>>> bash-3.2# cat /root/.ssh/config >>>>>>> Host * >>>>>>> IdentityFile /root/.ssh/.derobee/.kagi >>>>>>> IdentitiesOnly yes >>>>>>> BatchMode yes >>>>>>> bash-3.2# >>>>>>> bash-3.2# pwd >>>>>>> /home/tsakai >>>>>>> bash-3.2# >>>>>>> bash-3.2# ls -l >>>>>>> total 8 >>>>>>> -rw-rw-r-- 1 tsakai tsakai 274 Feb 11 00:47 app.ac >>>>>>> -rwxr-xr-x 1 tsakai tsakai 379 Feb 11 00:48 fib.R >>>>>>> bash-3.2# >>>>>>> bash-3.2# # now is the time for mpirun >>>>>>> bash-3.2# >>>>>>> bash-3.2# mpirun --app ./app.ac >>>>>>> 13 ip-10-100-243-195 >>>>>>> 21 ip-10-100-243-195 >>>>>>> 5 ip-10-195-198-31 >>>>>>> 8 ip-10-195-198-31 >>>>>>> bash-3.2# >>>>>>> bash-3.2# # It works (being root)! >>>>>>> bash-3.2# >>>>>>> bash-3.2# exit >>>>>>> exit >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ # try it one more time as tsakai >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ mpirun --app app.ac >>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -- >>>>>>> mpirun was unable to launch the specified application as it encountered >>>>>>> an >>>>>>> error: >>>>>>> Error: pipe function call failed when setting up I/O forwarding >>>>>>> subsystem >>>>>>> Node: ip-10-195-198-31 >>>>>>> while attempting to start process rank 0. >>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -- >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ # I don't get it. >>>>>>> [tsakai@ip-10-195-198-31 ~]$ >>>>>>> [tsakai@ip-10-195-198-31 ~]$ exit >>>>>>> logout >>>>>>> [tsakai@vixen ec2]$ >>>>>>> So, why does it say "pipe function call failed when setting up >>>>>>> I/O forwarding subsystem Node: ip-10-195-198-31" ? >>>>>>> The node it is referring to is not the remote machine. It is >>>>>>> What I call machine A. I first thought maybe this is a problem >>>>>>> With PATH variable. But I don't think so. I compared root's >>>>>>> Path to that of tsaki's and made them identical and retried. >>>>>>> I got the same behavior. >>>>>>> If you could enlighten me why this is happening, I would really >>>>>>> Appreciate it. >>>>>>> Thank you. >>>>>>> Tena >>>>>>> On 2/10/11 4:12 PM, "Tena Sakai" <tsa...@gallo.ucsf.edu> wrote: >>>>>>>> Hi jeff, >>>>>>>> >>>>>>>> Thanks for the firewall tip. I tried it while allowing all tip traffic >>>>>>>> and got interesting and preplexing result. Here's what's interesting >>>>>>>> (BTW, I got rid of "LogLevel DEBUG3" from ./ssh/config on this run): >>>>>>>> >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ mpirun --app app.ac2 >>>>>>>> Host key verification failed. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> A daemon (pid 2743) died unexpectedly with status 255 while >>>>>>>> attempting >>>>>>>> to launch so we are aborting. >>>>>>>> >>>>>>>> There may be more information reported by the environment (see >>>>>>>> above). >>>>>>>> >>>>>>>> This may be because the daemon was unable to find all the needed >>>>>>>> shared >>>>>>>> libraries on the remote node. You may set your LD_LIBRARY_PATH to >>>>>>>> have >>>>>>>> the >>>>>>>> location of the shared libraries on the remote nodes and this will >>>>>>>> automatically be forwarded to the remote nodes. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> mpirun noticed that the job aborted, but has no info as to the >>>>>>>> process >>>>>>>> that caused that situation. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> mpirun: clean termination accomplished >>>>>>>> >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ env | grep LD_LIB >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ # Let's set LD_LIBRARY_PATH to >>>>>>>> /usr/local/lib >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ export LD_LIBRARY_PATH='/usr/local/lib' >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ # I better to this on machine B as well >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ ssh -i tsakai ip-10-195-171-159 >>>>>>>> Warning: Identity file tsakai not accessible: No such file or >>>>>>>> directory. >>>>>>>> Last login: Thu Feb 10 18:31:20 2011 from 10.203.21.132 >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ export LD_LIBRARY_PATH='/usr/local/lib' >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ env | grep LD_LIB >>>>>>>> LD_LIBRARY_PATH=/usr/local/lib >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ # OK, now go bak to machine A >>>>>>>> [tsakai@ip-10-195-171-159 ~]$ exit >>>>>>>> logout >>>>>>>> Connection to ip-10-195-171-159 closed. >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ hostname >>>>>>>> ip-10-203-21-132 >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ # try mpirun again >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ mpirun --app app.ac2 >>>>>>>> Host key verification failed. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> A daemon (pid 2789) died unexpectedly with status 255 while >>>>>>>> attempting >>>>>>>> to launch so we are aborting. >>>>>>>> >>>>>>>> There may be more information reported by the environment (see >>>>>>>> above). >>>>>>>> >>>>>>>> This may be because the daemon was unable to find all the needed >>>>>>>> shared >>>>>>>> libraries on the remote node. You may set your LD_LIBRARY_PATH to >>>>>>>> have >>>>>>>> the >>>>>>>> location of the shared libraries on the remote nodes and this will >>>>>>>> automatically be forwarded to the remote nodes. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> mpirun noticed that the job aborted, but has no info as to the >>>>>>>> process >>>>>>>> that caused that situation. >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------->>>> >> >> >> - >>>>>>>> mpirun: clean termination accomplished >>>>>>>> >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ # I thought openmpi library was in >>>>>>>> /usr/local/lib... >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ ll -t /usr/local/lib | less >>>>>>>> total 16604 >>>>>>>> lrwxrwxrwx 1 root root 16 Feb 8 23:06 libfuse.so -> >>>>>>>> libfuse.so.2.8.5 >>>>>>>> lrwxrwxrwx 1 root root 16 Feb 8 23:06 libfuse.so.2 -> >>>>>>>> libfuse.so.2.8.5 >>>>>>>> lrwxrwxrwx 1 root root 25 Feb 8 23:06 libmca_common_sm.so -> >>>>>>>> libmca_common_sm.so.1.0.0 >>>>>>>> lrwxrwxrwx 1 root root 25 Feb 8 23:06 libmca_common_sm.so.1 -> >>>>>>>> libmca_common_sm.so.1.0.0 >>>>>>>> lrwxrwxrwx 1 root root 15 Feb 8 23:06 libmpi.so -> >>>>>>>> libmpi.so.0.0.2 >>>>>>>> lrwxrwxrwx 1 root root 15 Feb 8 23:06 libmpi.so.0 -> >>>>>>>> libmpi.so.0.0.2 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_cxx.so -> >>>>>>>> libmpi_cxx.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_cxx.so.0 -> >>>>>>>> libmpi_cxx.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_f77.so -> >>>>>>>> libmpi_f77.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_f77.so.0 -> >>>>>>>> libmpi_f77.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_f90.so -> >>>>>>>> libmpi_f90.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 19 Feb 8 23:06 libmpi_f90.so.0 -> >>>>>>>> libmpi_f90.so.0.0.1 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libopen-pal.so -> >>>>>>>> libopen-pal.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libopen-pal.so.0 -> >>>>>>>> libopen-pal.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libopen-rte.so -> >>>>>>>> libopen-rte.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libopen-rte.so.0 -> >>>>>>>> libopen-rte.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 26 Feb 8 23:06 libopenmpi_malloc.so -> >>>>>>>> libopenmpi_malloc.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 26 Feb 8 23:06 libopenmpi_malloc.so.0 -> >>>>>>>> libopenmpi_malloc.so.0.0.0 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libulockmgr.so -> >>>>>>>> libulockmgr.so.1.0.1 >>>>>>>> lrwxrwxrwx 1 root root 20 Feb 8 23:06 libulockmgr.so.1 -> >>>>>>>> libulockmgr.so.1.0.1 >>>>>>>> lrwxrwxrwx 1 root root 16 Feb 8 23:06 libxml2.so -> >>>>>>>> libxml2.so.2.7.2 >>>>>>>> lrwxrwxrwx 1 root root 16 Feb 8 23:06 libxml2.so.2 -> >>>>>>>> libxml2.so.2.7.2 >>>>>>>> -rw-r--r-- 1 root root 385912 Jan 26 01:00 libvt.a >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ # Now, I am really confused... >>>>>>>> [tsakai@ip-10-203-21-132 ~]$ >>>>>>>> >>>>>>>> Do you know why it's complaining about shared libraries? >>>>>>>> >>>>>>>> Thank you. >>>>>>>> >>>>>>>> Tena >>>>>>>> >>>>>>>> >>>>>>>> On 2/10/11 1:05 PM, "Jeff Squyres" <jsquy...@cisco.com> wrote: >>>>>>>> >>>>>>>>> Your prior mails were about ssh issues, but this one sounds like you >>>>>>>>> might >>>>>>>>> have firewall issues. >>>>>>>>> >>>>>>>>> That is, the "orted" command attempts to open a TCP socket back to >>>>>>>>> mpirun >>>>>>>>> for >>>>>>>>> various command and control reasons. If it is blocked from doing so >>>>>>>>> by >>>>>>>>> a >>>>>>>>> firewall, Open MPI won't run. In general, you can either disable your >>>>>>>>> firewall or you can setup a trust relationship for TCP connections >>>>>>>>> within >>>>>>>>> your >>>>>>>>> cluster. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Feb 10, 2011, at 1:03 PM, Tena Sakai wrote: >>>>>>>>> >>>>>>>>>> Hi Reuti, >>>>>>>>>> >>>>>>>>>> Thanks for suggesting "LogLevel DEBUG3." I did so and complete >>>>>>>>>> session is captured in the attached file. >>>>>>>>>> >>>>>>>>>> What I did is much similar to what I have done before: verify >>>>>>>>>> that ssh works and then run mpirun command. In my a bit lengthy >>>>>>>>>> session log, there are two responses from "LogLevel DEBUG3." First >>>>>>>>>> from an scp invocation and then from mpirun invocation. They both >>>>>>>>>> say >>>>>>>>>> debug1: Authentication succeeded (publickey). >>>>>>>>>> >>>>>>>>>>> From mpirun invocation, I see a line: >>>>>>>>>> debug1: Sending command: orted --daemonize -mca ess env -mca >>>>>>>>>> orte_ess_jobid 3344891904 -mca orte_ess_vpid 1 -mca >>>>>>>>>> orte_ess_num_procs >>>>>>>>>> 2 --hnp-uri "3344891904.0;tcp://10.194.95.239:54256" >>>>>>>>>> The IP address at the end of the line is indeed that of machine B. >>>>>>>>>> After that there was hanging and I controlled-C out of it, which >>>>>>>>>> gave me more lines. But the lines after >>>>>>>>>> debug1: Sending command: orted bla bla bla >>>>>>>>>> doesn't look good to me. But, in truth, I have no idea what they >>>>>>>>>> mean. >>>>>>>>>> >>>>>>>>>> If you could shed some light, I would appreciate it very much. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> Tena >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 2/10/11 10:57 AM, "Reuti" <re...@staff.uni-marburg.de> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> Am 10.02.2011 um 19:11 schrieb Tena Sakai: >>>>>>>>>>> >>>>>>>>>>>> your local machine is Linux like, but the execution hosts >>>>>>>>>>>> are Macs? I saw the /Users/tsakai/... in your output. >>>>>>>>>>>> No, my environment is entirely linux. The path to my home >>>>>>>>>>>> directory on one host (blitzen) has been known as /Users/tsakai, >>>>>>>>>>>> despite it is an nfs mount from vixen (which is known to >>>>>>>>>>>> itself as /home/tsakai). For historical reasons, I have >>>>>>>>>>>> chosen to give a symbolic link named /Users to vixen's /Home, >>>>>>>>>>>> so that I can use consistent path for both vixen and blitzen. >>>>>>>>>>> okay. Sometimes the protection of the home directory must be >>>>>>>>>>> adjusted >>>>>>>>>>> too, >>>>>>>>>>> but >>>>>>>>>>> as you can do it from the command line this shouldn't be an issue. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Is this a private cluster (or at least private interfaces)? >>>>>>>>>>>> It would also be an option to use hostbased authentication, >>>>>>>>>>>> which will avoid setting any known_hosts file or passphraseless >>>>>>>>>>>> ssh-keys for each user. >>>>>>>>>>>> No, it is not a private cluster. It is Amazon EC2. When I >>>>>>>>>>>> Ssh from my local machine (vixen) I use its public interface, >>>>>>>>>>>> but to address from one amazon cluster node to the other I >>>>>>>>>>>> use nodes' private dns names: domU-12-31-39-07-35-21 and >>>>>>>>>>>> domU-12-31-39-06-74-E2. Both public and private dns names >>>>>>>>>>>> change from a launch to another. I am using passphrasesless >>>>>>>>>>>> ssh-keys for authentication in all cases, i.e., from vixen to >>>>>>>>>>>> Amazon node A, from amazon node A to amazon node B, and from >>>>>>>>>>>> Amazon node B back to A. (Please see my initail post. There >>>>>>>>>>>> is a session dialogue for this.) They all work without authen- >>>>>>>>>>>> tication dialogue, except a brief initial dialogue: >>>>>>>>>>>> The authenticity of host 'domu-xx-xx-xx-xx-xx-x (10.xx.xx.xx)' >>>>>>>>>>>> can't be established. >>>>>>>>>>>> RSA key fingerprint is >>>>>>>>>>>> e3:ad:75:b1:a4:63:7f:0f:c4:0b:10:71:f3:2f:21:81. >>>>>>>>>>>> Are you sure you want to continue connecting (yes/no)? >>>>>>>>>>>> to which I say "yes." >>>>>>>>>>>> But I am unclear with what you mean by "hostbased authentication"? >>>>>>>>>>>> Doesn't that mean with password? If so, it is not an option. >>>>>>>>>>> No. It's convenient inside a private cluster as it won't fill each >>>>>>>>>>> users' >>>>>>>>>>> known_hosts file and you don't need to create any ssh-keys. But when >>>>>>>>>>> the >>>>>>>>>>> hostname changes every time it might also create new hostkeys. It >>>>>>>>>>> uses >>>>>>>>>>> hostkeys (private and public), this way it works for all users. Just >>>>>>>>>>> for >>>>>>>>>>> reference: >>>>>>>>>>> >>>>>>>>>>> http://arc.liv.ac.uk/SGE/howto/hostbased-ssh.html >>>>>>>>>>> >>>>>>>>>>> You could look into it later. >>>>>>>>>>> >>>>>>>>>>> == >>>>>>>>>>> >>>>>>>>>>> - Can you try to use a command when connecting from A to B? E.g. ssh >>>>>>>>>>> `domU-12-31-39-06-74-E2 ls`. Is this working too? >>>>>>>>>>> >>>>>>>>>>> - What about putting: >>>>>>>>>>> >>>>>>>>>>> LogLevel DEBUG3 >>>>>>>>>>> >>>>>>>>>>> In your ~/.ssh/config. Maybe we can see what he's trying to >>>>>>>>>>> negotiate >>>>>>>>>>> before >>>>>>>>>>> it fails in verbose mode. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- Reuti >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> >>>>>>>>>>>> Tena >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 2/10/11 2:27 AM, "Reuti" <re...@staff.uni-marburg.de> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> your local machine is Linux like, but the execution hosts are Macs? >>>>>>>>>>>> I >>>>>>>>>>>> saw >>>>>>>>>>>> the >>>>>>>>>>>> /Users/tsakai/... in your output. >>>>>>>>>>>> >>>>>>>>>>>> a) executing a command on them is also working, e.g.: ssh >>>>>>>>>>>> domU-12-31-39-07-35-21 ls >>>>>>>>>>>> >>>>>>>>>>>> Am 10.02.2011 um 07:08 schrieb Tena Sakai: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> I have made a bit of progress(?)... >>>>>>>>>>>> I made a config file in my .ssh directory on the cloud. It looks >>>>>>>>>>>> like: >>>>>>>>>>>> # machine A >>>>>>>>>>>> Host domU-12-31-39-07-35-21.compute-1.internal >>>>>>>>>>>> This is just an abbreviation or nickname above. To use the >>>>>>>>>>>> specified >>>>>>>>>>>> settings, >>>>>>>>>>>> it's necessary to specify exactly this name. When the settings are >>>>>>>>>>>> the >>>>>>>>>>>> same >>>>>>>>>>>> anyway for all machines, you can use: >>>>>>>>>>>> >>>>>>>>>>>> Host * >>>>>>>>>>>> IdentityFile /home/tsakai/.ssh/tsakai >>>>>>>>>>>> IdentitiesOnly yes >>>>>>>>>>>> BatchMode yes >>>>>>>>>>>> >>>>>>>>>>>> instead. >>>>>>>>>>>> >>>>>>>>>>>> Is this a private cluster (or at least private interfaces)? It >>>>>>>>>>>> would >>>>>>>>>>>> also >>>>>>>>>>>> be >>>>>>>>>>>> an option to use hostbased authentication, which will avoid setting >>>>>>>>>>>> any >>>>>>>>>>>> known_hosts file or passphraseless ssh-keys for each user. >>>>>>>>>>>> >>>>>>>>>>>> -- Reuti >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> HostName domU-12-31-39-07-35-21 >>>>>>>>>>>> BatchMode yes >>>>>>>>>>>> IdentityFile /home/tsakai/.ssh/tsakai >>>>>>>>>>>> ChallengeResponseAuthentication no >>>>>>>>>>>> IdentitiesOnly yes >>>>>>>>>>>> >>>>>>>>>>>> # machine B >>>>>>>>>>>> Host domU-12-31-39-06-74-E2.compute-1.internal >>>>>>>>>>>> HostName domU-12-31-39-06-74-E2 >>>>>>>>>>>> BatchMode yes >>>>>>>>>>>> IdentityFile /home/tsakai/.ssh/tsakai >>>>>>>>>>>> ChallengeResponseAuthentication no >>>>>>>>>>>> IdentitiesOnly yes >>>>>>>>>>>> >>>>>>>>>>>> This file exists on both machine A and machine B. >>>>>>>>>>>> >>>>>>>>>>>> Now When I issue mpirun command as below: >>>>>>>>>>>> [tsakai@domU-12-31-39-06-74-E2 ~]$ mpirun -app app.ac2 >>>>>>>>>>>> >>>>>>>>>>>> It hungs. I control-C out of it and I get: >>>>>>>>>>>> mpirun: killing job... >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -> >>>>>>>> - >>>>>>>>>>>> mpirun noticed that the job aborted, but has no info as to the >>>>>>>>>>>> process >>>>>>>>>>>> that caused that situation. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -> >>>>>>>> - >>>>>>> ------------------------------------------------------------------------ >>>>>>> -> >>>>>>>> - >>>>>>>>>>>> mpirun was unable to cleanly terminate the daemons on the nodes >>>>>>>>>>>> shown >>>>>>>>>>>> below. Additional manual cleanup may be required - please refer to >>>>>>>>>>>> the "orte-clean" tool for assistance. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> -> >>>>>>>> - >>>>>>>>>>>> domU-12-31-39-07-35-21.compute-1.internal - daemon did not >>>>>>>>>>>> report >>>>>>>>>>>> back when launched >>>>>>>>>>>> >>>>>>>>>>>> Am I making progress? >>>>>>>>>>>> >>>>>>>>>>>> Does this mean I am past authentication and something else is the >>>>>>>>>>>> problem? >>>>>>>>>>>> Does someone have an example .ssh/config file I can look at? There >>>>>>>>>>>> are >>>>>>>>>>>> so >>>>>>>>>>>> many keyword-argument paris for this config file and I would like >>>>>>>>>>>> to >>>>>>>>>>>> look >>>>>>>>>>>> at >>>>>>>>>>>> some very basic one that works. >>>>>>>>>>>> >>>>>>>>>>>> Thank you. >>>>>>>>>>>> >>>>>>>>>>>> Tena Sakai >>>>>>>>>>>> tsa...@gallo.ucsf.edu >>>>>>>>>>>> >>>>>>>>>>>> On 2/9/11 7:52 PM, "Tena Sakai" <tsa...@gallo.ucsf.edu> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> I have an app.ac1 file like below: >>>>>>>>>>>> [tsakai@vixen local]$ cat app.ac1 >>>>>>>>>>>> -H vixen.egcrc.org -np 1 Rscript >>>>>>>>>>>> /Users/tsakai/Notes/R/parallel/Rmpi/local/fib.R 5 >>>>>>>>>>>> -H vixen.egcrc.org -np 1 Rscript >>>>>>>>>>>> /Users/tsakai/Notes/R/parallel/Rmpi/local/fib.R 6 >>>>>>>>>>>> -H blitzen.egcrc.org -np 1 Rscript >>>>>>>>>>>> /Users/tsakai/Notes/R/parallel/Rmpi/local/fib.R 7 >>>>>>>>>>>> -H blitzen.egcrc.org -np 1 Rscript >>>>>>>>>>>> /Users/tsakai/Notes/R/parallel/Rmpi/local/fib.R 8 >>>>>>>>>>>> >>>>>>>>>>>> The program I run is >>>>>>>>>>>> Rscript /Users/tsakai/Notes/R/parallel/Rmpi/local/fib.R x >>>>>>>>>>>> Where x is [5..8]. The machines vixen and blitzen each run 2 runs. >>>>>>>>>>>> >>>>>>>>>>>> Here¹s the program fib.R: >>>>>>>>>>>> [ tsakai@vixen local]$ cat fib.R >>>>>>>>>>>> # fib() computes, given index n, fibonacci number iteratively >>>>>>>>>>>> # here's the first dozen sequence (indexed from 0..11) >>>>>>>>>>>> # 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 >>>>>>>>>>>> >>>>>>>>>>>> fib <- function( n ) { >>>>>>>>>>>> a <- 0 >>>>>>>>>>>> b <- 1 >>>>>>>>>>>> for ( i in 1:n ) { >>>>>>>>>>>> t <- b >>>>>>>>>>>> b <- a >>>>>>>>>>>> a <- a + t >>>>>>>>>>>> } >>>>>>>>>>>> a >>>>>>>>>>>> >>>>>>>>>>>> arg <- commandArgs( TRUE ) >>>>>>>>>>>> myHost <- system( 'hostname', intern=TRUE ) >>>>>>>>>>>> cat( fib(arg), myHost, '\n' ) >>>>>>>>>>>> >>>>>>>>>>>> It reads an argument from command line and produces a fibonacci >>>>>>>>>>>> number >>>>>>>>>>>> that >>>>>>>>>>>> corresponds to that index, followed by the machine name. Pretty >>>>>>>>>>>> simple >>>>>>>>>>>> stuff. >>>>>>>>>>>> >>>>>>>>>>>> Here¹s the run output: >>>>>>>>>>>> [tsakai@vixen local]$ mpirun -app app.ac1 >>>>>>>>>>>> 5 vixen.egcrc.org >>>>>>>>>>>> 8 vixen.egcrc.org >>>>>>>>>>>> 13 blitzen.egcrc.org >>>>>>>>>>>> 21 blitzen.egcrc.org >>>>>>>>>>>> >>>>>>>>>>>> Which is exactly what I expect. So far so good. >>>>>>>>>>>> >>>>>>>>>>>> Now I want to run the same thing on cloud. I launch 2 instances of >>>>>>>>>>>> the >>>>>>>>>>>> same >>>>>>>>>>>> virtual machine, to which I get to by: >>>>>>>>>>>> [tsakai@vixen local]$ ssh A I ~/.ssh/tsakai >>>>>>>>>>>> machine-instance-A-public-dns >>>>>>>>>>>> >>>>>>>>>>>> Now I am on machine A: >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ # and I can go to machine B >>>>>>>>>>>> without >>>>>>>>>>>> password authentication, >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ # i.e., use public/private key >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ hostname >>>>>>>>>>>> domU-12-31-39-00-D1-F2 >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ ssh -i .ssh/tsakai >>>>>>>>>>>> domU-12-31-39-0C-C8-01 >>>>>>>>>>>> Last login: Wed Feb 9 20:51:48 2011 from 10.254.214.4 >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ # I am now on machine B >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ hostname >>>>>>>>>>>> domU-12-31-39-0C-C8-01 >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ # now show I can get to machine >>>>>>>>>>>> A >>>>>>>>>>>> without using password >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ ssh -i .ssh/tsakai >>>>>>>>>>>> domU-12-31-39-00-D1-F2 >>>>>>>>>>>> The authenticity of host 'domu-12-31-39-00-d1-f2 (10.254.214.4)' >>>>>>>>>>>> can't >>>>>>>>>>>> be established. >>>>>>>>>>>> RSA key fingerprint is >>>>>>>>>>>> e3:ad:75:b1:a4:63:7f:0f:c4:0b:10:71:f3:2f:21:81. >>>>>>>>>>>> Are you sure you want to continue connecting (yes/no)? yes >>>>>>>>>>>> Warning: Permanently added 'domu-12-31-39-00-d1-f2' (RSA) to the >>>>>>>>>>>> list >>>>>>>>>>>> of >>>>>>>>>>>> known hosts. >>>>>>>>>>>> Last login: Wed Feb 9 20:49:34 2011 from 10.215.203.239 >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ hostname >>>>>>>>>>>> domU-12-31-39-00-D1-F2 >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ exit >>>>>>>>>>>> logout >>>>>>>>>>>> Connection to domU-12-31-39-00-D1-F2 closed. >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-0C-C8-01 ~]$ exit >>>>>>>>>>>> logout >>>>>>>>>>>> Connection to domU-12-31-39-0C-C8-01 closed. >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ # back at machine A >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ hostname >>>>>>>>>>>> domU-12-31-39-00-D1-F2 >>>>>>>>>>>> >>>>>>>>>>>> As you can see, neither machine uses password for authentication; >>>>>>>>>>>> it >>>>>>>>>>>> uses >>>>>>>>>>>> public/private key pairs. There is no problem (that I can see) for >>>>>>>>>>>> ssh >>>>>>>>>>>> invocation >>>>>>>>>>>> from one machine to the other. This is so because I have a copy of >>>>>>>>>>>> public >>>>>>>>>>>> key >>>>>>>>>>>> and a copy of private key on each instance. >>>>>>>>>>>> >>>>>>>>>>>> The app.ac file is identical, except the node names: >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ cat app.ac1 >>>>>>>>>>>> -H domU-12-31-39-00-D1-F2 -np 1 Rscript /home/tsakai/fib.R 5 >>>>>>>>>>>> -H domU-12-31-39-00-D1-F2 -np 1 Rscript /home/tsakai/fib.R 6 >>>>>>>>>>>> -H domU-12-31-39-0C-C8-01 -np 1 Rscript /home/tsakai/fib.R 7 >>>>>>>>>>>> -H domU-12-31-39-0C-C8-01 -np 1 Rscript /home/tsakai/fib.R 8 >>>>>>>>>>>> >>>>>>>>>>>> Here¹s what happens with mpirun: >>>>>>>>>>>> >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ mpirun -app app.ac1 >>>>>>>>>>>> tsakai@domu-12-31-39-0c-c8-01's password: >>>>>>>>>>>> Permission denied, please try again. >>>>>>>>>>>> tsakai@domu-12-31-39-0c-c8-01's password: mpirun: killing job... >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> -----------------------------------------------------------------------> >>>>>>> >> >>>>>>> - >>>>>>>>>>>> -- >>>>>>>>>>>> mpirun noticed that the job aborted, but has no info as to the >>>>>>>>>>>> process >>>>>>>>>>>> that caused that situation. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> -----------------------------------------------------------------------> >>>>>>> >> >>>>>>> - >>>>>>>>>>>> -- >>>>>>>>>>>> >>>>>>>>>>>> mpirun: clean termination accomplished >>>>>>>>>>>> >>>>>>>>>>>> [tsakai@domU-12-31-39-00-D1-F2 ~]$ >>>>>>>>>>>> >>>>>>>>>>>> Mpirun (or somebody else?) asks me password, which I don¹t have. >>>>>>>>>>>> I end up typing control-C. >>>>>>>>>>>> >>>>>>>>>>>> Here¹s my question: >>>>>>>>>>>> How can I get past authentication by mpirun where there is no >>>>>>>>>>>> password? >>>>>>>>>>>> >>>>>>>>>>>> I would appreciate your help/insight greatly. >>>>>>>>>>>> >>>>>>>>>>>> Thank you. >>>>>>>>>>>> >>>>>>>>>>>> Tena Sakai >>>>>>>>>>>> tsa...@gallo.ucsf.edu >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users