Bij Tech Report is een kort artikel verschenen over SMT, oftewel Simultaneous Multithreading. Dit is een vrij geavanceerd stukje technologie waarvan we bijna zeker meer zullen zien in de toekomst. SMT moet zeker niet verward moet worden met SMP, oftewel te werken met meerdere processors. Bij SMT is het namelijk zo dat de processor met meerdere programma's tegelijkertijd aan het werken is, zonder expliciet te hoeven omschakelen. Op die manier worden de execution units van de chip optimaal benut.
Deze vorm van multithreading is in simulaties veel krachtiger en efficienter gebleken dan andere methodes om het aantal instructies per kloktik op te voeren zoals het gebruik van meerdere processors. Bij gebruik van vier threads haalt een systeem met vier processors bijvoorbeeld zo'n 4.2 instructies per kloktik, terwijl één enkele SMT processor er 5.6 doet. Nadelen van een dergelijk systeem zijn onder andere een verhoogde latency en een complexere fetcher/decoder die meer registers nodig heeft.
Volgens geruchten is de Jackson technologie die Intel voor de server-versie van de Pentium 4 (codename Foster) heeft aangekondigd een vorm van SMT. Als dat waar is zijn de Intel ontwerpers daarmee veel eerder dan gerepecteerde processorbakkers op servergebied zoals Compaq. De sleutel is echter om een goede implementatie ervan te bedenken. Als Intel dat gelukt is zal Foster zonder een spoortje van moeite een dual AMD systeem voorbij crossen:
Current x86 processors seemed totally geared toward instruction-level parallelism, or ILP. In other words, they strive to pack in and execute as many instructions as possible, leaving them ultimately starved for data at some point. x86 processors in SMP form attempt to work around this by using thread-level parallelism, or TLP, which ultimately results in bottlenecking at the bus to keep the processors well fed. SMT is a way to utilize the best of both worlds without the penalties of either of them. It does so without sacrificing performance on single-threaded applications, as well. The concept seems revolutionary, and I must say it has me quite excited. As I dug deeper and deeper though the literature, it became apparent why this technology has not seen widespread use before now. The ultimate bottleneck of SMT will be the ability of the processor to execute the horde of instructions it is collecting.
What does this all mean for the chips code-named Foster/Jackson, assuming Intel engineers can meet the difficulties imposed by SMT head on? There is absolutely no doubt in my mind that it will allow a single processor to crush Athlon SMP scores. In fact, not only could it give Intel an edge architecturally, but SMT would allow Intel to avoid the pitfalls of a shared bus when used in SMP. If Intel slips up, though, and doesn't make the right trade-offs, SMT might ultimately prove to be a very disappointing technology. Compaq will be implementing SMT into their Alpha line of processors very soon, so this technology is not a novelty. It seems SMT will be sticking around for the long haul. I think the biggest question of all is whether the first generation of this technology will truly demonstrate its worth.