Author: Robert Hyatt
Date: 17:18:16 12/10/02
Go up one level in this thread
On December 10, 2002 at 20:12:06, Jeremiah Penery wrote: >On December 10, 2002 at 20:00:11, Robert Hyatt wrote: > >>On December 10, 2002 at 16:43:29, Matt Taylor wrote: >> >>>They said that HT allows -concurrent- scheduling of threads, but the threads >>>obviously cannot make use of the same execution resources. If this is correct, >>>one thread would be spinning (consuming bandwidth to the L1 cache) while the >>>other thread was doing real work. >> >>Again, think about what you just said, which is impossible to happen. If one >>thread is smoking the L1/L2 cache, then it is not waiting for _anything_ and >>once it is scheduled it will execute until the cpu decides to flip to the other >>thread. Or until that thread does a pause. Whichever comes first. > >The point is that the spinning thread blocks no execution units. The processor >can spin the idle thread all it wants, why should that stop it from scheduling >the second thread, which _will_ use the execution units, to run at the same >time? I don't follow. The "spinning thread" completely fills the integer pipe... The cpu doesn't execute two threads at a time, it flips and flops back and forth between them. The spinning thread will _never_ give up control and has to be either preempted by the cpu, or else it has to do a pause, as explained in the intel white-paper on the subject... Otherwise the pause would _not_ be needed...
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.