PDA

View Full Version : Dual Processor Q's


JOD8FY
May 29, 2004, 03:54 PM
Hello Everyone,

I was showing one of my windows-user friends the G5's the other day and he came up with a good question. I was showing him the dual 2Ghz G5 when he asked if that meant that both processors were running at 2Ghz. I didn't know, so I thought I'd ask you guys. So is it -

1. Both processors are running at 2Ghz. (Does this mean that in total it's actually running at 4Ghz?)

2. Each processor is running at 1Ghz adding up to 2Ghz.

3. One processor is running at 2Ghz and the other is just somehow helping it out :rolleyes:

4. Other - please specify

Thanks a lot. I'm curious to know myself.

Thanks in advance,
JOD8FY

edesignuk
May 29, 2004, 04:05 PM
Both CPU's are 2GHz each. Multi-threaded app (inc. OS X itself) can utilize both CPU's at the same time.

I don't know the ins and outs of it all, but I think that pretty much covers it.

Wes
May 29, 2004, 04:17 PM
They are both independent processors with seperate level caches(among other things) meaning they are not linked on a very low level, and thus do not act as a single unit. It is Mac OS and the program running that must decide how to use both.

In essence:
It's two processors both running at 2 ghz.

JOD8FY
May 29, 2004, 05:06 PM
Thanks for the help everyone, but I have one more question - since they both run at 2Ghz, would it be wrong to say that it was a 4Ghz computer?

Thanks,
JOD8FY

wrldwzrd89
May 29, 2004, 05:08 PM
Hello Everyone,

I was showing one of my windows-user friends the G5's the other day and he came up with a good question. I was showing him the dual 2Ghz G5 when he asked if that meant that both processors were running at 2Ghz. I didn't know, so I thought I'd ask you guys. So is it -

1. Both processors are running at 2Ghz. (Does this mean that in total it's actually running at 4Ghz?)

2. Each processor is running at 1Ghz adding up to 2Ghz.

3. One processor is running at 2Ghz and the other is just somehow helping it out :rolleyes:

4. Other - please specify

Thanks a lot. I'm curious to know myself.

Thanks in advance,
JOD8FY
You've got two 2GHz processors in that Power Mac G5. The effective performance isn't quite 4GHz, but somewhat less since it isn't possible to fully utilize both CPUs 100% of the time. Mac OS X does a pretty good job of using both CPUs, both for its own system routines and for applications that are multi-threaded. Mac OS X is also smart enough to assign 2 single-threaded applications to different CPUs to maximize performance when both are running at the same time.

bousozoku
May 29, 2004, 05:30 PM
Thanks for the help everyone, but I have one more question - since they both run at 2Ghz, would it be wrong to say that it was a 4Ghz computer?

Thanks,
JOD8FY

It would be wrong to say 4 GHz.

There is a lot of waste in Mac OS X as far as getting the two processors to share the load; however, it's not bad for a desktop operating system. Probably 20 - 30 percent of one processor is being wasted on supervisor-level tasks, which have to be done somewhere.

Sun Baked
May 29, 2004, 05:50 PM
It wrong to say that the dual 2GHz CPUs are equal to a single 4GHz CPU, because they aren't -- though it is a typical math method used in the PC World.

But they are both running at 2GHz when the machine is running full blast -- normally they run at 1.3GHz.

---

The OS and many Apps are multithreaded, so they automatically have threads split between two CPUs.

JOD8FY
May 29, 2004, 06:00 PM
Thanks for the replies. Now I can tell my friend how it works and hopefully convince him to switch :).

One last thing, how does hyperthreading work then? Does it split the CPU's power 2 ways and distribute them to applications? All this processor stuff is really interesting :).

Thanks again,
JOD8FY

baby duck monge
May 29, 2004, 08:00 PM
Thanks for the replies. Now I can tell my friend how it works and hopefully convince him to switch :).

One last thing, how does hyperthreading work then? Does it split the CPU's power 2 ways and distribute them to applications? All this processor stuff is really interesting :).

Thanks again,
JOD8FY

really it works two ways. if the program is programed to recognize a DP machine, it might split its workload between the two (thus speeding up whatever task it is working on). if not, the system does a sort of symmetrical multitasking where it divides the different programs it is running between the two procs so neither is doing much more than the other (in theory). this helps with multitasking as opposed to pure speed for a single task (imagine you are running two programs. they would each be running full-blast on different processors instead of both sharing the same processor).

jared_kipe
May 29, 2004, 08:46 PM
Yeah I was sort of wondering how well the multi tasking would be for the dual G5s, I was thinking about getting one but was wondering how well it split the load up on things that aren't multi-aware. For instance, I run ichat AV with a video open practically all day long, and would like to be able to do other stuff. It would be awesome to just assign tasks to different processors if the OS doesn't do that itself.

Wyrm
May 29, 2004, 08:55 PM
Thanks for the replies. Now I can tell my friend how it works and hopefully convince him to switch :).
One last thing, how does hyperthreading work then? Does it split the CPU's power 2 ways and distribute them to applications? All this processor stuff is really interesting :).
Thanks again,
JOD8FY

I don't think selling your friend on the prowness of Darwin's SMP scheduling is a really strong sales point...

