G4 CPU upgrade : fast single vs slow dual?

tumbleguts

Registered
Note - although this question is similar to the previous thread "processor upgrade", it differs slightly as it deals with how to max out a particular G4 model...

I have a G4 Digital Audio (originally 466Mhz) that I have upgraded with care. My aim was always (and still is) to create the best example of this G4 model. I've invested quite a bit of time and money into it - and honestly, it does everything I want it to do - but I want it to be a bit zippier / faster. I'm not ready to move up to a G5 just yet and I've tried very hard to keep this computer up to date. I've had one processor upgrade already - 733Mhz over-clocked to 800Mhz - which was/is brilliant.
(I plan to max out the RAM to 1.5 GB with CL2 SDRAM)
But otherwise, the final touch is a newer/faster processor upgrade:

Here are the current specs:
> 800Mhz G4 CPU
> 768 MB CL2 SDRAM 133mhz
> x2 36 GB 10K SCSI disks
> Adaptec 39160 dual channel SCSI car
(RAID as startup volume - 125 MB/sec transfer rate)
> 120 GB ATA drive
> 100MB ZIP drive
> DVD+RW drive
> Keyspan USB 2.0 card
> Radeon 8500 mac (speed 285/285)
> 21-inch Sun flat-screen CRT monitor

I use this computer to run my own business as an illustrator / designer.
The programs I most rely on include all the Adobe Creative Suite software, Macromedia Studio MX, Quark 6, Microsoft Office 2004, etc...

It seems to me there are 2 options available in order to max this computer out. The fastest single G4 CPU available or a dual G4 CPU at a slower speed. I've picked two processors at similar cost to illustrate my point:
That being - G4 CPU upgrade : fast single vs slow dual?
(My budget is roughly $500)

option 1:
Single 7447A processor at 2.0 Ghz
Gigadesigns model# 7A1620U
512KB cache - processor speed
no L3 cache
$499.00

option 2:
Dual 7455 processors at 1.3 Ghz
Gigadesigns model# M5D-1213U
512KB cache - processor speed
2MB L3 Cache operating at 1/5 the processor speed
$540.00

Now bare in mind the kind of applications I wish to use that the fact that the computer is limited by a 1 GB/sec main-memory bus...

What I want to know is which upgrade is better?
G4 CPU upgrade : fast single vs slow dual?

Pros and Cons include:
The single 2.0 Ghz uses the lower power (and apparently more responsive) 7447A chip and will get a better resale price because people tend to judge by speed. However it lacks an L3 cache and my concern is that although the speed is fantastic the system bus will not be able to feed it as fast as it runs. The dual G4 has an L3 cache, but is slower, slightly more expensive, and I wonder whether I would really take advantage of dual processing with my applications. Furthermore because the 2 processors share the same data path, won't I be starving the processors yet again?

Any knowledge, comments, or considerations would be most welcome.
 
Heh, you really thought this out. I'm impressed, considering your occupation.

You pretty much nailed all the pros and cons. From your list of software, Quark is the only one I haven't used. To the best of my knowledge, none of those apps will really stress out your memory bandwidth. But they won't really benefit from dual CPUs either. The only way I'd suggest a dual CPU upgrade is if you say to me you run several programs simultaneously. And even then I only see rare instances where one program would hog up 100% of CPU time, that would make the second CPU useful as a multi tasker.

I'm leaning more towards the 2 GHz single chip. It'll still multitask quite well, because I'm not foreseeing any of those programs stuck in a long process crunching data or anything like that.
 
