See the discussion on kerneltrap:

    http://kerneltrap.org/Linux/CFS_and_sched_yield

Looks like the change came in somewhere around 2.6.23 or so...?



On Dec 13, 2010, at 9:38 AM, Ralph Castain wrote:

> Could you at least provide a one-line explanation of that statement?
> 
> 
> On Dec 13, 2010, at 7:31 AM, Jeff Squyres wrote:
> 
>> Also note that recent versions of the Linux kernel have changed what 
>> sched_yield() does -- it no longer does essentially what Ralph describes 
>> below.  Google around to find those discussions.
>> 
>> 
>> On Dec 9, 2010, at 4:07 PM, Ralph Castain wrote:
>> 
>>> 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
>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> 
>> _______________________________________________
>> 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


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to