lkml.org 
[lkml]   [2003]   [Dec]   [27]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 27 Dec 2003 10:52:08 +0200
FromMika_Penttilä <>
SubjectRe: [PATCH] 2.6.0 batch scheduling, HT aware

Pavel Machek wrote:

>Hi!
>
> 
>
>>I've done a resync and update of my batch scheduling that is also hyper-thread 
>>aware.
>>
>>What is batch scheduling? Specifying a task as batch allows it to only use cpu 
>>time if there is idle time available, rather than having a proportion of the 
>>cpu time based on niceness.
>>
>>Why do I need hyper-thread aware batch scheduling?
>>
>>If you have a hyperthread (P4HT) processor and run it as two logical cpus you 
>>can have a very low priority task running that can consume 50% of your 
>>physical cpu's capacity no matter how high priority tasks you are running. 
>>For example if you use the distributed computing client setiathome you will 
>>be effectively be running at half your cpu's speed even if you run setiathome 
>>at nice 20. Batch scheduling for normal cpus allows only idle time to be used 
>>for batch tasks, and for HT cpus only allows idle time when both logical cpus 
>>are idle.
>> 
>>
>
>BTW this is going to be an issue even on normal (non-HT)
>systems. Imagine memory-bound scientific task on CPU0 and nice -20
>memory-bound seti&home at CPU1. Even without hyperthreading, your
>scientific task is going to run at 50% of speed and seti&home is going
>to get second half. Oops.
>
>Something similar can happen with disk, but we are moving out of
>cpu-scheduler arena with that.
>
>[I do not have SMP nearby to demonstrate it, anybody wanting to
>benchmark a bit?] 
>									Pavel
>
heh...and the situation gets even worse when you add cpus, with 16way 
you get only 1/16 of the speed ;)

--Mika


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:59    [from the cache]
©2003-2008