As Eugene said:  Why are you desperate for an idle CPU?  Is it not
yielding to other processes?


On Mon, 2008-12-08 at 10:01 +0100, Jens wrote:
> Hi Douglas,
> 
> this an answer to my question on the paraview-mailinglist.
> 
> I have the same problem with paraview, that it simply waits for more to
> do in client-server(MPI) mode, but is running on 100%.
> 
> Different MPI-Implementations seem to behave different here. Using
> MPICH2 for example does not result in 100% cpu-time for paraview while
> waiting.
> 
> I desperate to know if that is possible with open-mpi, too. These FAQs
> where interesting, but did not help:
> http://www.open-mpi.org/faq/?category=running#oversubscribing
> http://www.open-mpi.org/faq/?category=running#force-aggressive-degraded
> 
> Greetings
> Jens
> 
> Eugene Loh schrieb:
> > Douglas Guptill wrote:
> > 
> >> Hi:
> >>
> >> I am using openmpi-1.2.8 to run a 2 processor job on an Intel
> >> Quad-core cpu.  Opsys is Debian etch.  I am reaonably sure that, most
> >> of the time, one process is waiting for results from the other.  The
> >> code is fortran 90, and uses mpi_send and mpi_recv.  Yet
> >> "gnome-system-monitor" shows 2 cpus at 100%.
> >>
> >> So I read, and re-read, the FAQs, and found the mpi_yield_when_idle
> >> flag, and tried it:
> >>
> >> mpirun --host localhost,localhost,localhost,localhost --mca btl
> >> sm,self --mca mpi_yield_when_idle 1 --byslot -np 2
> >> /home/dguptill/software/sopale_nested_2008-10-24/bin/sopale_nested_openmpi-intel-noopt
> >>
> >>
> >> And still get, for each run, two cpus are at 100%.
> >>
> >> My goal is to get the system to a minimum usage state, where only one
> >> cpu is being used, if one process is waiting for results from the
> >> other.
> >>
> >> Can anyone suggest if this is possible, and if so, how?
> >>  
> >>
> > I'm no expert on this, but I've played with the same problem.  I think I
> > did this on Solaris, but perhaps the behavior is the same on other OSes.
> > 
> > One issue is that "yield" might mean "yield if there is someone else
> > ready to run".  Like a traffic sign:  if someone else is there, you
> > yield.  If no one else is there, there's no way to tell that someone is
> > yielding.
> > 
> > Next, even if someone else is trying to run, "yield" doesn't give give
> > up the CPU 100%.  It's still rather pesky.
> > 
> > So, one question is whether you really want to have an idle CPU.  Do
> > you, or do you simply want another process, if there is one, to be able
> > to run?
> > 
> > Not a real answer to your question, but hopefully this helps.
> > _______________________________________________
> > 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

Reply via email to