If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
X2 vs X4
If an application does NOT support multiple CPU cores, will it run
slower on a Phenom 2.4 GHz CPU than it would on an X2 2.4 GHz CPU? I currently have a 2.2 GHz X2 and I want to upgrade it. My motherboard supports the Phemon X4 but from what I'm reading, software that doesn't support multiple cores may run slower if I do. Any advice? |
#2
|
|||
|
|||
X2 vs X4
Multithreading cpus can make some software slow down. Mulit-core cpus will
not unless the speed of a core itself is slower. Then, the slowdown is caused by the slower core, not by the fact that it's a multi core cpu. OTOH....let's stop and think a bit. If I have a multi-core cpu with non-shared caches, then I now have cache coherency issues to deal with if the cpu scheduler for some reason moves my task to a different core. Any cache lines I try to access that aren't in the current cache will have to be copied from the cache it resides in, or from memory if it's no longer in any cache. So maybe the answer to the question of performance is "it depends"? Where did you read that software that doesn't support multiple cores may run slower? "Dave" wrote in message s.com... If an application does NOT support multiple CPU cores, will it run slower on a Phenom 2.4 GHz CPU than it would on an X2 2.4 GHz CPU? I currently have a 2.2 GHz X2 and I want to upgrade it. My motherboard supports the Phemon X4 but from what I'm reading, software that doesn't support multiple cores may run slower if I do. Any advice? |
#3
|
|||
|
|||
X2 vs X4
One core of a Phenom will run a little faster than one core of an X2,
given the same clock speed. -- Ed Light Better World News TV Channel: http://realnews.com Bring the Troops Home: http://bringthemhomenow.org http://antiwar.com Iraq Veterans Against the War: http://ivaw.org http://couragetoresist.org Send spam to the FTC at Thanks, robots. |
#4
|
|||
|
|||
X2 vs X4
|
#5
|
|||
|
|||
X2 vs X4
|
#6
|
|||
|
|||
X2 vs X4
The effective clock speed of a single core in a multiple core chip is
the chip clock speed divided by the number of cores, so an application running on a single core in a multicore chip will run slower than the same app running on a single core cpu. BUT in a multicore cpu the app will experience fewer task switches for interrupts, etc because there are other cores to run the interrupts, etc on. Since each core has its own set of registers, less time is spent saving and restoring register data, of which there is a lot on X64 cores. So whether a single-threaded app runs faster or slower on a multicore chip is a little hard to predict apriori. |
#7
|
|||
|
|||
X2 vs X4
Dave writes:
In article , says... Where did you read that software that doesn't support multiple cores may run slower? A thread on CraigsList a few days ago. Several people were discussing performance issues and stated that software that does not support multiple cores runs slower on a multi-core CPU than on a non-multi-core CPU. Nobody disagreed with that statement in the thread. I'd not consider craigslist to be a top technical forum. Given identical clock speeds and voltages, a single-threaded application will perform equally on a single core or a multi-core box. The multi-core box will, of course, be able to run multiple copies of the single-threaded application much faster than the single core box. When one considers that a typical operating system often has dozens of processes running other than the "foreground application", an application on a multicore system _may_ perform better, because the operating system processes can run on the other core freeing capacity for the application. Now, this really only holds if the application is using 80% or more of the processor (e.g. mp3 encoders, video transcoders, numerical analysis applications, etc). Most graphical applications seldom use significant amounts of processing power. scott |
#8
|
|||
|
|||
X2 vs X4
Dave Feustel writes:
The effective clock speed of a single core in a multiple core chip is the chip clock speed divided by the number of cores, This is incorrect. All cores run at the same clock speed, which is the 'chip clock speed'. Of course the power-management capabilities of the processor allow the operating system to individually ramp-down the voltages and frequencies of each core to allow them to run slower (when idle), but the norm is for all cores to run at the same clock speed which is equal to (not a fraction of) the core clock speed. So called SMT (aka Hyperthreading) is different, in that the secondary thread is leveraging otherwise idle execution and load/store resources on a single core. scott |
#9
|
|||
|
|||
X2 vs X4
So called SMT (aka Hyperthreading) is different, in that the secondary
thread is leveraging otherwise idle execution and load/store resources on a single core. scott I don't get this - what can hyperthreading do that a good cpu scheduler can't do? If I have two virtual cores, I have to have two schedulers running (one for each virtual cpu), each with their own set of queues and each with 50% cpu time. Is that more efficient then one single scheduler that has 100% cpu time? |
#10
|
|||
|
|||
X2 vs X4
"Zootal" writes:
So called SMT (aka Hyperthreading) is different, in that the secondary thread is leveraging otherwise idle execution and load/store resources on a single core. scott I don't get this - what can hyperthreading do that a good cpu scheduler can't do? Leverage otherwise idle resources in the core. A core typically has two or more integer ALU's and one or more floating point ALU's. These allow superscaler behaviour (i.e. multiple instructions can be in flight at the same time (multiple issue)). However, for many instruction streams, not all of the ALU's and FPU's are used, so a second 'logical' processor (the hyperthread) can be made available to the operating system to take advantage of those idle resources. Note that even with HT/SMT, the operating system sees them as two distinct cores, even though they aren't really stand-alone cores. A four physical core processor with SMT will appear to the operating system as 8 logical cores. If I have two virtual cores, I have to have two schedulers running (one for each virtual cpu), each with their own set of queues and each with 50% cpu time. Is that more efficient then one single scheduler that has 100% cpu time? There is only one scheduler in a typical operating system. It schedules across all logical cores and is typically NUMA and SMT aware in order to make optimal scheduling decisions. NUMA awareness means scheduling user threads/tasks on a CPU close to memory. SMT aware schedulers understand that resources are shared and attempt to schedule related threads (i.e. threads from the same process/job/task) on the secondary threads. scott |
Thread Tools | |
Display Modes | |
|
|