I believe (could be wrong) that Photoshop can utilize dual CPU macs, if you load an extra plugin (it came on both my G4 (OS9..) and my new G5 in a folder in the Applications folder.
 
The single 2.0GHz model would probably benefit you more than a dual 1.3GHz model. In a nutshell, you only see about a 60% increase with the second processor, not the full 100%. That's a very vague but acceptable way of considering it, IMO. Given that equation, the dual 1.3s would equl out to about 2.1, but only if it's a multi-processor aware program. Definitely not enough extra IMO to justify the extra $40.
 
Hey, thank-u "Lycander". You touch on what I'm trying to understand...

Having heard all these years the benefits of dual processing - is it true that the only real advantage is being able to mutitask effectively? To my knowledge, "Pengu" is correct as many of these applications have the ability to use dual processors (including mac OS X itself...), but the question remains - will I notice a significant performace increase? (- Particularly when compared to a faster single processor?) It seems that answer is dependant on how I use my G4.

Now don't get me wrong, I usually have many applications open at the same time. Especially Photoshop, illustrator, and Indesign and Quark, where I switch between them constantly - dragging things to and from each app. But it would be the odd occassion where one application is heavily processing in the background (ie, large Photoshop file). I'm imagining that I would certainly notice a sharp performance hit when initially changing apps with a dual processor - nearly removing any revolving beach balls for any extended periods... (but, is that it?)

What kind of programs do these people who rave on and on about dual processors use? Please give me your 2 cents! Have YOU compared the difference between single and dual processing? Because it seems I don't want to be investing in a dual processor where 1 of those processors spends 80% of it's lifespan patiently waiting at the side...!
 
tumbleguts said:
Having heard all these years the benefits of dual processing - is it true that the only real advantage is being able to mutitask effectively? To my knowledge, "Pengu" is correct as many of these applications have the ability to use dual processors (including mac OS X itself...), but the question remains - will I notice a significant performace increase? (- Particularly when compared to a faster single processor?) It seems that answer is dependant on how I use my G4.
Apple added pre-emptive multitasking to their Mach kernel. What that means is, if you're doing something intense in one app, a lower priority app (say Finder for example) can jump in and grab a few cycles to do what it has to do, and usually that's just a small quick operation. So there's no need to hold back the small operation and make it wait, it'll finish first before the longer more intense operation, so the kernel lets the little guy in first. That is why even with a single processor, you can still multi task quite well. If you wanted to run 2 very intensive apps at the same time a second CPU would help out much more. Each process would run 100% of the CPU it is assigned to, in in that respect you kinda/sorta see a 200% performance gain. With a single CPU system, running 2 programs of the same priority level, both demanding as much CPU time as possible, would wind up with 50% of CPU time.

tumbleguts said:
What kind of programs do these people who rave on and on about dual processors use? Please give me your 2 cents! Have YOU compared the difference between single and dual processing? Because it seems I don't want to be investing in a dual processor where 1 of those processors spends 80% of it's lifespan patiently waiting at the side...!
I do 3d modeling as a hobby. Most modern renderers these days support symmetric processing. Tile rendering is more popular and common, the renderer divides the frame into little squares and renders each one at a time. When you have 2 threads working on the same frame, you see 2 squares being worked on at once. Generally speaking though, any program that works on large data sets that can be arranged in a SMP-friendly way, will have people raving about using it with 2 CPUs.

The bottom line that determines how well a program can take advantage of 2 processors is the type of data it is operating on. Many applications have more than one "thread." There's the UI thread which usually is the dominate thread as it has the message/event loop. Worker threads are more tamed and can be told what to do, but ultimately they all just execute code the developer made. Now here's the problem: we only have one set of data. That's because the data is loaded into the application's memory address space. Can you imagine the possible disaster that could occur if 2 threads try to read/write to the same chunk of data? It's like 2 people working on the same job at the same time like washing a car. "Hey! I just soaped that spot why are you doing it again?" Well that's a more comical situation, but for a computer program that could be diasterous and lead to the program crashing.

Programs that support dual CPUs, thus run multiple worker threads that actually do work rather than lay dormant, have to arrange data in such a way that is easily accessible by more than 1 thread. Secondly, there needs to be a mechanism for "locking" a chunk of data so that the other thread doesn't read/write into that data by accident. Because of those 2 reasons, that is why there's a slight overhead (loss of performance) when using dual CPUs in an app designed in such a way. You'll still see it performing better than a single CPU, but as already stated, you won't see an exact 200% increase.

Here's one situation: a word processor. Lets look at the spell check function. In theory, we could split the wole document into an array, seperated by words. Then run through it word for word and spell check it. Now if it's a relatively small document, it would be over kill having to setup a data structure like this, and then add to it a mechanism for locking elements. All that extra work just so you can have a second processor working on spell check? It might be useful if you're trying to spell check the library of congress :p but for every day uses, it's overkill. A spell check system would work more elegantly with a single threaded approach.


Another situation: video encoding. I've done enough of this to know my way around it well enough. 2 important factors when encoding video, RAM and CPU speed. On the surface it's obvious that CPU speed is important, but what gets overlooked is the memory bandwidth. It does not take much CPU time to shrink down a video frame into smaller dimensions. So depending on the final output medium (like streaming to web) it might be more benificial to take the time and let your encoder scale down the frame size. Because then it's doesn't have to push this huge image through the memory bus. You'll get more FPS encoding rate with smaller frame sizes.

Where dual CPUs come in is, depending on how the software behaves, it could be encoding 2 frames at once, or both CPUs working on the same frame at the same time. In this situation it seems more logical to work on multiple frames simultaneously. Because that data seperation is already done, the data set is divided by individual frames, that's already done for us. And the locking mechanism is even easier, "oh I'm working on frame # 1, you go do frame 2." With G4 PPC chips though, the SMP design was not the greatest, and the memory bus was 133 MHz at best. The SMP design in the G4 era had both CPUs on the same memory bus. So each CPU is only getting about half the bandwidth. With the G5 things get better, each CPU has an independent path to system memory, so whatever the memory bus speed is, those CPUs get it at full speed.
 
WOW! "Lycander" you're a walking, talking book of knowledge, aren't you?

Thank-u so much for explaining that one to me. I don't think anyone could have done a better job.

Given the knowledge I've now acquired - I'm thinking I will pursue a faster single processor (long term). As it will meet my demands more accurately and i'll see a better performance increase.

For the (present) moment I've decided to overclock my existing 800Mhz G4 to 867Mhz. And I'll max out the RAM to 1.5GB. We will see how far that takes me.

I already knew about the limitation of dual processing and the way it has to share the same data bus on a G4 - it seems that is a major drawback to puting a dual processor in a G4.

My only final question revolves around this:
> At what point does the speed of a single processor become irrelevant due to the limitating speed of the G4 system/memory bus?
(In my case 133Mhz).

"Lycander" you stated earlier;
"To the best of my knowledge, none of those apps will really stress out your memory bandwidth".

Is this correct? I'm wondering what the threshold is?
Because at some point it must not matter how fast the processor is if the system bus cannot feed it enough data in time...

And on a similar tangent;
How many MB's are processed in a Mhz?

mmmmm
 
To max out your ram, you would need to go to 2GB, not 1.5. That was a limitation in OS 9.
 
However "bobw", I have a Digital Audio mac which like the Quicksilver models has 3 RAM slots (unlike the previous generation G4's that had 4) which can each hold a maximum of 512MB per slot. So 1.5GB is my phyiscal limitation - regardless.
 
You can put 2x 1 GB sticks in there and have 2 GBs of RAM total. Not sure if Macs have this limitation, but since the board designs are quite similiar to PC mother boards it might be true.

From reading motherboard manuals I learned that mobos with 3 DIMM sockets have a little caveat: the first DIMM slot has 2 banks, thus can take RAM sticks that are double sided. The second and third slots have one bank each so they can only take single sided RAM sticks. However, those individual banks are shared, so it's possible to put a double sided RAM stick in the second slot, provided the third one remains empty.

tumbleguts said:
"Lycander" you stated earlier;
"To the best of my knowledge, none of those apps will really stress out your memory bandwidth".

Is this correct? I'm wondering what the threshold is?
Because at some point it must not matter how fast the processor is if the system bus cannot feed it enough data in time...

And on a similar tangent;
How many MB's are processed in a Mhz?
Well to be fair, everything uses RAM. But latency and bandwidth issues aren't so devasting to apps that are more linear. Take for example video encoding, or capturing. If your hardware can't keep up with the video feed, you'll drop frames and that's a loss of work. But if you're applying a filter onto a really big photoshop file, you'll just have to wait until it's done. You'll get the same results no matter how fast your system is, just a matter of time.
 
From my understanding of the G4 Digital Audio specs, the maximum amount of RAM each slot will recognise is 512MB. 3 slots X 512MB = 1.5GB. From what I've been told if I put a 1GB stick in there it will only recognise half of it, ie: 512MB.

If anyone knows different. Please let me know...
 
Back
Top