Sell him on the cool factor :cool: , because there's nothing like the G5 box in the industry (yes, the box / case... coolest case I've seen)

If you find this stuff interesting, here's a good book: Amazon Link (http://www.amazon.com/exec/obidos/tg/detail/-/1558605967/qid=1085881607/sr=8-1/ref=pd_ka_1/103-0265394-1063062?v=glance&s=books&n=507846)

*Hyperthreading* is probably one of Intel's biggest "well, it looked good on paper...oops"

-Wyrm

Sun Baked
May 29, 2004, 09:06 PM
I don't think selling your friend on the prowness of Darwin's SMP scheduling is a really strong sales point...

*Hyperthreading* is probably one of Intel's biggest "well, it looked good on paper...oops"

-WyrmDarwin's SMP did make multiprocessor Macs usefull for everybody, under OS 9 the second processor sat around idle unless there was an actual routine written to take advantage of the Multiprocessor widget.

SMP is cool, but it does come at a cost in single CPU systems. (saps about 10-15% out of some of the OS9 vs. OSX benchmarks)

---

IBM has implemented threading on the Power5 (and Power5Lite) -- this software trick will allow the CPU to handle twice the number of instructions as the PPC970, and only impose a 25% transistor penalty.

Basically, something that can give you dual-PPC970 core performance, but is only 25% bigger -- instead of twice the size.

Wyrm
May 29, 2004, 10:14 PM
Darwin's SMP did make multiprocessor Macs usefull for everybody, under OS 9 the second processor sat around idle unless there was an actual routine written to take advantage of the Multiprocessor widget.

SMP is cool, but it does come at a cost in single CPU systems. (saps about 10-15% out of some of the OS9 vs. OSX benchmarks)

---

IBM has implemented threading on the Power5 (and Power5Lite) -- this software trick will allow the CPU to handle twice the number of instructions as the PPC970, and only impose a 25% transistor penalty.

Basically, something that can give you dual-PPC970 core performance, but is only 25% bigger -- instead of twice the size.

Ooh - yeah the classic OS series was rather lacking under the hood... it's a good thing they did go *nix.

I'm not so sure about the 10-15% penalty being attributed to SMP for Darwin vs OS9... there's a lot more going on under the hood in Darwin. I'd be surprised if the performance drop because of SMP actually registers... but classic was a bit more bare metal compared to Darwin so by doing less in the overhead, you can let a user process do more...

.. of course you get some good stuff from Darwin... like real memory management, user space protection, and a thread aware scheduler...etc.

Re: Power5
It's not a software trick. Multi-threading with a context switch is the software trick. SMT is more of a way to keep the cpu pipeline full as opposed to handling more instructions. Theoretical throughput remains the same, however the hope is you can parallelize instructions. Since threads are by definition Parallel, let the cpu handle threads to better use its resources; look no further than Amdahl's law for speedup:
Amdah's Law (http://home.wlu.edu/~whaleyt/classes/parallel/topics/amdahl.html) and you can see what they are trying to do with SMT. Throughput for a single task with SMT is 1/n, which is where the misconception that the processor can handle n times the amount of work; it can't. It can handle n process threads, with n being the SMT multiplier (2 in most cases), but it can still only process the same amount of work. Look at Amdahl's law and find the bottleneck: Ah that nasty serial dependant stuff? SMT is an idea to reduce bubbles/stalls in the pipeline by allowing the processor to perform a pseudo context switch to other code that is theoretically parallel to the stalled code, so that it can always be doing something, rather than sucking nops.
The problem comes, or the problem that Intel has found in their implementation of SMT (called Hyperthreading), is that threads now have to internally fight over cache resources, and since SMT is an attempt to fill bubbles, the pipeline needs lots of bubbles to fill to make a difference. Hence, Prescott's double cache and +10 stages in the pipeline (and Intel's theory that more pipeline stages = higher clock speeds). Now with a longer pipeline, other problems come to light. Yikes... Let's hope IBM learns from Intel's forray and has some better ideas.

-Wyrm

Sun Baked
May 29, 2004, 10:40 PM
Power5 SMT pdf (http://www-1.ibm.com/servers/eserver/iseries/perfmgmt/pdf/SMT.pdf)

BrianKonarsMac
May 29, 2004, 11:01 PM
i thought OS X was capable of utilizing both processors by itself? Whereas prior to OS X it had to be dual processor software in order to utilize both proc. otherwise it only ran off one. Using OS X it shares the load of work between both CPUs, you won't notice the second processor in typical computing, but in computation-heavy software you'll see a significant boost. Programs that will show you true power of the two processors are both games and creative software (floating point computations i think it's called?) such as Adobe and Macromedia suites, 3D Rendering Packages, Final Cut & it's siblings, iApps, DVD Burning and Multitasking, Video Chat, Home Video Server while being used at same time, etc. etc. OS X makes me horny.... :eek:

Wyrm
May 30, 2004, 06:48 AM
Programs that will show you true power of the two processors are both games and creative software

Contemporary games have been typically single threaded... so they won't see any benefit from a dual CPU. That trend is starting to change, but pretty much games are mostly bound by the graphics system.

But yes, pretty much Darwin has a multi-processor aware scheduler and can divide the work up. OS 9 was not multi-processor aware, and lacking in a whole bunch of areas under the hood so to speak.

-WYrm