Asymmetric multiprocessing

Asymmetric multiprocessing AMP was the only method for handling multiple CPUs before symmetric multiprocessing SMP was available It has also been used to provide less expensive options1 on systems where SMP was available Additionally, AMP is used in applications that are dedicated, such as embedded systems, when individual processors can be dedicated to specific tasks at design time In an asymmetric multiprocessing system, not all CPUs are treated equally; for example, a system might only allow either at the hardware or operating system level one CPU to execute operating system code or might only allow one CPU to perform I/O operations Other AMP systems would allow any CPU to execute operating system code and perform I/O operations, so that they were symmetric with regard to processor roles, but attached some or all peripherals to particular CPUs, so that they were asymmetric with regard to peripheral attachment

Asymmetric multiprocessing

Multiprocessing is the use of more than one CPU in a computer system The CPU is the arithmetic and logic engine that executes user applications With multiple CPUs, more than one set of program instructions can be executed at the same time All of the CPUs have the same user-mode instruction set, so a running job can be rescheduled from one CPU to another2


  • 1 Background and history
  • 2 Burroughs B5000 and B5500
  • 3 CDC 6500 and 6700
  • 4 DECsystem-1055
  • 5 PDP-11/74
  • 6 VAX-11/782
  • 7 Univac 1108-II
  • 8 IBM System/370 model 168
  • 9 See also
  • 10 Notes
  • 11 References
  • 12 External links

Background and historyedit

For the room-size computers of the 1960s and 1970s, a cost-effective way to increase compute power was to add a second CPU Since these computers were already close to the fastest available near the peak of the price:performance ratio, two standard-speed CPUs were much less expensive than a CPU that ran twice as fast Also, adding a second CPU was less expensive than a second complete computer, which would need its own peripherals, thus requiring much more floor space and an increased operations staff

Notable early offerings by computer manufacturers were the Burroughs B5000, the DECsystem-1055, and the IBM System/360 model 65MP There were also dual-CPU machines built at universities3

The problem with adding a second CPU to a computer system was that the operating system had been developed for single-CPU systems, and extending it to handle multiple CPUs efficiently and reliably took a long time To fill the gap, operating systems intended for single CPUs were initially extended to provide minimal support for a second CPU In this minimal support, the operating system ran on the “boot” processor, with the other only allowed to run user programs In the case of the Burroughs B5000, the second processor's hardware was not capable of running "control state" code4

Other systems allowed the operating system to run on all processors, but either attached all the peripherals to one processor or attached particular peripherals to particular processors

Burroughs B5000 and B5500edit

An option on the Burroughs B5000 was “Processor B” This second processor, unlike “Processor A” had no connection to the peripherals, though the two processors shared main memory, and Processor B could not run in Control State4 The operating system ran only on Processor A When there was a user job to be executed, it might be run on Processor B, but when that job tried to access the operating system the processor halted and signaled Processor A The requested operating system service was then run on Processor A

On the B5500, either Processor A or Processor B could be designated as Processor 1 by a switch on the engineer's panel, with the other processor being Processor 2; both processors shared main memory and had hardware access to the I/O processors hence the peripherals, but only Processor 1 could respond to peripheral interrupts5 When a job on Processor 2 required an operating system service it would be rescheduled on Processor 1, which was responsible for both initiating I/O processor activity and responding to interrupts indicating completion In practice, this meant that while user jobs could run on either Processor 1 or Processor 2 and could access intrinsic library routines that didn't require kernel support, the operating system would schedule them on the latter whenever possible6

CDC 6500 and 6700edit

Control Data Corporation offered two configurations of its CDC 6000 series that featured two central processors The CDC 65007 was a CDC 6400 with two central processors The CDC 6700 was a CDC 6600 with the CDC 6400 central processor added to it

These systems were organized quite differently from the other multiprocessors in this article The operating system ran on the peripheral processors, while the user's application ran on the CPUs Thus, the terms ASMP and SMP do not properly apply to these multiprocessors


Digital Equipment Corporation DEC offered a dual-processor version of its DECsystem-1050 which used two KA10 processors89 This offering was extended to later processors in the PDP-10 line


Digital Equipment Corporation developed, but never released, a multiprocessor PDP-11, the PDP-11/74,10 running a multiprocessor version of RSX-11M11 In that system, either processor could run operating system code, and could perform I/O, but not all peripherals were accessible to all processors; most peripherals were attached to one or the other of the CPUs, so that a processor to which a peripheral wasn't attached would, when it needed to perform an I/O operation on that peripheral, request the processor to which the peripheral was attached to perform the operation11


DEC's first multi-processor VAX system, the VAX-11/782, was an asymmetric dual-processor system; only the first processor had access to the I/O devices12

Univac 1108-IIedit

The Univac 1108-II and its successors had up to three CPUs1314 These computers ran the UNIVAC EXEC 8 operating system, but it is not clear from the surviving documentation where that operating system was on the path from asymmetric to symmetric multiprocessing

IBM System/370 model 168edit

Two options were available for the IBM System/370 model 168 for attaching a second processor15 One was the IBM 3062 Attached Processing Unit, in which the second processor had no access to the channels, and was therefore similar to the B5000's Processor B or the second processor on a VAX-11/782 The other option offered a complete second CPU, and was thus more like the System/360 model 65MP

See alsoedit

  • 3B20C
  • Multi-core computing
  • Software lockout
  • Giant lock
  • Symmetric multiprocessing
  • Heterogeneous computing
  • bigLITTLE
  • Tegra 3


  1. ^ IBM December 1976 IBM System/370 System Summary PDF Seventh Edition pp 6–12, 6–15–6161 GA22·7001·6 
  2. ^ Introduction to Multiprocessing: distinguishes “symmetric” from “master/slave”
  3. ^ Early Computers at Stanford: the dual processor computer at the AI lab
  4. ^ a b "Operational Characteristics of the Processors for the Burroughs B5000" PDF Burroughs 
  5. ^ "A Narrative Description of the B5500 MCP" PDF p 18 
  6. ^ A Narrative Description of the B5500 MCP, pages 29 initiate routine and 40 a note on parallel processing
  7. ^ "CONTROL DATA 6400/6500/6600 COMPUTER SYSTEMS Reference Manual" PDF 
  8. ^ Introduction to DECsystem-10 Software, section 14 DECsystem-10 Multiprocessing
  9. ^ DECsystem-10 Technical Summary page 2-1
  10. ^ "PDP-11 Multiprocessor FAQ" 
  11. ^ a b "RSX-11M multiprocessing" PDF Digital Equipment Corporation 
  12. ^ VAX Product Sales Guide, pages 1-23 and 1-24: the VAX-11/782 is described as an asymmetric multiprocessing system in 1982
  13. ^ "Univac 1108-II announcement" PDF Sperry Rand 
  14. ^ "A history of Univac computers and Operating Systems" PDF 
  15. ^ IBM January 1976 IBM System/370 Model 168 Functional Characteristics PDF Fifth Edition GA22·7010-4 


  • Bell, C Gordon, Mudge, J Craig, McNamara John E "The PDP-10 Family" 1979 Part V of Computer Engineering: A DEC View of Hardware Systems Design Digital Equipment Corp
  • Rajkumar Buyya editor: High Performance Cluster Computing: Architectures and Systems, Volume 1, ISBN 0-13-013784-7, Prentice Hall, NJ, USA, 1999
  • Rajkumar Buyya editor: High Performance Cluster Computing: Programming and Applications, Volume 2, ISBN 0-13-013785-5, Prentice Hall, NJ, USA, 1999

External linksedit

  • OpenMP tutorial for parallel programming
  • Multicore News blog
  • History of Multi-Processing
  • Linux and Multiprocessing
  • ASOSI: Asymmetric Operating System Infrastructure, Proc 21st Conference on Parallel and Distributed Computing and Communication Systems, PDCCS 2008, New Orleans, Louisiana, pp 193-198, 2008

Asymmetric multiprocessing Information about

Asymmetric multiprocessing

Asymmetric multiprocessing
Asymmetric multiprocessing

Asymmetric multiprocessing Information Video

Asymmetric multiprocessing viewing the topic.
Asymmetric multiprocessing what, Asymmetric multiprocessing who, Asymmetric multiprocessing explanation

There are excerpts from wikipedia on this article and video

Random Posts

Social Accounts

Facebook Twitter VK
Copyright © 2014. Search Engine