![]() | ||||||||||
Messages in this thread |
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 | ||||||||||