lessonettes - short essays on whatever

thesmallest.com lessonettes: short essays on whatever

<

lessonettes - short essays on whatever
lessonettes - short essays on whatever
thesmallest1
lessonettes - short essays on whatever

Are dual processors worth the cost?

History of PostScript and TrueType font formats

How cordless pens and tablets work

LCD screens and colour accuracy

How CD-ROM, CD-R and CD-RW media works

DVI and VGA monitor formats explained

RSS explained: how to read it, how to make it

Uninterruptable Power Supplies (UPS) explained

How laser printers work

An explanation of email spoofing

There’s a lot of confusion about dual-processor systems. Is there much benefit over a single-processor one? Do you have to use special software, and how do you manage the process? Is there actually any point in having more than one processor?

The facts

In pre-OS X days the problem with dual processor Macs was that only applications which were written to take specific advantage both CPUs would stand a chance of waking up the extra hardware. Back when Apple had its MP Power Macs and Daystar dabbled with its Genesis Mac clones there were no more than a handful of these applications, and even then the multiple-processor support was limited to a few specific features. This led to a crippling chicken and egg situation: users didn’t buy multiple-processor Macs because software developers didn’t support them directly, while those developers didn’t bother making their applications use extra processors because there weren’t enough multiple-brained Macs out there to make it worth their while.

Fortunately, this all changed with Mac OS X. Apple took the essential step of assuming full responsibility for managing the use of multiple processors by ensuring the core of the operating system itself would handle the task itself, as a matter of course. With the heart of the OS in charge like never before and eager to put different tasks onto idle CPUs whenever possible, users could see the benefit of the new generation of twin processor Macs no matter what software they ran.

This doesn’t mean that every application will automatically split its tasks across every CPU in a well-endowed Mac. That’s something which requires explicit multi-threading within the software, putting different parts of an overall task into separate threads and sharing those out across the available processors. Producing multi-threaded software is now much easier for developers, and with OS X’s underlying architecture it makes a certain amount of sense even in single-processor Macs, so it is no longer such a rarity.

Put simply, regular, unthreaded applications send out processing requests sequentially, and the OS simply treats such applications as a complete single general thread. When you run two such applications each will be assigned to a different processor, so one application’s data processing work isn’t forced to queue up and share space with another’s. With modern multi-threaded applications things are broken down further. Each thread is assigned to the most appropriate processor, with the decision-making done by the Mac OS. Either way, it is entirely transparent to the end user. The result is a more responsive, reliable machine even under heavy loads. While this in no way means a dual 2GHz Mac is like a 4GHz single-processor one, it does provide double the muscle of a single CPU equivalent.

Using multiple CPUs makes sense for the processor developers directly, too. As the cycle speed of CPUs rises through the multiple-gigahertz range the problem of heat becomes more and more serious. By using two processors at a given speed you can do roughly as much as the same processor design running at twice the frequency. Following in the footsteps of high-end PC and workstation manufacturers, in 2004 Apple switched from just fans to a design which uses a water-cooled radiator system as well in order to control the heat of the dual processors in its fastest Power Mac G5s.

Variations on the idea of sharing the processor load to reduce heat are being tried, with the two key approaches being twin chip cores in one CPU and full-on multiple CPUs. The idea behind twin-core processors is that they use different parts of their internal CPU structure at different times. By this means, heat can be reduced and therefore processor performance can increase. This is a valuable direction in processor development, although a cynic might add that one of the reasons for the twin core line of development could be because, in the Windows world, only Windows 2000 and XP support actual multiple processors at the OS level, and even there it isn’t quite as well integrated as it is in Unix-based operating systems such as Mac OS X. Until very recently in the PC industry, multiple-processor systems were generally seen as being suited to server setups rather than regular desktop uses.

Unlike older Macs and some other platforms, dual-processor Power Mac G5s and the newer dual core Intel-based Macintoshes manage their twin brains efficiently and automatically, whether your applications are multi-threaded or not. Where they are, you can expect to see real-world performance boosts of around 1.8 times over a single processor of the same GHz rating. Regardless of the internal workings of your software, a dual-processor Mac will be more reliable and responsive across the board.

The Power Mac G5 architecture

In the Power Mac G5 motherboard architecture, the dual processor setup is catered for better than in practically any other motherboard design. Apple prefers the term ‘pipeline’ rather than bus when referring to this architecture because the latter generally implies a bottleneck-style design.

The key example of this is the processor interface in the motherboard. This runs at half the processor speed rather than a smaller fraction; in the dual 2GHz-equipped Power Mac G5 the processor pipeline runs at 1GHz, compared with the 167MHz system bus of the 1.25GHz Power Mac G4. In every Power Mac G5 data flows much more efficiently and swiftly through much of the motherboard. The different key sections of the motherboard - the memory banks, PCI-X slots, ATA and serial ATA connectors, FireWire controller, audio, and so on - have a number of controllers and bridges that help manage their traffic.

This is still the case with the single-processor 1.8GHz Power Mac G5, although it, along with the dual 1.8GHz model, are still more limited than the 2GHz and 2.5GHz Power Macs. In contrast, the iMac G5s have the G5 processor, but their motherboard is still based on the older form. This explains why the 1.8GHz iMac isn’t really a match for the 1.8GHz Power Mac.

Further info

See developer.apple.com/hardware/g5/ for details of the G5 processor and motherboard architecture on Apple’s developer site. The level starts at fairly technical and goes sharply upwards, but it is a huge resource of authorative information.

More generally readable information can be found on www.apple.com/powermac/, Apple’s main Power Mac pages. This also includes liks for the Power Mac G5 Technology & Performance Overview, the Power mac G5 White Paper, and 2004 Pfeiffer Benchmark Report PDFs.

Banner

thesmallest.com is by Keith Martin - click to email, or call 0790 954 1365

Based in London and online.

pencil1a