Note: This article refers to both asymmetrical multiprocessing and multiprocessors.
Asymmetric multiprocessing or ASMP is a style of multiprocessing supported in DEC's VMS V.3 as well as a number of older systems including TOPS-10 and OS-360. It varies greatly from the standard processing model that we see in personal computers today. Due to the complexity and unique nature of this architecture, it was not adopted by many vendors or programmers past its brief stint between 1970 - 1980.
Whereas a symmetric multiprocessor or SMP treats all of the processing elements in the system identically, an ASMP system assigns certain tasks only to certain processors. In particular, only one processor may be responsible for fielding all of the interrupts in the system or perhaps even performing all of the I/O in the system. This makes the design of the I/O system much simpler, although it tends to limit the ultimate performance of the system. Graphics cards, physics cards and cryptographic accelerators which are subordinate to a CPU in modern computers can be considered a form of asymmetric multiprocessing. SMP is extremely common in the modern computing world, when people refer to "multi core" or "multi processing" they are most commonly referring to SMP.
Although hardware-level ASMP may not be in use, the idea and logical process is still commonly used in applications that are multiprocessor intensive. Unlike SMP applications, which run their threads on multiple processors, ASMP applications will run on one processor but outsource smaller tasks to another. Although the system may physically be an SMP, the software is still able to use it as an ASMP by simply giving certain tasks to one processor and deeming it the "master", and only outsourcing smaller tasks to "slave" processors.
Asymmetric hardware systems commonly dedicated individual processors to specific tasks. For example, one processor may be dedicated to disk operations, another to video operations, and the rest to standard processor tasks. These systems don't have the flexibility to assign processes to the least-loaded CPU, unlike an SMP system.
In a multiprocessing system, all CPUs may be equal, or some may be reserved for special purposes. A combination of hardware and operating-system software design considerations determine the symmetry (or lack thereof) in a given system. For example, hardware or software considerations may require that only one CPU respond to all hardware interrupts, whereas all other work in the system may be distributed equally among CPUs; or execution of kernel-mode code may be restricted to only one processor (either a specific processor, or only one processor at a time), whereas user-mode code may be executed in any combination of processors. Multiprocessing systems are often easier to design if such restrictions are imposed, but they tend to be less efficient than systems in which all CPUs are utilized equally.
Systems that treat all CPUs equally are called symmetric multiprocessing (SMP) systems. In systems where all CPUs are not equal, system resources may be divided in a number of ways, including asymmetric multiprocessing (ASMP), and clustered multiprocessing (qq.v.).
It must be noted that most applications will ONLY run on the master processor and that the slave processors can merely take on the role of completing tasks that the master processor asks. It is rare that an entire application will or can be run from a slave processor.
When most people refer to multiprocessing or multiprocessors, it is usual in reference to SMP systems and SMP operating systems. The current generation of operating systems (circa 2008) can all effectively utilize SMP. This can be observed by the end user by simply referring to their system process manager and watching the activity levels.
Post 1981, asymmetric processing research and design faded and later disappeared. Symmetrical processing came about during the same period and saw higher adoption along with use by larger companies such as Intel. As a result, ASMP seemed to disappear into the history books while SMP began to flourish. It was largely because ASMP was very complex and convoluted in its design, most of the technology was optimized for very specific applications (ones that could spawn smaller processes that needed computing ie Video editing applications that could outsource rendering to a separate processor). SMP is simply a collection of identical processors capable or processing any information that any one processor is given. Thus writing software and operating systems that are multiprocessing capable, was much more realistic for a SMP architecture.
The hardware architecture was abandoned in the early 80's and lost out to Symmetrical multiprocessors which was much easier to work with and provided a much simpler hardware build. It is common to see some applications using Asymmetrical traits within a symmetrical processing system. Such an example would be a video game that ran on one "master" processor and offloaded physics calculation onto the "slave" processor. Even though both processors are non-unique and equal, software can choose to utilize the processors in a master/slave fashion.
ATI pioneered a technology that allows their video cards to be used Asymmetrically (i.e Using one for Rendering and another for Physics) but this is once again a representation of Software ASMP.The hardware is identical and thus Symmetric, but is being used Asymmetrically through software intervention.
The Sony PS3 is an example of an extrapolated asymmetric multiprocessor. The cell processor has unique cores which compute only certain tasks, though it is a games console rather than a general-purpose computer.
Notice also that the main memory is not accessible by all of the processors. The master processor will usually relay information on a "need to know" basis, to the slave processors.
Symmetrical multiprocessing heads to the desktop; Windows NT opens door for affordable multiprocessing desktop PCs from VTech, others. (VTech's Platinum SMP and other symmetrical multiprocessing microcomputers) (Brief Article)
Nov 01, 1993; Intel's 486DX2 taught PC power-seekers the value of clock-doubling. Now Windows NT is leading system vendors to the next...
Start-up will let users gang up Intel PCs; Former RS/ 6000 designers use best of symmetrical multiprocessing, clustering.(Company Business and Marketing)
Jun 14, 1999; AUSTIN, TEXAS - A pair of ex-IBMers think they have a better way of building low-cost multiprocessor servers. Ted Scardamalia and...
Can NUMA hit the server big time?(Data General and Sequent Computer develop non-uniform memory access symmetrical multiprocessing servers)(Product Development)
Nov 16, 1998; The life of NUMA server users and vendors can be lonely. Non-Uniform Memory Access (NUMA) is a symmetrical multiprocessing (SMP)...