Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
quad vs duo with HT
#1
Is the quad core far better then a dual core with hyperthreading? They both have 4 threads. Thats considering they have the same clock speed.
Windows 7 - Asus G73jh-a1 - 17-720qm @ 1.6 GHz (2.8 GHz)(2.4ghz)(1.73ghz) - ATI Mobility Radeon HD 5870 @ 700/1000 (sometimes oc to 800/1100) - 8 gig ram
Reply

Sponsored links

#2
(01-31-2010, 05:12 PM)Xellon Wrote: Is the quad core far better then a dual core with hyperthreading? They both have 4 threads. Thats considering they have the same clock speed.

Quads will always be superior because it has the dedicated clock speed for the 4 cores.

duo's with HT will perform better than normal duo's in multitasking situations but will never outperform a quad because they divide the clock for the different threads. (correct me if i'm mistaken)
Check my profile for System Specs (Updated).

My Youtube Channel: Dedicated to Anime, Gaming and Emulation.
Reply
#3
More or less, yeah.

Fundamentally speaking, HT works by executing instructions from a separate thread when the 'main' thread stalls due to resource contention (translation: waiting for memory or PCI bus, mostly), or register dependencies (which is when an instruction needs to wait on the result of a previous instruction).

So yeah, the "slower" the main thread runs, the more time the cpu can give to the secondary thread. The maximum throughput is never more than the CPU's clock speed though.

Because the Core i5/i7 CPU design is so good, however, it really doesn't have a whole lot of resource stalls, cache misses, or dependencies... so HT isn't terribly beneficial. It actually helped a lot more on the Pentium4, where slow ram, cache misses, and 'false' dependencies were a way of life. Additionally, things like PCI bus stalls are efficiently handled by multiple cores -- a 2 core system will typically handle PCI stalls nearly as efficiently as 2 cores with HT, for example.

There are some things HT helps compensate for:

* Slower RAM (high latency) -- HT will fill the latency with instructions from other threads when possible.
* Smaller L2/L3 caches -- Higher rate of cache misses means more places for HT to thread, lessening the impact.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#4
@ Air

As usual, your explanations are spot on Smile

So here is a new question. How does a slower quad core such as the i7-720QM compare to a faster Dual core such as the i5-540M or the i7-620M.

For example, if I were rendering or multitasking, which would be faster? The dual core has a higher clock speed but less threads but the quad has a lower clock speed but more threads.
Windows 7 - Asus G73jh-a1 - 17-720qm @ 1.6 GHz (2.8 GHz)(2.4ghz)(1.73ghz) - ATI Mobility Radeon HD 5870 @ 700/1000 (sometimes oc to 800/1100) - 8 gig ram
Reply
#5
(01-31-2010, 05:32 PM)Air Wrote: More or less, yeah.

Fundamentally speaking, HT works by executing instructions from a separate thread when the 'main' thread stalls due to resource contention (translation: waiting for memory or PCI bus, mostly), or register dependencies (which is when an instruction needs to wait on the result of a previous instruction).

So yeah, the "slower" the main thread runs, the more time the cpu can give to the secondary thread. The maximum throughput is never more than the CPU's clock speed though.

Because the Core i5/i7 CPU design is so good, however, it really doesn't have a whole lot of resource stalls, cache misses, or dependencies... so HT isn't terribly beneficial. It actually helped a lot more on the Pentium4, where slow ram, cache misses, and 'false' dependencies were a way of life. Additionally, things like PCI bus stalls are efficiently handled by multiple cores -- a 2 core system will typically handle PCI stalls nearly as efficiently as 2 cores with HT, for example.

There are some things HT helps compensate for:

* Slower RAM (high latency) -- HT will fill the latency with instructions from other threads when possible.
* Smaller L2/L3 caches -- Higher rate of cache misses means more places for HT to thread, lessening the impact.

Air who the hell do you know so much?? Blink,i mean apart from the fact that you are a programmer,and a pretty famous one,do you study other things related to cpu-arquitecture?
[Image: 2ymccqu.jpg]
[Image: 17715.png]
Reply
#6
I read crap on the internet, mostly. I don't have a real day job, which means more time to learn stuff. And I haven't bothered to fill my head with other distractions, like how to operate a gas pedal and steering wheel in unison, while dodging oncoming cars, following yellow and white lines, and reading traffic signs (that's gotta suck a lot of brain cells, tho otoh it seems most people are only good at 2 of those 4 tasks).

Someone did point out in IRC that I didn't explicitly point out that Core2 CPUs can execute a maximum of 6 instructions per cycle (ie, it has six "execution units"), and that what HT does is fill the empty execution units with instructions from Thread #2. Though it's still the same thing, just described differently: execution units don't fill because of dependencies, and dependencies are often caused by earlier load/store instructions stalling on resources.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#7
(01-31-2010, 07:02 PM)Xellon Wrote: So here is a new question. How does a slower quad core such as the i7-720QM compare to a faster Dual core such as the i5-540M or the i7-620M.

For example, if I were rendering or multitasking, which would be faster? The dual core has a higher clock speed but less threads but the quad has a lower clock speed but more threads.

As usual it's very dependent on the tasks being run. The i5 with HT will be the fastest for most tasks, and certainly for all games. The quad-core i7 should be better for movie encoding and for anything else that can effectively scale up to 6-8 threads, but I suspect only by a little bit. At a certain point, all the cores and HTs in the world can't overcome the fact that your memory and storage device can only go so fast (and both of which are often slower on laptops than desktops, barring SSD which, honestly, typically isn't ideal for multimedia encoding anyway because of their small size). So you get continually deminishing gains as you add "threads" to the cpu.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#8
Air Wrote:

Quote:As usual it's very dependent on the tasks being run. The i5 with HT will be the fastest for most tasks, and certainly for all games. The quad-core i7 should be better for movie encoding and for anything else that can effectively scale up to 6-8 threads, but I suspect only by a little bit. At a certain point, all the cores and HTs in the world can't overcome the fact that your memory and storage device can only go so fast (and both of which are often slower on laptops than desktops, barring SSD which, honestly, typically isn't ideal for multimedia encoding anyway because of their small size). So you get continually deminishing gains as you add "threads" to the cpu.

Another perfect answer Smile

Since movie encoding will be used a lot, the i7 quad should be the best but not by much. If video encoding is used 80% of the time on a laptop, it comes down to a matter of "do I want to spend more money on an 17 with 4 cores/8threads and gain a minor difference of speed (if it uses 6-8 threads). Ok, thats all I need to know for that.

Also, you mentioned that "all the cores and HTs in the world can't overcome the fact that your memory and storage device can only go so fast." You were referring to the 1333mhz speed in the ram right? Or do you mean the amount of ram? If you were referring to the speed, I'm curious as to what point in processing speed will it not surpass due to the limit of the ram speed. If you were referring to the amount of ram, is 8gb of ram enough for encoding under full load with 8 threads?

Also, If (probably isn't happening) I get a 250gb SSD, how much of a difference in speed does it make?
Windows 7 - Asus G73jh-a1 - 17-720qm @ 1.6 GHz (2.8 GHz)(2.4ghz)(1.73ghz) - ATI Mobility Radeon HD 5870 @ 700/1000 (sometimes oc to 800/1100) - 8 gig ram
Reply
#9
(02-01-2010, 06:48 PM)Xellon Wrote: If you were referring to the speed, I'm curious as to what point in processing speed will it not surpass due to the limit of the ram speed. If you were referring to the amount of ram, is 8gb of ram enough for encoding under full load with 8 threads?

Hard to say where speed stands, as I'm not really sure what the performance on DDR3 laptop ram is compared to desktop ram. I'm pretty sure it's going to be slower (stuff on laptops is almost inevitably slower even if the maunf. give it the same names/numbers as desktop "equivalents"), but by how much? I haven't a clue.

The amount of ram matters a little bit, but mostly as a way to offset the penalties of slow storage (HDD). If using a HDD, 8gb would probably help a lot. If using SSD, I don't think it'll matter as much.

Quote:Also, If (probably isn't happening) I get a 250gb SSD, how much of a difference in speed does it make?

For 8 threads, I suspect it'd be pretty significant. On my own Quad core @3.3ghz my encoding speed is at least partly inhibited by my HDD read speed (reading from an uncompressed capture source), and encoding practically stops dead in its tracks if my HDD is used for anything else while the encoding is running (causes non-contiguous reads and writes). An SSD would avoid that completely.

So for dedicated encoding, mild to moderate speedup -- for encoding while browsing the web, downloading files, or doing other more intensive tasks especially -- huge speedup.

(for the record, I routinely encode videos while I play games on my quad. I set 2 threads for the video encoder, and as long as the game doesn't do much on-the-fly HDD access, the game usually runs with barely any change in framerate -- just longer loading times Wink )
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#10
Quote:Since movie encoding will be used a lot, the i7 quad should be the best but not by much. If video encoding is used 80% of the time on a laptop, it comes down to a matter of "do I want to spend more money on an 17 with 4 cores/8threads and gain a minor difference of speed (if it uses 6-8 threads). Ok, thats all I need to know for that.
Encoding -- 80%? It's little lame, because such usage is normal for workstation, not user laptop. If you want to gain speed at such case, drop out Windows, and use normal OS with normal many-CPU support. Normally, video encoding is not realtime task and could be thinking as low-priority process.
Reply




Users browsing this thread: 1 Guest(s)