Hoofdcategorieën

Intel Foster sneak preview

Door Arjan van Leeuwen, maandag 23 april 2001 02:54, views: 6.967

Simultaneous Multithreading

There isn’t a lot of documentation available about Jackson Technology, and the mysterious line under its name on the sheet won’t tell us much either. There are of course a lot of speculations about it. Some people thought, for example, that this meant that Foster would consist of multiple processor cores on one chip. Fortunately, there is a more realistic explanation to all this, and it’s called SMT. SMT stands for Simultaneous MultiThreading, and it is a technology that should take care of optimal usage of the execution units of a processor at any time. To understand what SMT exactly is, we’ll work to this in a few small steps. We’ll start with a schematic diagram of a normal processor:

Foster - SMT uitleg - normaal

The little squares are the execution units, the parts of the processor that do the raw calculating. This imaginary processor has four of them (four rows from top to bottom). The time in clock ticks goes from the left to the right. To follow a 1GHz chip for one second, the picture would have to be 60 million times as big as this, so we’ll just stick to 17Hz here . When an execution unit is used at a certain moment, the square is coloured. The different colours are the different programs that are running on this processor, with the grey colour representing the operating system.

The processor is, as you can see, capable of executing multiple instructions at a time, but you can also see that a program isn’t optimally using the possibilities of the processor all the time. In this case, the OS has the task to switch between two threads. As you can see this can hardly be called multitasking; the processor can only run one program at a time, and the OS is necessary to create the illusion of multitasking.

Foster - SMT uitleg - CMG

The graphic you can see above looks a lot better already. The method that is used here is called Coarse-Grained Multithreading. A processor that works this way always has multiple threads loaded in its hardware. When the active thread needs some data from the system memory – something that will take an eternity if you’re looking through the eyes of the processor – the processor will work on another thread while waiting for data. There isn’t an operating system involved in switching threads, which guarantees that all this happens fast and efficiently.

Foster - SMT uitleg - FGM

The image above looks a lot like the previous one, but this method, Fine-Grained Multithreading, is actually a little bit more advanced. It switches threads at every clock tick, which makes the processor easier to design than the previous one; with that one, it wasn’t clear when it would have to switch threads. There are only some rumours about processors using CGM, while FGM has already been used. There is, however, a big disadvantage of working with FGM when only running one thread; it would only be able to use a quarter of the processor time.

Foster - SMT uitleg - SMT

Here we see the ultimate form of thread-level parallelism: SMT. You could describe it as a train. Little groups of people and lonely travellers are waiting for a train that arrives at a predetermined time. When the train arrives, and the doors open, everybody will try to find a place that isn’t taken yet, until nobody wants to enter the train anymore or it’s just full. The available resources of the processor are all used the best way possible here, but it is of course dependent on the number of threads that a processor can load at a time, how many instructions these threads need and the way that these instructions are spread. Still, the difference with the first picture is huge.

SMT has no effect on the performance of programs that consist of just one thread, or if the threads of a program need each others’ results. Because of this, SMT won’t always have an obvious advantage when using the current software, which isn’t optimized for it. However, Intel has already mentioned that there should be about 20 programs that fully use Jackson Technology in 2002. Still, Foster should be able to get a performance boost when doing some heavy multitasking. We don’t know yet if Jackson Technology has to be supported by the operating system.

This explanation of SMT technology is based on Paul deMone's article on the Alpha EV8

Next page (The system - 4/7)


Inhoudsopgave

VNU Media logo Powered by True

© 1998 - 2008 Tweakers.net - Alle rechten voorbehouden

Uitgever van: