Thanks again.

With Blessings, always,

   Jerry Mersel

[cid:image003.png@01CF80E7.62B7D810]

   System Administrator
   IT Infrastructure Branch | Division of Information Systems
    Weizmann Institute of Science
    Rehovot 76100, Israel

   Tel:  +972-8-9342363

“allow our heart, the heart of each and every one of us, to  to see the good 
qualities of our friends and not their shortcomings...”
      --Reb Elimelech of Lizhensk

"We learn something by doing it. There is no other way."
—John Holt


From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Ralph Castain
Sent: Thursday, November 20, 2014 5:42 PM
To: Open MPI Users
Subject: Re: [OMPI users] job running out of memory

It wouldn’t be maffinity - that just tells the OS on a single node to ensure 
that the memory is local to the process.

If you have a managed environment (i.e., there is a scheduler running that 
assigns nodes to jobs), then you would need to configure the scheduler to 
support that option (assuming it does, you usually have to tell it to turn that 
option on), and the user would have to specify that they want “large memory” 
nodes.

If it is an unmanaged environment where you are specifying nodes using a 
hostfile, then you could provide a hostfile that contains “large memory” nodes.

If you only have a limited number of large memory nodes, you know which rank is 
the one in question, and you don’t want to use large memory nodes for the 
entire job, then things get a little more complicated. OMPI doesn’t have an 
automatic mapper that handles this use-case at the moment, so you would have to 
create a file that tells us where to put the various ranks, or do it via the 
cmd line:

* command line: use the same trick I gate you earlier for valgrind

mpirun -n (M-1) -host ^large myapp : mpirun -n 1 -host large myapp : mpirun -n 
(N-M) -host ^large myapp

* rankfile - stipulate where to run each rank (see "man mpirun” for syntax)

* seq - provide a list of node names and we’ll put each rank in order on the 
nodes in the list.

If you don’t know which process(es) are memory intensive, then there really 
isn’t anything OMPI can do - there is no way for us to know in advance which 
ranks will take a lot of memory.

HTH
Ralph


On Nov 19, 2014, at 11:51 PM, Jerry Mersel 
<jerry.mer...@weizmann.ac.il<mailto:jerry.mer...@weizmann.ac.il>> wrote:

Since there is no way to share memory across nodes is there a way to tell 
openmpi to run memory intensive
Processes on nodes with a lot of memory?
I think that it is called  “maffinity”, but am not sure how to use it.

With Blessings, always,

   Jerry Mersel

<image001.png>

   System Administrator
   IT Infrastructure Branch | Division of Information Systems
    Weizmann Institute of Science
    Rehovot 76100, Israel

   Tel:  +972-8-9342363

“allow our heart, the heart of each and every one of us, to  to see the good 
qualities of our friends and not their shortcomings...”
      --Reb Elimelech of Lizhensk

"We learn something by doing it. There is no other way."
—John Holt


From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Ralph Castain
Sent: Tuesday, November 18, 2014 5:56 PM
To: Open MPI Users
Subject: Re: [OMPI users] job running out of memory

Unfortunately, there is no way to share memory across nodes. Running out of 
memory as you describe can be due to several factors, including most typically:

* a memory leak in the application, or the application simply growing too big 
for the environment

* one rank running slow, causing it to build a backlog of messages that 
eventually consumes too much memory

What you can do:

* add --display-map to your mpirun cmd line to see what MPI ranks are running 
on each node

* run "top" on each node to see which process is getting too large. Generally, 
you'll see the pid for the processes run in order from the lowest local rank to 
the highest since that is the order in which they are spawned, so you can 
figure out which rank is causing the problem.

* run valgrind on that rank. This isn't as hard as it might sound, though the 
cmd line is a tad tricky. If rank M (out of a total job of N ranks) is the one 
with the memory problem, then you would do this:

mpirun -n (M-1) myapp : mpirun -n 1 valgrind myapp : mpirun -n (N-M) myapp

Obviously, you can add whatever options you want to the various pieces of the 
cmd line

This will affect the timing, so a race condition might be hidden - but it is a 
start at tracking it down.

If you find that this isn't a leak, but rather a legitimate behavior, then you 
can try using the mapping and ranking options to redistribute the processes - 
maybe oversubscribe some of the nodes or increase the size of the allocation so 
the memory hog can run alone.

HTH
Ralph


On Tue, Nov 18, 2014 at 7:10 AM, Jerry Mersel 
<jerry.mer...@weizmann.ac.il<mailto:jerry.mer...@weizmann.ac.il>> wrote:

Hi all:

  I am running openmpi 1.6.5 and a job which is memory intensive.
  The job runs on 7 hosts using 16 core on each. On one of the hosts the memory 
is exhausted so the kernel starts to
  Kill the processes.

  It could be that there is plenty of free memory on one of the other hosts.
  Is there a way for openmpi to use the memory on one of the other hosts when 
the memory on one host is gone.

  If yes please tell me how.

   Thank you.


With Blessings, always,

   Jerry Mersel

<image001.png>

   System Administrator
   IT Infrastructure Branch | Division of Information Systems
    Weizmann Institute of Science
    Rehovot 76100, Israel

   Tel:  +972-8-9342363<tel:%2B972-8-9342363>

“allow our heart, the heart of each and every one of us, to  to see the good 
qualities of our friends and not their shortcomings...”
      --Reb Elimelech of Lizhensk

"We learn something by doing it. There is no other way."
—John Holt



_______________________________________________
users mailing list
us...@open-mpi.org<mailto:us...@open-mpi.org>
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post: 
http://www.open-mpi.org/community/lists/users/2014/11/25839.php

_______________________________________________
users mailing list
us...@open-mpi.org<mailto:us...@open-mpi.org>
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post: 
http://www.open-mpi.org/community/lists/users/2014/11/25846.php

Reply via email to