Free Republic
Browse · Search
News/Activism
Topics · Post Article

To: Hodar
I'm wondering if the hyperthreaded Intel CPU makes life more interesting when testing a multi-threaded program. A real two processor machine introduces the possibility of concurrent access to the same memory location, thus the need to include flawless concurrency locking schemes. If the hyperthreaded CPU acts identically to a real 2 CPU machine, I'll spring for one of those ASAP.
60 posted on 05/05/2004 12:13:52 PM PDT by Myrddin
[ Post Reply | Private Reply | To 49 | View Replies ]


To: Myrddin
If the hyperthreaded CPU acts identically to a real 2 CPU machine, I'll spring for one of those ASAP.

Prepare to spring. There are presently dual processor motherboards on the market, so the 'proof of concept' has been ironed out for decades.

AMD has announced a dual core chip that is coming out next year. I am not at liberty to discuss this more than what is published here . But to paraphrase someone who would indeed know what he's talking about (despite my disdain for the man, personally)

One of the most powerful things next year is going to be our dual-core product. To me, that's going to really shock the hell out of everyone, because it's going to be hardware-compatible, infrastructure-compatible, pin-compatible. I mean, people that have a 2-P system can slap in a dual-core product and end up with a 4-P system for the price of a 2-P.

92 posted on 05/05/2004 1:20:33 PM PDT by Hodar (With Rights, comes Responsibilities. Don't assume one, without assuming the other.)
[ Post Reply | Private Reply | To 60 | View Replies ]

To: Myrddin
I'm wondering if the hyperthreaded Intel CPU makes life more interesting when testing a multi-threaded program. A real two processor machine introduces the possibility of concurrent access to the same memory location, thus the need to include flawless concurrency locking schemes.

It does. The critical section problem still exists: for all practical purposes, you must treat it as if there are two CPUs. In addition, there is a "yield" instruction that should be used by spin-locks, which will give control to the other CPU in a hyper-threaded processor.

If the hyperthreaded CPU acts identically to a real 2 CPU machine, I'll spring for one of those ASAP.

No, it doesn't. The two CPUs in a hyperthreaded processor share some functional units. I'm not sure which ones, but the floating point unit is a likely candidate. So, if both CPUs try to do a floating point operation at the same time, one must wait for the other to finish.

Intel claims that running two instances of the same application on a hyper-threaded CPU yields a 15-30% increase in throughput. SPECint_rate2000 measures about 10% increase in throughput.

127 posted on 05/06/2004 8:00:13 AM PDT by justlurking
[ Post Reply | Private Reply | To 60 | View Replies ]

Free Republic
Browse · Search
News/Activism
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson