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|
- Difference Between Symmetric and Asymmetric Key Encryption
- Difference between Multiprocessing and Multithreading
- Difference between Multiprogramming, multitasking, multithreading and multiprocessing
- Typical Multiprocessing Configuration
- Difference between LAN, MAN and WAN
- Difference between CD and DVD
- Difference between MP4 and MP3
- Difference between ++*p, *p++ and *++p
- Difference between LAN and WAN
- Difference between PNG and GIF
- Difference between LED and LCD
- Difference between WCF and Web API
- What is the difference between GUI and CUI?
- Difference between JSP and ASP
- Difference between CLI and GUI
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.