Click to See Complete Forum and Search --> : SMT article
Moridin
02-15-2001, 01:51 PM
Here:
http://www.tech-report.com/columns/ryu/2001q1/smt/
I think it may have some errors though.
SMT does not require a specially tooled OS; a SMT chip would be considered a uniprocessor design. SMT
Doesn’t seem to make a lot of sense since threading is handled by the OS. It needs to either know about the multi-threading or see the chip as two separate processors.
The article does have a nice copy of a chart from the U of Washington paper showing the potential performance benefit to SMT.
------------------
"I win again Lews Therin"
James
02-15-2001, 05:42 PM
Question:
Can SMT and SMP be used in conjunction with each other? In other words, can you use multiple SMT CPU's at the same time?
As far as the error, I don't think it is one. Basically the article is saying that the SMT process is hardware based. The OS/applications do not need to be "aware" of it, but they will see a performance increase if they are (aware of the SMT). The Hardware takes care of breaking down and processing the multiple threads. For the OS/app it simply seems to run faster. The only problem I could forsee is if in running multiple threads a dependent instruction thread comes out of processing before it's independent counterpart (does that make sense?).
------------------
Beware the lollipop of mediocrity. Lick it once and you suck forever.
Arcadian
02-15-2001, 06:02 PM
Originally posted by James:
Question:
Can SMT and SMP be used in conjunction with each other? In other words, can you use multiple SMT CPU's at the same time?
As far as the error, I don't think it is one. Basically the article is saying that the SMT process is hardware based. The OS/applications do not need to be "aware" of it, but they will see a performance increase if they are (aware of the SMT). The Hardware takes care of breaking down and processing the multiple threads. For the OS/app it simply seems to run faster. The only problem I could forsee is if in running multiple threads a dependent instruction thread comes out of processing before it's independent counterpart (does that make sense?).
Yes, SMT processors can be used together in an SMP configuration. The Alpha EV8, if it comes out, will certainly be SMP capable. Foster, which has some sort of MT, supposedly, will be launching in dual processor varieties in Q2.
------------------
Grand Knight
OC Crusaders
Moridin
02-15-2001, 06:08 PM
Originally posted by James:
Question:
Can SMT and SMP be used in conjunction with each other? In other words, can you use multiple SMT CPU's at the same time?
As far as the error, I don't think it is one. Basically the article is saying that the SMT process is hardware based. The OS/applications do not need to be "aware" of it, but they will see a performance increase if they are (aware of the SMT). The Hardware takes care of breaking down and processing the multiple threads. For the OS/app it simply seems to run faster. The only problem I could forsee is if in running multiple threads a dependent instruction thread comes out of processing before it's independent counterpart (does that make sense?).
Threading is in current systems is handled entirely by the OS. The processor itself is not aware of threads in any way. It thinks everything is a single thread. If you are going to move some of the control for the thread the OS still needs to know that it can assign a second thread to that processor.
All the instructions in different threads are independent by default, but you are not completely off track. Modern processors like the P4, PIII and Athlon have something called out of order execution. This means they do not need to execute instructions in the order they occur in the program. They will execute any instruction that is not dependent on another instruction in any available execution unit and then put them back into order before retiring them.
Because the processors already have the ability to execute instructions out of order, it is a relatively small jump to SMT. You only need to add a second program counter, some extra retirement and issue logic, and a way of tracking the memory each thread is using. You probably also need tag the instruction as it is being executed so it does access the memory assigned to that thread when it executes a memory operation.
The thing is the Software still needs to know about the processor ability to handle a second thread otherwise it will treat it like any other processor and only give it one thread to work on.
The interesting thing is that when Intel first talked about Jackson it said it was software. To me it looks like Jackson is the required SMT support.
------------------
"I win again Lews Therin"
Moridin
02-15-2001, 06:10 PM
Originally posted by Arcadian:
Yes, SMT processors can be used together in an SMP configuration. The Alpha EV8, if it comes out, will certainly be SMP capable. Foster, which has some sort of MT, supposedly, will be launching in dual processor varieties in Q2.
Whoops, forgot to answer that question, but you posted ahead of me anyway so I guess it doesn’t matter.
------------------
"I win again Lews Therin"