Open In App

Difference between Asymmetric and Symmetric Multiprocessing

Last Updated : 21 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Multiprocessing is the use of two or more central processing units within a single computer system. Work should be able to be distributed evenly among the system’s available CPUs in a multiprocessing system that is effective. Parallel computations are made possible by multiprocessor systems. Asymmetric Multiprocessing and Symmetric Multiprocessing are two types of multiprocessing. 

Asymmetric 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. 

The processors in this instance are in a master-slave relationship. While the other processors are viewed as slave processors, one serves as the master or supervisor process.

In this system, the master processor is responsible for assigning tasks to the slave processor.
For example, AMP can be used in assigning specific tasks to the CPU based on the priority and the importance of task completion. 

The disadvantage of this kind of multiprocessing system is the unequal load placed on the processors. While the other processors might be idle, one CPU might have a huge job queue.

Symmetric Multiprocessing: 
It involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, and 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: 

S. No. Asymmetric Multiprocessing Symmetric Multiprocessing
1. In asymmetric multiprocessing, the processors are not treated equally. In symmetric multiprocessing, all the processors are treated equally.
2. Tasks of the operating system are done by master processor. Tasks of the operating system are done individual processor.
3. No Communication between Processors as they are controlled by the master processor. All processors communicate with another processor by a shared memory.
4. In asymmetric multiprocessing, process scheduling approach used is master-slave. In symmetric multiprocessing, the process is taken from the ready queue.
5. Asymmetric multiprocessing systems are cheaper. Symmetric multiprocessing systems are costlier.
6. Asymmetric multiprocessing systems are easier to design. Symmetric multiprocessing systems are complex to design.
7. All processors can exhibit different architecture. The architecture of each processor is the same.
8. It is simple as here the master processor has access to the data, etc. It is complex as synchronization is required of the processors in order to maintain the load balance.
9. In case a master processor malfunctions then slave processor continues the execution which is turned to master processor. When a slave processor fails then other processors take over the task. In case of processor failure, there is reduction in the system’s computing capacity.
10. It is suitable for homogeneous or heterogeneous cores. It is suitable for homogeneous cores.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads