Sorry for delay - am occupied with my day job.

Yes, that is correct to an extent. When you yield the processor, all that 
happens is that you surrender the rest of your scheduled time slice back to the 
OS. The OS then cycles thru its scheduler and sequentially assigns the 
processor to the line of waiting processes. Eventually, the OS will cycle back 
to your process, and you'll begin cranking again.

So if no other process wants or needs attention, then yes - it will cycle back 
around to you pretty quickly. In cases where only system processes are running 
(besides my MPI ones, of course), then I'll typically see cpu usage drop a few 
percentage points - down to like 95% - because most system tools are very 
courteous and call yield is they don't need to do something. If there is 
something out there that wants time, or is less courteous, then my cpu usage 
can change a great deal.

Note, though, that top and ps are -very- coarse measuring tools. You'll 
probably see them reading more like 100% simply because, averaged out over 
their sampling periods, nobody else is using enough to measure the difference.


On Dec 9, 2010, at 1:37 PM, Hicham Mouline wrote:

>> -----Original Message-----
>> From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On
>> Behalf Of Eugene Loh
>> Sent: 08 December 2010 16:19
>> To: Open MPI Users
>> Subject: Re: [OMPI users] curious behavior during wait for broadcast:
>> 100% cpu
>> 
>> I wouldn't mind some clarification here.  Would CPU usage really
>> decrease, or would other processes simply have an easier time getting
>> cycles?  My impression of yield was that if there were no one to yield
>> to, the "yielding" process would still go hard.  Conversely, turning on
>> "yield" would still show 100% cpu, but it would be easier for other
>> processes to get time.
>> 
> Any clarifications?
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to