Advocacy

  Myths
  Press

Dojo (HowTo)

  General
  Hack
  Hardware
  Interface
  Software

Reference

  Standards
  People
  Forensics

Markets

  Web

Museum

  CodeNames
  Easter Eggs
  History
  Innovation
  Sightings

News

  Opinion

Other

  Martial Arts
  ITIL
  Thought


Macs don't have MP (Multi Processing)
Understanding Multi-Processing, and why you should care.

By:David K. Every
©Copyright 1999


Understanding MP

MP is Multiprocessing - it is when you have multiple processors working in the same computer at the same time. There are a few forms of MP -

  • SMP - Symmetric Multi-Processing
  • AMP (ASMP) - Asymmetric Multi-Processing

The different forms of multi-processing each have their advantages and disadvantages. Symmetrical generally means that every processor behaves like every other processor. Asymmetrical generally means that each processor is not the same as every other processor - so one processor may play traffic cop to the others, or different processors may each be handling special functions.

Technically many modern computers have co-processor doing specialty tasks - handling I/O, Sound, video, serial, etc. -- as a general rule people do not call that MP because those processors are not primary processors (running an OS or an Application).

The first thing to realize about talking about Multi-Processing is that Hardware and Software people use the same terms to mean different things.

Hardware SMP - To a hardware person SMP means that all processors are Symmetrical - they each have access to the entire memory map and hardware services at the same time. In other words, any processor can go anywhere in the memory map, each can share each others Memory - they are equal partners from a hardware point of view. (This is how the Macs work from a hardware point of view).

Hardware AMP - To a hardware person AMP means that all processors are not the same (Symmetrical). Usually one processor is the traffic cop and has access to the entire memory map, while all other processors are hardware slaves that often have their own memory (separate from the primary processors memory), and they can only talk to the main processor in certain small segments of shared memory - and may not even be able to talk to each other at all (only through the Master processor). (This is definitely NOT how the Mac works from a hardware point of view).

Software SMP - To a software person SMP means that all tasks (processes) are divided Symmetrically - this means that the Operating System itself can spawn any thread (task) or process to any processor. So the Operating system will keep all processors (relatively) equally loaded, and constantly be dividing the tasks among the processors equally. Most people that talk about SMP are talking about it from an OS-Support/software perspective. System 7 of the MacOS is definitely not completely SMP from a software point of view. Rhapsody will be.

Software AMP - To a software person AMP means that all tasks (processes) are not the same - this means that some tasks are run on certain processors, or that not every task can be sent anywhere. On the Mac (Sys 7) this means that the main processor sends many other tasks to the other processors to keep them busy. QuickTime, QuickDraw3D, and Applications can all spawn parts of themselves to other processors - but many tasks will only run on the main processor.

There are varying degrees of Software SMP -- to a purist it would mean everything, everywhere -- but realistically if 95% of the tasks can be spawned anywhere, then your system would be 95% SMP (from an OS point of view).

Advantages and disadvantages of each approach -

With AMP there is an advantage in that specialty tasks can finish especially fast - those processors (or tasks) are not loaded down doing basic system services or checking to see what else they should be doing. Those processors (or processes) are focused strictly on bashing out the one task they are supposed to do. But when they are done - they sit and wait for the main processor to give them something else to do, or they look from within their list of things to do next. Sorta like Union workers -- they are dependent on their supervisor.

SMP allows each processor to be more independent, but less specialized. If you load the System down, you load all the processors down. This generally means that each processor keeps itself more busy than in the AMP system.

For certain tasks the AMP system can just work better. For hardware - SMP only works well up to about 8 processors (realistically it is often less), after that they are fighting with each other for access to the shared memory so much that they get almost no real work done. (Kinda like two siblings doing the dishes -- "I wanna dry, you dry" - "No, you wash!"). Many of the largest MP systems are AMP, and for a reason. However, SMP systems do keep themselves more busy if you have less than a few processors - they are always looking for something to do, and trying to do it. Since they are not "specialized" they may take just a little bit longer than they would if they were specialists - because they also have to see if they should be doing something else. So they are busy as beavers, but not always quite as productive on the "one" task as if they were focused on that one task only.

