Open In App

Difference between Asymmetric and Symmetric Multiprocessing

Last Updated : 16 Sep, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Multiprocessing is a method which makes a computer system to have more than one processor for enhancement of performance as well as dependability. There are two main types of multiprocessing: The two related subcategories of multiprocessing are Asymmetric Multiprocessing (AMP) and Symmetric Multiprocessing (SMP). The main difference between them is that the tasks are partitioned in the coordinated manner between processors and the communications between them. This article will therefore discuss on these differences giving clear descriptions on how they work, their strengths and weaknesses. 

What is Asymmetric Multiprocessing (AMP)?

Asymmetric Multiprocessing (AMP) is a multiprocessing structure wherein one processor called the master processor controls the other subordinate processors also known as the slave processors. In this configuration, all OS activities and tasks scheduling is done by the master processor of the system.

Advantages of Asymmetric Multiprocessing (AMP)

  • Simplified Control: Another advantage is that there is a single master processor who handles the task of scheduling so as to ensure co-ordination of tasks.
  • Reduced Resource Conflicts: This is made possible since only the master processor communicates with the operating system hence the conflicts between the processors are low.
  • Specialized Processors: Some processors can be set aside to handle certain operations resulting in better performance for certain select tasks.

Disadvantages of Asymmetric Multiprocessing (AMP)

  • Single Point of Failure: Correspondingly, the operations of the system are largely contingent upon the master processor. When computer is splitter into master and other processors, if the master does not work, then the entire system can be non-operational.
  • Limited Scalability: More processor nodes may not bring about the desired leaps in performance owing to the fact that the master processor becomes the center of processing.
  • Less Efficient Resource Utilization: Other subordinate processors may even remain idle due to the inability of master processor to assign tasks appropriately.

What is Symmetric Multiprocessing (SMP)?

Symmetric multiprocessing (SMP) is a multiprocessors system where multiple processors are installed and have an equal access to the system and memory resources of the system. Every processor works individually, while doing its work and communicating with the operating system.

Advantages of Symmetric Multiprocessing (SMP)

  • Better Resource Utilization: Each processor is able to work on a particular task and share the work load hence enhancing the performance.
  • Scalability: Additional processors can also be added to SMP systems hence they have a good potential for scaling.
  • Fault Tolerance: Due to the notion of distributed processing, where no single processor has control of the entire system, failure of one processor does not result in failure of the entire system.

Disadvantages of Symmetric Multiprocessing(SMP)

  • Complex Scheduling: Tasks distribution among the multiple processors might be more challenging than the simple division of data among the cores and can involve logical functions of scheduling.
  • Resource Contention: Several processors might run for the same memory or I/O thus they might experience contention.
  • Increased Hardware Costs: SMP systems call for more elaborate hardware meant for the shared access between the processors and the memory and other system assets.

Difference Between Asymmetric and Symmetric Multiprocessing

S. No.Asymmetric MultiprocessingSymmetric 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.

Conclusion

Asymmetric and Symmetric multiprocessing both have different architectures and provide their own set of advantages and disadvantage. AMP is easier to set up but may have a problem with scalability and fault tolerance in comparison to SMP where its better for performance and scalability but again needs more management and hard ware in comparison with AMP. If the systems have to address various needs such as performance, fault–tolerance, or scalability, it has to be noted that the choice between using AMP or SMP will have to be based on each of these parameters.


Next Article

Similar Reads