<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV>this is the sequence of MPI calls that lead to the 'nap' (all numbers represent proc id per MPICH2) :</DIV>
<DIV>&nbsp;</DIV>
<DIV>0 send to 1, recieved by 1</DIV>
<DIV>0 send to 2, recieved by 2</DIV>
<DIV>0 sent to 3, recv by 3</DIV>
<DIV>&lt;application activities, shm called &gt;</DIV>
<DIV>1 blocking send to 0, send buffered</DIV>
<DIV>1 calls blocking recieve from 0</DIV>
<DIV>3 blocking send to 0, send buffered,</DIV>
<DIV>3 calls blocking recieve from 0</DIV>
<DIV>2 blocking send to 0, send buffered</DIV>
<DIV>2 calls blocking recieve from 0</DIV>
<DIV>&lt;proc 0 execute some application activities&gt;</DIV>
<DIV>proc 0 become idle</DIV>
<DIV>&lt;nap time&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>This is rather strange, it only happens on this particular test.&nbsp;&nbsp; hope this info help</DIV>
<DIV>&nbsp;</DIV>
<DIV>tan</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>&nbsp;</DIV>
<DIV style="FONT-FAMILY: times new roman, new york, times, serif; FONT-SIZE: 12pt"><BR>
<DIV style="FONT-FAMILY: arial, helvetica, sans-serif; FONT-SIZE: 13px"><FONT size=2 face=Tahoma>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> Darius Buntinas &lt;buntinas@mcs.anl.gov&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> mpich-discuss@mcs.anl.gov<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Monday, July 13, 2009 11:47:38 AM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: [mpich-discuss] version 1.1 strange behavior : all processes become idle for extensive period<BR></FONT><BR><BR>Is there a simpler example of this that you can send us?&nbsp; If nothing<BR>else, a binary would be ok.<BR><BR>Does the program that takes the 1 minute "nap" use threads?&nbsp; If so, how<BR>many threads does each process create?<BR><BR>Can you find out what the processes (or threads if it's multithreaded)<BR>are doing during this time?&nbsp; E.g., are they in an mpi call?&nbsp; Are they<BR>blocking on a mutex?&nbsp; If so, can you tell us what line number it's<BR>blocked on?<BR><BR>Can you try this without shared memory
 by setting the environment<BR>variable MPICH_NO_LOCAL to 1 and see if you get the same problem?<BR>&nbsp; MPICH_NO_LOCAL=1 mpiexec -n 4 ...<BR><BR>Thanks,<BR>-d<BR><BR><BR><BR>On 07/13/2009 01:35 PM, chong tan wrote:<BR>&gt; Sorry can't do that.&nbsp; The benchmark involves 2 things.&nbsp; One from my<BR>&gt; customer which<BR>&gt; I am not allowed to distribute.&nbsp; &nbsp; I may be able to get a limited<BR>&gt; license of my product<BR>&gt; for you to try, but I definately can not send source code.<BR>&gt;&nbsp; <BR>&gt; tan<BR>&gt;&nbsp; <BR>&gt; <BR>&gt; ------------------------------------------------------------------------<BR>&gt; *From:* Darius Buntinas &lt;<A href="mailto:buntinas@mcs.anl.gov" ymailto="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</A>&gt;<BR>&gt; *To:* <A href="mailto:mpich-discuss@mcs.anl.gov" ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>&gt; *Sent:* Monday, July 13, 2009 10:54:50 AM<BR>&gt;
 *Subject:* Re: [mpich-discuss] version 1.1 strange behavior : all<BR>&gt; processes become idle for extensive period<BR>&gt; <BR>&gt; <BR>&gt; Can you send us the benchmark you're using?&nbsp; This will help us figure<BR>&gt; out what's going on.<BR>&gt; <BR>&gt; Thanks,<BR>&gt; -d<BR>&gt; <BR>&gt; On 07/13/2009 12:36 PM, chong tan wrote:<BR>&gt;&gt;<BR>&gt;&gt; thanks darius,<BR>&gt;&gt; <BR>&gt;&gt; When I did the comparison (or benchmarking), I have 2 identical source<BR>&gt;&gt; trees.&nbsp; Everything<BR>&gt;&gt; were recompiled group up and compiled/linked accordinglyto the version<BR>&gt;&gt; of MPICH2<BR>&gt;&gt; to be used.<BR>&gt;&gt; <BR>&gt;&gt; I have many tests, this is the only one showing this behavior, and is<BR>&gt;&gt; predictably repeatable.<BR>&gt;&gt; most of my tests are showing comaptible performance and many do better<BR>&gt;&gt; with 1.1.<BR>&gt;&gt; <BR>&gt;&gt; The 'weirdest' thing is the ~1 minute span where there is no
 activity on<BR>&gt;&gt; the box at all, zipo<BR>&gt;&gt; activity except 'top', with machine load at around 0.12.&nbsp; I don't know<BR>&gt;&gt; how to explain this<BR>&gt;&gt; 'behavior', and I am extremely curious if anyone can explain this.<BR>&gt;&gt; <BR>&gt;&gt; I can't repeat this on AMD boxes as I don't have one that has only 32G<BR>&gt;&gt; of memory.&nbsp; I can't<BR>&gt;&gt; repeat this on Niagara box as thread multiple won't build.<BR>&gt;&gt; <BR>&gt;&gt; I will try to rebuild 1.1 without thread-multiple.&nbsp; Will keep you posted.<BR>&gt;&gt; <BR>&gt;&gt; Meanwhile, if anyone has any speculations on this, please bring them up.<BR>&gt;&gt; <BR>&gt;&gt; thanks<BR>&gt;&gt; tan<BR>&gt;&gt; <BR>&gt;&gt; ------------------------------------------------------------------------<BR>&gt;&gt; *From:* Darius Buntinas &lt;<A href="mailto:buntinas@mcs.anl.gov" ymailto="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</A><BR>&gt; &lt;mailto:<A
 href="mailto:buntinas@mcs.anl.gov" ymailto="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</A>&gt;&gt;<BR>&gt;&gt; *To:* <A href="mailto:mpich-discuss@mcs.anl.gov" ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A> &lt;mailto:<A href="mailto:mpich-discuss@mcs.anl.gov" ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A>&gt;<BR>&gt;&gt; *Sent:* Monday, July 13, 2009 8:30:19 AM<BR>&gt;&gt; *Subject:* Re: [mpich-discuss] version 1.1 strange behavior : all<BR>&gt;&gt; processes become idle for extensive period<BR>&gt;&gt;<BR>&gt;&gt; Tan,<BR>&gt;&gt;<BR>&gt;&gt; Did you just re-link the applications, or did you recompile them?<BR>&gt;&gt; Version 1.1 is most likely not binary compatible with 1.0.6, so you<BR>&gt;&gt; really need to recompile the application.<BR>&gt;&gt;<BR>&gt;&gt; Next, don't use the --enable-threads=multiple flag when configuring<BR>&gt;&gt; mpich2.&nbsp; By default, mpich2 supports all thread
 levels and will select<BR>&gt;&gt; the thread level at run time (depending on the parameters passed to<BR>&gt;&gt; MPI_Init_thread).&nbsp; By allowing the thread level to be selected<BR>&gt;&gt; automatically at run time, you'll avoid the overhead of thread safety<BR>&gt;&gt; when it's not needed, allowing your non-threaded applications to run<BR>&gt; faster.<BR>&gt;&gt;<BR>&gt;&gt; Let us know if either of these fixes the problem, especially if just<BR>&gt;&gt; removing the --enable-threads option fixes this.<BR>&gt;&gt;<BR>&gt;&gt; Thanks,<BR>&gt;&gt; -d<BR>&gt;&gt;<BR>&gt;&gt; On 07/10/2009 06:19 PM, chong tan wrote:<BR>&gt;&gt;&gt; I am seeing this funny situation which I did not see on 1.0.6 and<BR>&gt;&gt;&gt; 1.0.8.&nbsp; Some background:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; machine : INTEL 4Xcore 2<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; running mpiexec -n 4<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; machine has 32G of mem.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; when my
 application runs,&nbsp; almost all memory are used.&nbsp; However, there<BR>&gt;&gt;&gt; is no swapping.<BR>&gt;&gt;&gt; I have exclusive use of the machine, so contention is not an issue.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; issue #1 :&nbsp; processes take extra long to be initialized, compared to<BR>&gt; 1.0.6<BR>&gt;&gt;&gt; issue #2 : during the run, at time all of them will become idle at the<BR>&gt;&gt;&gt; same time, for almost a<BR>&gt;&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; minute.&nbsp; We never observed this with 1.0.6<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; The codes are the same, only linked with different versions of MPICH2.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; MPICH2 was built with --enable-threads=multiple for 1.1.&nbsp; without for<BR>&gt;&gt;&gt; 1.0.6 or 1.0.8<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; MPI calls are all in the main application thread.&nbsp; I used only 4 MPI<BR>&gt;&gt;&gt; functions :<BR>&gt;&gt;&gt;
 init(), Send(), Recv() and Barrier().<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; any suggestion ?<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; thanks<BR>&gt;&gt;&gt; tan<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;&nbsp; <BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;<BR>&gt; <BR></DIV></DIV></div><br>

      </body></html>