Unfilled Multi-Promises
Dan Knight - 26 March 1999
There's a big difference between most personal computers and "big iron" - whether they be mainframes, minis, or even smaller Unix servers.
They "multi" better.
That is, they multitask better, multithread better, and handle multiprocessing better.
Multitasking
The Mac OS allows multitasking, as do all modern operating systems. I can type this while downloading a file. At the same time, Claris Emailer is checking for new messages every five minutes and the OS is updating the clock in the menu bar.
The simple definition of multitasking: The computer does several things simultaneously - or at least they appear that way to the user.
In reality, most computers (especially personal computers) fake it by dividing a single processor's attention between tasks and switching from task to task several times per second.
The great thing is, it works. We perceive that the computer is printing and downloading and sending email all at the same time because the time slices are so short that they are imperceptible.
The drawback is that a single processor doing multiple tasks means each task is done more slowly. Usually the foreground task takes priority, so it runs at maybe 50-80% of full speed. But the background tasks can take far, far longer than they would in the foreground.
The 40 minute download that takes an hour is one example. The color printout that takes two hours instead of twenty-five minutes (we're talking high resolution tabloid printouts on a networked Epson Stylus XL) is another.
Multithreading
The easiest way to program is linearly. Process A runs, then process B takes over, then it goes to process C. One thing happens at a time.
But just as multitasking allows the computer to run more than one application at a time, multithreading permits a program (including the OS) to run more than one process at a time.
To use an analogy, if the program is cleaning up the kitchen, one thread would be loading and running the dishwasher, another wiping the counter, another sweeping the floor, another cleaning the oven. These tasks can take place at the same time, much as multiple threads of a program or OS can.
Multiprocessing
Multitasking lets you run more programs at once, but at the cost of reduced throughput. Each program runs more slowly under multiprocessing than it does alone.
Multithreading is usually implemented in such a way that the threads interleave with each other. This can be more efficient than linear processing, especially if the CPU has multiple processing units (integer, floating point, etc.).
But there are only three ways to make a program run faster:
- Rewrite it. But we assume the programmers have already done this, providing us as efficient a program as they know how to make.
- Get a faster processor. This is an option if you're using a 300 MHz or slower computer, but what if you're already at 400 MHz?
- Use more processors.
Multiprocessing is using two or more processors. The current Mac OS has a very limited form of multiprocessing that only supports the PowerPC 604 and 604e. The G3 has very limited support, only permitting two processors - and then with a lot of overhead.
The G4 will fully support multiprocessing, as will Mac OS X and probably Mac OS 8.6.
What multiprocessing does is split the task up so more than one processor can take a part of it, so in many ways it's analogous to multithreading. But instead of one processor time slicing tasks, two or more CPUs are using the "divide and conquer" method to complete the task in much less time than a single processor could.
The Benefit of Multiprocessing
Don't you just hate it when one program takes over the computer? I do. When I upload web pages from Claris Home Page, I can't do anything else on my computer. Better multitasking might help, as would multithreading.
But with multiple processors, one CPU could always be handling input and output - no matter what application is trying to hog all the system resources.
Granted, a well implemented OS could prevent any task from taking over the way Home Page does when uploading pages, but the current Mac OS simply doesn't do that. (And there are times, such as when Retrospect does backup over a network, that you really do want to keep the user from changing anything.)
But with multiple processors, there's enough processing power (even if you're not using the fastest chips available) to let you run lots of programs with lots of threads and still leave enough system resources for typing and switching applications.
The Bottleneck
As David K. Every notes in his article on Performance, simply using a faster bus, faster memory, or even a faster processor doesn't necessarily make the computer that much faster. There are always bottlenecks.
The same is true when using multiple processors. No matter how well designed the system is, the OS must dedicate some time to coordinating efforts among the processors. In a poorly designed dual processor system, we might see only a 70% improvement, while in a really tweaked system, the second processor might increase performance by 95%.
Assuming a 15% performance hit as CPUs coordinate their work, dual 233 MHz processors would outperform a single 400 MHz processor if the OS and programs all provided full support for multiprocessing.
But as the number of processors increases, a problem arises: each one has to communicate with all the others, so a three processor system takes three times the penalty of a dual processor system (A talks to B and C, and B talks to C). Still, with out hypothetical 15% penalty system, three processors would yield 2.55 times the performance of one.
Adding a fourth processor increases the penalty further, since each CPU now talks to three others. Assuming 15% overhead for that, this theoretical system would be only 3.1 times more powerful than a single CPU computer.
In a system with 15% overhead, a 6 processor system would be only marginally faster than a 5 processor one.
Breaking the Barrier
Traditionally, a lot of the bottleneck comes from the processors communicating slowly. If the CPUs share a 100 MHz bus, that's as fast as they can move data.
What kind of data do they share? For one, before using any data from memory, each CPU has to make sure no other CPU is working on that particular chunk of data - or in the other CPU's cache. If it's in use, CPU A has to wait. If it's in another CPU's cache, CPU A has to instruct the other CPU to flush that data from its cache.
The G4 is designed with two features that should greatly minimize the overhead of multiple processors.
First, the CPUs will be able to communicate with each other at full CPU speed over a dedicate 128-bit bus. Second, there is a unified cache controller. I believe this is specifically for the L2 cache (up to 2 MB!), but rather than polling several CPUs about their cache data, it looks like this will allow each CPU to check with a central cache manager.
Because of this, there is speculation that a dual-G4 system could possibly offer more than double the performance of a single-G4 computer. Although it sounds too good to be true, the combined benefit of a faster, wider bus between CPUs and a large unified L2 cache could make it happen.
Going to 4 or 8 processors might not result in 4x and 8x base performance, but with the optimized G4 design, bus, and cache, the reduced overhead should make it possible to come closer to the theoretical maximum than any personal computer has ever done before.
Frankly, if you're impressed with the G3 (I certainly am), you will be stunned by the multi capabilities of the G4 and Mac OS X.
All those multi-promises will finally come true.
And the "blue door" Pentium III will turn green with envy.
Dan Knight has been using Macs since 1986, sold Macs for several years, supported them for many more years, and has been publishing Low End Mac since April 1997. If you find Dan's articles helpful, please consider making a donation to his tip jar.
Recent Mac Musings
- Looking for a Content Management System That's as Easy as Mac, 08.29. Low End Mac needs to move to a content management system, but the few we've tried just don't cut it for people used to the simple elegance of the Mac.
- MacDrought: 4 Months with No New Macs, 08.27. The most recent Mac update was over four months ago, and the Mac mini has been unchanged for over a year.
- The iMac Legacy: After the G3, 08.15. The G3 iMac influenced the whole industry, but Apple continued to move forward with innovative designs using G4, G5, and Intel processors.
- The iMac Legacy: The G3 Era, 08.15. 10 years ago today, the original iMac went on sale. One of the most popular lines of computers ever, the G3 iMac would be Apple staples for nearly five years.
- More in the Mac Musings index.
Links for the Day
- Mac of the Day: Quadra 700, Oct. 1991 - The successor to the Mac IIci ran a 'wicked fast' 25 MHz 68040 processor.
- List of the Day: Apple TV List The Apple TV List is a forum to discuss the Apple TV.
- August 29 in LEM history: 00: My lowest low-end Mac - 01: Uncluttered organization - Microsoft wins over Mac user - 02: Salute to SatireWire - 03: Wireless Internet popping up everywhere - 05: World domination, online or off - A 3-dimensional Dock replacement - 06: Productive at the low end - PowerPC vs. Intel - Secure wireless
Recent Content on Low End Mac
- First 3 Million Mac Quarter, Skinny on Mac mini Pricing, Mac-like gOS, and More, Mac News Review, 08.29. More plan to buy Apple products than ever before, complete reset can fix MobileMac synch problems, Apple boosting computer and smartphone share, and more.
- New 'Books Likely in September, 17" PowerBook Display Fault Site, SSD Security, and More, The 'Book Review, 08.29. Also 6 ways to speed up your MacBook, next generation MacBook Air CPU, MacBook Air Update, LapStrap carrying solution, rise and fall of ultraportables, bargains from $220 to $2,699, and more.
- iPhone 3G Reception 'Completely Normal', AT&T International Data Plans for iPhone, and More, iNews Review, 08.29. Also longer life for iPod earbuds, an alternative to MobileMe, new cases and apps for iPhone, AppStoreGems website launched, and more.
- Best Power Mac G4 Deals, Low End Mac Deals, 08.29. Used 450 MHz AGP, $75; 500, $99; 800 QS, $199; 1.25 GHz MDD, $375; 450 MHz dual, $179; 867 dual, $300; 1 GHz dual, $395; 1.42 dual, $575.
- Best iBook G3 Deals, Low End Mac Deals, 08.29. Used 300 MHz clamshell, $150; 500 CD, $150; 800, $200; 600 CD-RW, $240; 900 Combo, $300; 14" 600, $360; 900, $400.
- Best iPod nano Deals, Low End Mac Deals, 08.29. Used 2 GB iPod nano, $89; refurb 3G 4 GB, $99; new, $140; refurb 8 GB, $149; new, $179.
- 10 Mac Browsers Compared, Simon Royal, Mac Spectrum, 08.28. A look at Internet Explorer, Radon, Opera, Safari, Shiira, iCab, Firefox, Netscape Navigator, Flock, and Camino running in Leopard.
- Clone and Boot: Another Advantage of the Mac OS, Kev Kitchens, Kitchens Sync, 08.28. Unlike Windows, Apple makes it possible to clone a bootable drive (Classic Mac OS or OS X) and use it with another supported Mac.
- Best MacBook Deals, Low End Mac Deals, 08.28. Used 1.83 GHz, $799; 2.0 black, $875; refurb 2.1 GHz, $899; 2.4, $1,099; black, $1,299; new 2.1, $1,019 after rebate; 22, $1,094; 2.4, $1,219 a/r; black, $1,394 a/r.
- Best iMac G5 Deals, Low End Mac Deals, 08.28. Used 17" 1.6 GHz Combo, $499; 1.8 SuperDrive, $530; 2.0, $600; 1.9 iSight, $625; 20" 1.8 GHz, $580; 2.0, $650; 2.1 iSight, $700.
- Best classic Mac OS Deals, Low End Mac Deals, 08.28. System 6, $10; 7.1, $12; 7.5.1, $4; Mac OS 7.6, $13; 8.0, $13; 8.1, $48; 8.5, $25; 8.6, $20; 9.0, $20; 9.2.2, $20; more.
- CrossOver Strikes Out, Frank Fox, Stop the Noiz, 08.27. Running Windows apps on a Mac without paying for Windows is great in theory, but actually getting Windows software working is another story.
- Resurrecting a Dead Pismo, Spotlight Search Tip, and EasyFind a Good File Finder, Charles W. Moore, Miscellaneous Ramblings, 08.27. Lots of tips on bringing a comatose Pismo back to life, a Spotlight file name search tip, and EasyFind as an alternative to Spotlight.
- Best Intel iMac Deals, Low End Mac Deals, 08.27. Used 17" 1.83 GHz, $625; 20", $599; 2.16, $749; 24", $950; refurb 20" 2.4, $999; 2.66, $1,299; 24" 2.4, $1,299; 2.8, $1,549; new 3.06, $2,094 after rebate; more.
- Best 15" PowerBook G4 Deals, Low End Mac Deals, 08.27. Used 1.25 GHz Combo, $600; SuperDrive, $650; 1.33 Combo, $640; 1.5, $680; SD, $725; 1.67, $730; hi-res, $800.
- Best Time Capsule and AirPort Deals, Low End Mac Deals, 08.27. 500 GB Time Capsule, $294; 1 TB, $468; AirPort Extreme Card, $39; 802.11n Base Station, $166; 802.11g AirPort Express, $60; 802.11n, $98.
- More links in our archive.
About LEM | Support | Usage | Privacy | Contacts
