Re: Packaging F@H in an MSI - Allowed?
Posted: Sun Jun 19, 2011 2:46 am
Hyperthreading was invented when the (at the time, "new") Pentium design had to have a much longer pipeline to get a higher MHz than the Athlon. Incorrect branch prediction created wasted time while the pipeline was re-filled from memory and the cpu needed to work on instructions from another source. In ideal conditions, HT can be a significant benefit -- in worst case conditions, it provides almost nothing. (Two FAH tasks competing for one FPU is close to the worst case.)
There's nothing wrong with running one task at 100%. Like I said, it will have zero impact. If there's one CPU, FAH's low priority ensures that anthing else gets full use of the processor. FAH was designed for exactly that, using only "unused" resources and it's really true unless the machine is starved for RAM. With more than one CPU, it's even better, but the difference is so small that nobody can tell. With a single HyperThreaded CPU, it's not quite as nice but I still contend that nobody will notice. FAH will use 100% of one virtual CPU and the other virtual CPU will always be available for foreground work. FAH is mostly FPU work and classroom work is rarely FPU work. HT will interleave the integer work.
If anybody is perceptive enough to notice the addition of a small amount of inteleaved integer work, setting the %CPU to 98% rather than 100% is really very effective at boosting the classroom work back to "normal" but don't even consider 50%. Find a single-CPU + HT machine and try it yourself.
There's nothing wrong with running one task at 100%. Like I said, it will have zero impact. If there's one CPU, FAH's low priority ensures that anthing else gets full use of the processor. FAH was designed for exactly that, using only "unused" resources and it's really true unless the machine is starved for RAM. With more than one CPU, it's even better, but the difference is so small that nobody can tell. With a single HyperThreaded CPU, it's not quite as nice but I still contend that nobody will notice. FAH will use 100% of one virtual CPU and the other virtual CPU will always be available for foreground work. FAH is mostly FPU work and classroom work is rarely FPU work. HT will interleave the integer work.
If anybody is perceptive enough to notice the addition of a small amount of inteleaved integer work, setting the %CPU to 98% rather than 100% is really very effective at boosting the classroom work back to "normal" but don't even consider 50%. Find a single-CPU + HT machine and try it yourself.