Multiprocessing is the use of two or more central processing units within a single computer system. Asymmetric Multiprocessing and Symmetric Multiprocessing are two types of multiprocessing.
Asymmetric Multiprocessing system is a multiprocessor computer system where not all of the multiple interconnected central processing units (CPUs) are treated equally. In asymmetric multiprocessing, only a master processor runs the tasks of the operating system.
For example, AMP can be used in assigning specific tasks to CPU based on priority and importance of task completion.
It involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, In other words, Symmetric Multiprocessing is a type of multiprocessing where each processor is self-scheduling.
For example, SMP applies multiple processors to that one problem, known as parallel programming.
Difference Between Asymmetric and Symmetric Multiprocessing:
|Asymmetric Multiprocessing||Symmetric Multiprocessing|
|In asymmetric multiprocessing, the processors are not treated equally.||In symmetric multiprocessing, all the processors are treated equally.|
|Tasks of the operating system are done by master processor.||Tasks of the operating system are done individual processor|
|No Communication between Processors as they are controlled by the master processor.||All processors communicate with another processor by a shared memory.|
|In asymmetric multiprocessing, process are master-slave.||In symmetric multiprocessing, the process is taken from the ready queue.|
|Asymmetric multiprocessing systems are cheaper.||Symmetric multiprocessing systems are costlier.|
|Asymmetric multiprocessing systems are easier to design||Symmetric multiprocessing systems are complex to design|
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference Between Symmetric and Asymmetric Key Encryption
- Difference between Multiprocessing and Multithreading
- Difference Between Multithreading vs Multiprocessing in Python
- Difference between Multiprogramming, multitasking, multithreading and multiprocessing
- Typical Multiprocessing Configuration
- What is SMP (Symmetric Multi-Processing)?
- Difference between GCC and G++
- Difference between DML and TCL
- Difference between SDN and NFV
- Difference between SQL and T-SQL
- Difference between Hue and Pig
- Difference Between GIT and SVN
- Difference between LAN and MAN
- Difference between AIX and OS/2
- Difference between DFD and ERD
- Difference between CD and DVD
- Difference between DTE and DCE
- Difference between USB 2.0 and USB 3.0
- Difference between Tor and VPN
- Difference between SSH and SSL
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.