<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 style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">No, I have twice the Proceessors than processes.&nbsp; all the CPU are multi-core.</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">Only that 1 CPU has 1 proc, the master, more than others.&nbsp; </DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">The interesting issue is that if I merge the master and the slave on that CPU into 1 </DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">process, the issue of extra 60+ minute before successful first MPI disappears.&nbsp; During this extra</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">60 minutes, the only things that is active other than the slave is the nemesis polling.&nbsp; Which</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">lead me to conclude that polling is one of the main contributor to the issue.</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">&nbsp;</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">tan</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">&nbsp;</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">&nbsp;</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Darius Buntinas &lt;buntinas@mcs.anl.gov&gt;<BR>To: chong tan &lt;chong_guan_tan@yahoo.com&gt;<BR>Cc: mpich-discuss@mcs.anl.gov<BR>Sent: Friday, December 21, 2007 1:27:24 PM<BR>Subject: Re: [MPICH] any way to ask nemesis to turn-off and turn of active polling ?<BR><BR><BR>If you have P processors, and you're running P slaves and 1 master, I'm <BR>not sure how you could have P+1 processes running at 100%.&nbsp; Are you <BR>running one slave per processor, then adding an additional master?<BR><BR>If you have a process waiting in a blocking receive, it will show that <BR>it's using 100% of the CPU if it has its own CPU to run on, but if that <BR>process has to share a CPU with another process that's doing some work, <BR>only then will you see the CPU usage of the waiting process go down.<BR><BR>-d<BR><BR>On 12/17/2007 04:48 PM, chong tan
 wrote:<BR>&gt; I am running RedHat enterprise 5.&nbsp; sysctl complains that <BR>&gt; sched_compat_yield is not known for kernel.<BR>&gt;&nbsp; <BR>&gt; BTW, I run the test, and both master and slaves utilize 100% of CPU. <BR>&gt;&nbsp; <BR>&gt; any suggestion ?<BR>&gt;&nbsp; <BR>&gt; thanks<BR>&gt; tan<BR>&gt; <BR>&gt; <BR>&gt;&nbsp; <BR>&gt; ----- Original Message ----<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: chong tan &lt;<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A>&gt;<BR>&gt; Cc: <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, December 17, 2007 1:23:46 PM<BR>&gt; Subject: Re: [MPICH] any way to ask nemesis to turn-off and turn of <BR>&gt; active polling ?<BR>&gt; <BR>&gt; <BR>&gt;
 <BR>&gt; On 12/17/2007 01:00 PM, chong tan wrote:<BR>&gt;&nbsp; &gt; Thanks,<BR>&gt;&nbsp; &gt; I don;t have root access to the box.&nbsp; I will see if I can ask sys-admin<BR>&gt;&nbsp; &gt; to do it.&nbsp; I am running<BR>&gt;&nbsp; &gt; Linux snowwhite 2.6.18-8.el5 #1 SMP<BR>&gt;&nbsp; &gt; <BR>&gt;&nbsp; &gt; DO you know if the broken yield got into this version ?<BR>&gt; <BR>&gt; I don't know, but you can try the master/slave programs from the<BR>&gt; discussion we had on sched_yield a few months ago:<BR>&gt; <BR>&gt; Master:<BR>&gt; <BR>&gt; int main() {<BR>&gt;&nbsp; while (1) {<BR>&gt;&nbsp; &nbsp; sched_yield();<BR>&gt;&nbsp; }<BR>&gt;&nbsp; return 0;<BR>&gt; }<BR>&gt; <BR>&gt; Slave:<BR>&gt; <BR>&gt; int main() {<BR>&gt;&nbsp; while (1);<BR>&gt;&nbsp; return 0;<BR>&gt; }<BR>&gt; <BR>&gt; Start 4 slaves first, THEN one master, and check 'top'.&nbsp; If it shows<BR>&gt; that the master is taking more than 1% or so, you have a kernel with
 the<BR>&gt; 'broken' yield.<BR>&gt; <BR>&gt;&nbsp; &gt; FYI : the 'yield' people said it is not 'broken', it is in fact the<BR>&gt;&nbsp; &gt; 'right yield'.<BR>&gt; <BR>&gt; Maybe, but Linus is on my side :-)<BR>&gt; <BR>&gt; -d<BR>&gt; <BR>&gt;&nbsp; &gt; <BR>&gt;&nbsp; &gt; tan<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; <BR>&gt;&nbsp; &gt; ----- Original Message ----<BR>&gt;&nbsp; &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;&nbsp; &gt; To: chong tan &lt;<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A> <BR>&gt; &lt;mailto:<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A>&gt;&gt;<BR>&gt;&nbsp;
 &gt; Cc: <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;&nbsp; &gt; Sent: Monday, December 17, 2007 10:50:12 AM<BR>&gt;&nbsp; &gt; Subject: Re: [MPICH] any way to ask nemesis to turn-off and turn of<BR>&gt;&nbsp; &gt; active polling ?<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; Try setting the processor affinity for the "average" processes (map each<BR>&gt;&nbsp; &gt; one to its own processor).&nbsp; If you have a kernel with the "broken"<BR>&gt;&nbsp; &gt; sched_yield implementations, that may not help.<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; If you have a "broken" sched_yield implementation, you can try doing<BR>&gt;&nbsp; &gt; this as root:<BR>&gt;&nbsp; &gt;&nbsp; sysctl kernel.sched_compat_yield=1<BR>&gt;&nbsp; &gt; or<BR>&gt;&nbsp;
 &gt;&nbsp; echo "1"&gt;/proc/sys/kernel/sched_compat_yield<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; -d<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; On 12/17/2007 11:35 AM, chong tan wrote:<BR>&gt;&nbsp; &gt;&nbsp; &gt; Yes, in a very subtle way which has major impact on performance.&nbsp; <BR>&gt; I will<BR>&gt;&nbsp; &gt;&nbsp; &gt; try to decribe it a litle here:<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; system has 32G, total image 35G.&nbsp; Load is a litle offbalance<BR>&gt;&nbsp; &gt;&nbsp; &gt; mathematically, 4X dual core, running 5 processes.<BR>&gt;&nbsp; &gt;&nbsp; &gt; 4 processes are the same size, each runs on a CPU.&nbsp; the last <BR>&gt; process is<BR>&gt;&nbsp; &gt;&nbsp; &gt; very small, about10% of others, run<BR>&gt;&nbsp; &gt;&nbsp; &gt; on a core of one of the CPU.&nbsp; SO 1 CPU runs 2 procs: average <BR>&gt; (P1)one and<BR>&gt;&nbsp; &gt;&nbsp; &gt; light one (P2).<BR>&gt;&nbsp; &gt;&nbsp;
 &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; All proc do first MPI comm in a fixed algorithmic point.&nbsp; The 'useful'<BR>&gt;&nbsp; &gt;&nbsp; &gt; image is about 29G at that point, and should<BR>&gt;&nbsp; &gt;&nbsp; &gt; fit into the physical memory.&nbsp; P2 get there in a heart beat, then<BR>&gt;&nbsp; &gt;&nbsp; &gt; others., followed by P1&nbsp; which took another 60+ minutes<BR>&gt;&nbsp; &gt;&nbsp; &gt; to get there.&nbsp; If I combine P1 and P2 into 1 process, then I don;t no<BR>&gt;&nbsp; &gt;&nbsp; &gt; see this extra delay.<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; tan<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; ----- Original Message ----<BR>&gt;&nbsp; &gt;&nbsp; &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;<BR>&gt;&nbsp; &gt; &lt;mailto:<A href="mailto:buntinas@mcs.anl.gov" ymailto="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</A> &lt;mailto:<A href="mailto:buntinas@mcs.anl.gov" ymailto="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</A>&gt;&gt;&gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; To: chong tan &lt;<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A> <BR>&gt; &lt;mailto:<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A>&gt;<BR>&gt;&nbsp; &gt; &lt;mailto:<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A> &lt;mailto:<A href="mailto:chong_guan_tan@yahoo.com" ymailto="mailto:chong_guan_tan@yahoo.com">chong_guan_tan@yahoo.com</A>&gt;&gt;&gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; Cc: <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; &lt;mailto:<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;&gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; Sent: Monday, December 17, 2007 8:02:17 AM<BR>&gt;&nbsp; &gt;&nbsp; &gt; Subject: Re: [MPICH] any way to ask nemesis to turn-off and turn of<BR>&gt;&nbsp; &gt;&nbsp; &gt; active polling ?<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; No, there's no way to do that.&nbsp; Even MPI_Barrier will do active <BR>&gt; polling.<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp;
 &gt; Are you having issues where an MPI process that is waiting in a <BR>&gt; blocking<BR>&gt;&nbsp; &gt;&nbsp; &gt; call is taking CPU time away from other processes?<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; -d<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; On 12/14/2007 04:53 PM, chong tan wrote:<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; My issue is like this :<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; among all the processess, some will get to the point of first MPI<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; communication points faster than<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; than other.&nbsp; Is there a way that I tell nemesis to start <BR>&gt; without doing<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; active polling, and then turn<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; on active polling with some function ?<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp;
 &gt;&nbsp; &gt; Or should I just use MPI_Barrier() on that ?<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; thanks<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; tan<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; ------------------------------------------------------------------------<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; Be a better friend, newshound, and know-it-all with Yahoo! <BR>&gt; Mobile. Try<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt; it now.<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; <BR>&gt; &lt;<A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ" target=_blank>http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ</A> <BR>&gt; <BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp;
 &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt; <BR>&gt; ------------------------------------------------------------------------<BR>&gt;&nbsp; &gt;&nbsp; &gt; Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try<BR>&gt;&nbsp; &gt;&nbsp; &gt; it now.<BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; <BR>&gt; &lt;<A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ" target=_blank>http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ</A> <BR>&gt; <BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; ------------------------------------------------------------------------<BR>&gt;&nbsp; &gt; Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try<BR>&gt;&nbsp; &gt; it
 now.<BR>&gt;&nbsp; &gt; <BR>&gt; &lt;<A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ" target=_blank>http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ</A> <BR>&gt; <BR>&gt;&nbsp; &gt;&nbsp; &gt;<BR>&gt; <BR>&gt; <BR>&gt; ------------------------------------------------------------------------<BR>&gt; Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try <BR>&gt; it now. <BR>&gt; &lt;<A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ" target=_blank>http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ</A> <BR>&gt;&nbsp; &gt;<BR></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR></DIV></div><br>
      <hr size=1>Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile. <a href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ "> Try it now.</a></body></html>