PDA

View Full Version : Hyperthreading


Akane
20-09-2002, 04:42 PM
Does anybody know if the upcoming P4's with Hyperthreading will require a new kind of chipset? thanks.

Deviant
20-09-2002, 04:46 PM
That fact is still in debate as Intel hasen't said yet, but the commons concensus is probably.

Akane
21-09-2002, 11:07 AM
Damn, dunno what I should buy now :(
If I want to upgrade it's my chance now, else I'll have to wait till later next year.

Now I'm using Celly 700 @ 976
:(

if hyperthreading don't need a new Chipset I'll go a nice motherboard + crap CPU route, then later on next year buy the hyperthreading CPU.

if it does, then I'll rather buy a crap motherboard + good CPU.

all too confusing.

Binky Stunt Cat
21-09-2002, 11:47 AM
or just get a Hammer....:rolleyes:

Tiggerz
21-09-2002, 05:10 PM
no it wont.

I've been working with hyperthreading programs for about 6 months now. Windows XP has support for this and its all in the CPU - nothing to do with the board or chipset at all.

Hyperthreading is based on the Intel NetBurst Architecture. A single thread only uses about 35 of the CPUs resources, so what Intel have done is added more logic to the chip to enable it to process two threads at the same time this allows twice the amount of CPU resources to be used.

Of note is that most mainstream CPUs only process one thread at a time - They look multi-threaded because they switch betweens threads (in techno-babble called streams) very quickly.

Netburst enabled processors can run two threads concurrently, so if you have two CPUs in your machine, you get to run 4 threads concurrently.

Code written for MP based systems will automatically take advantage of Hyperthreading technology. To check to see if your CPU will have NetBurst, you need to write some code the examine the APIC ID on each CPU. As far as I am aware only the new P4 NW 2.8 and 3.06 will support this technology in the desktop line. P4 Xeon based CPUs currently do (depending on model). So does the Itanium.

To detect that the CPU contains Hyperthreading you read the CPUID twice, then check the EDX register. If this is enabled then Hyper-threading is enabled. All CPUs in the system must be of the same type and model and configuration.

There are some situations where Hyper-threading will not be enabled. Either because your BIOS or Operating system will not allow it - or because a specific piece of software has it disabled for performance reasons.

If the APIC IDs are not set for the logical CPUs in the sytem, then the BIOS does not support hyperthreading.

Next you need to create a System Affinity mask. This enables you to detect how many logical CPUs the OS can recognise and use. From there you create a Processor Afinity Mask. This is used for you to choose which processor in a MP system you want your thread to run on.

With the System Affinity Mask it is possible for the OS to limit the number of logical CPUs available to your process. An example of this would be running Windows NT/2k/Xp client on a 2 CPU system with netburst. Since the licence for this OS supports 2 logical CPUs, the OS would limit you to either 1 physical with two logicals or two phisicals each with 1 logical CPU.

I suspect there may be a BIOS upgrade for recent boards, or all of the new boards will state they support NetBurst..

Deviant
21-09-2002, 05:55 PM
You will need to be running NT4/2000/XP-Pro. XP Home will not support it now or in the future (Stated by Microsoft).

Akane
22-09-2002, 12:33 AM
Sweet, so the conclusion is:

Buy sweet as m/b + Celly 1.8
then wait till next year, buy hyperthreading CPU, slot that in.

Thanks guys ;)

Wibber
22-09-2002, 02:52 AM
no, god make it stop.
dont buy a p4 celeron.
buy a cheap P4A it'll OC way better and wont cost much more, its really really worth the money

Tiggerz
22-09-2002, 10:33 AM
And make sure your mainboard and bios explicityly support NetBurst.

Akane
24-09-2002, 02:47 PM
Originally posted by Tiggerz
And make sure your mainboard and bios explicityly support NetBurst.

Can you give me an example of a mainboard that supports NetBurst?

Tiggerz
24-09-2002, 08:31 PM
just do a google search on NetBurst. I think from memory that the 850 and 860 chipset supports it -

MrThc
24-09-2002, 10:24 PM
all i845 chipsets support NetBurst aswell, inc the original PC133 845 chipset, I dont know how many of the boards out there actually support it, the Gigabyte 8IEXP does, most other Gigabyte boards probably do too, and the Abit IT7 Max\Max 2 also support it.. they are pretty much the only ones I looked into properly.

Akane
25-09-2002, 03:26 AM
Thanks guys.

Tiggerz
25-09-2002, 08:44 PM
I suppose I should point out that your software has to be written to support two concurrent threads. That means most games are out and also all the office out.

I use Maya and write my own apps for it...

varkk
25-09-2002, 10:27 PM
Although as it becomes more standard, more software will be written to take advantage of it, also some OSes can take advantage of it by assigning tasks to different threads

Tiggerz
26-09-2002, 09:13 PM
but that doesnt mean you get to use it..

What happens is this.. You bung in two CPUs of the same kind. The Bios will pick it up and enable NetBurst.

The OS will pick it up and depending on the license version of your software will use it. Linux will see it ok.

In this case on windows your shafted, because winNt, 2k and Xp are all limited to 2 cpu licenses. So in this case you will only see two CPUs (not 4 as you would under linux). This is because the OS can limit what your application sees in terms of logical processors.

In order to see a 4 logical CPU (2 physical CPU) system with windows, you would have to buy a 4 cpu cal for windows server - pretty expensive..

Next, your application has to be specifically developed to be multi-threaded. This takes a lot of work.

Finally if the multi-threading is hard enough, you have to be able to run concurrent threads which most multi-threaded software is not. Or to put it another way, you have to write SMP capable software.

To see how difficult this is, how many of you programmers out there have actually written SMP based applications.

Scorched
27-09-2002, 05:47 PM
I just got in one of the new Dell PE 2650 Servers to use as a DR file server.. Dual P4 1.8's with hyperthreading. Installed W2K Server and been running a few load tests. Open up Task Manager and Windows sees 4 processors. So far performane seems to be around 30% better than a standard dual proc box.
Still dosn't compare to the Quad Xeon box's we use for our Exchange servers though.

Have to send it up to Auck to install into the Datacentre next week..bugger

Deviant
28-09-2002, 08:10 AM
Read this for some info, aparently XP pro and home will support hyperthreading, but 2000 won't. Linux 2.4.x or higher will also support it.

http://www.the-inquirer.com/?article=5608