Usage

Lets say I am doing a photoshop filter and running a word-processor (with spell checking), and doing a file copy -

  • On a SMP system (Software point of view) all processors would try to do all things - so theoretically the copy would be a little faster, the spell check would be a little faster, and the filter would be faster.
  • On the current Mac approach, the main processor would likely sick 3 processors on the filter, while the 4th (main) would be the supervisor and take care of your requests. This means that the filter would probably be completed faster than on the AMP (Mac) system, but that the spell checking and file copy would be slower than the SMP variant.

For some jobs the current Mac behavior is exactly the behavior you want - especially time critical ones. This model is great for professional work like photoshop filters, renders, video filtering, sound, 3D, etc. However, your machine does not get the speed up as much (or at all) when not doing one of those tasks. The AMP (Mac) solution is a little more "all or nothing" - it is either a lot better at what you want to do, or it does not make much of a difference.

For now Apple has added support to the current MacOS so that many system services will automatically take advantage of multiple processors - tasks like QuickTime, QuickDraw or 3D, which are exactly the type of demanding tasks that most people want MP for. However there are many parts of the OS that it will not improve dramatically with the current Mac-MP - and many people focus only on that, when in reality the Power-Users (those most likely to need MP) are likely to be very satisfied with the results. In the future when MP becomes cheaper and more mainstream, then the MP support in Rhapsody will be SMP and will be better for those users as well.

Specialty (Dedicated Task) - MP

The Macs also have some specialty accelerators that are technically MP systems. Often designers put 4 (or more) computers on a specialty card, just for doing a particular task - often photoshop or multimedia or 3D work. These are sort of a special case. Often the processors on this card are SMP from inside the cards perspective - but the Mac is still the traffic cop. These systems do not run the MacOS and are completely dedicated to one or two tasks. These are usually high-end specialty systems, often using specialty processors (not PowerPC's) and are only used for professional work, and they are not even marketed as "MP" systems - just as "photoshop accelerator" cards or "trans-puters".

Multiple OS - MP

The Mac also has another kind of MP - multiple OS MP. Usually MP is done only running one Operating System and multiple tasks. But many Mac users put in a second processor that is an Intel Pentium and they run Windows or DOS or Unix on that second processor at the same time as they are running the MacOS. This allows them to run Windows apps very quickly, and copy the data back and forth. It also allows the users to start one task on one system - like say a file download off Internet, or do a compile or a search on one processor (that is behaving like a separate machine) - then go to their other machine and have a full speed computer available to them. (This design is usually an AMP system from both the hardware and software point of view - but would not be what people think of if you used that term).

Conclusion

Macs for now have a really interesting compromise between an SMP and AMP design that is pretty good for professional work doing specialty tasks. In the future Apple is going to a full SMP system, and any MP hardware bought now will work automatically when the OS is upgraded. The Macs also support another form of MP with mutli-OS's running simultaneous or dedicated task MP.

Windows 95 does not support any MP at all, and according to MS never will. Windows NT supports an SMP model - but usually only 2-processor models are sold (on the Mac there are many 4 processor variants). If you are using WinNT you lose many other advantages, like PnP and some Application compatibility - and there are many more issues with getting drivers for your hardware, etc.

The Macs also allow many users to upgrade to MP after the fact. Most Mac machines produced have a separate processor card (or two) that allow you to replace a single processor with 2 or 4 processors. With PC's you must replace your whole motherboard unless you bought an MP motherboard to begin with.

So on the Mac MP is real - MP is available now - and MP will get better in the future.


Created: 02/03/97
Updated: 11/09/02


Top of page

Top of Section

Home