Pure example of CPU scheduling bug in Vista IMHO.
Quote from: Raistmer on 05 Feb 2009, 08:58:50 amPure example of CPU scheduling bug in Vista IMHO.Nope, It's not a bug, it's on purpose. If it fills up the first processors first, then the other three can power down and save energy. You might want to double check that power saving is disabled in the Bios, and do exactly what you did, assign the single threaded program to the last core. You shouldn't need to place affinity controls on the ciuda feeder then, but it would be interesting to know if it then migrates to the last core.XP Rules!
Power saving disabled, moreover, you forgot that all CPUs still busy with another 4 CPU-based tasks (2 Ak_v8 2 einstein on moment of observation). So there is absolutely no power saving could be done there.
And change affinity only for non-BOINC app is not enough. After I did that situation remains the same. And only when I exclude that core for CUDA app it begin work as usual.I repeat this experiment few times so pretty sure in that.
[Hmm... Might be nice if Boinc adjusted this automatically on the fly ....]
...In the future, we hope to see additional interfaces in operating systems to coordinate threaded applications including those built with TBB. We agree with those who have called for OSes to get out of the business of scheduling threads and focus instead on allocation of processors to applications. It’s an interesting topic to say the least.
yes....But I thought in such "overloaded" condition where many procasses in ready state OS should just use round-robin shceduling (for example) on each priority level and give full quantum for each app. And it will do that except it can't realize that if one core busy with higher priority process on one core it could still execute low priority ones on another cores... It fails to do that.Priorities were: non-BOINC thread - normal (16 ?), 2 AK_v8 and 2 einstein - 4 worker threads each with priority of 1. CUDA worker thread - priority of 3.So, CUDA should preempt all other BOINC threads (and it do this usually) but can't fight with non-BOINC thread unless explicit affinity is setted...
My point is (why I call it "bug") that if I manually constrain resources available for CUDA app (exclude some cores) it works better (with the same load on system, I don't create free time slices that way, right?). What prevent OS to do the same on its own level?...
Will see what it does on dual core & 9600GSO OC's 20%, as I've run out of AstroPulse
Well, I do production run with CUDA "team" combo for few days already (that's why so many updates last 2 days - I start to notice flaws and ways they could be eliminated ) Will see how fast my RAC will climb back and higher.