• Networking
  • Programming
  • DBMS
  • Operating System
  • Internet
  • Hardware
  • Software

Tech Differences

Know the Technical Differences

Difference Between Symmetric and Asymmetric Multiprocessing

symmetric-multiprocessing-vs-asymmetric-multiprocessingThere are two types of multiprocessing, Symmetric Multiprocessing and Asymmetric Multiprocessing. Multiprocessing system has more than one processor and they can execute multiple process simultaneously. In Symmetric Multiprocessing, processors shares the same memory. In Asymmetric Multiprocessing there is a one master processor that controls the data structure of the system.

The primary difference between Symmetric and Asymmetric Multiprocessing is that in Symmetric Multiprocessing all the processor in the system run tasks in OS. But, in Asymmetric Multiprocessing only the master processor run task in OS.

You can differentiate Symmetric Multiprocessor and Asymmetric Multiprocessor on some other points they are discussed in the comparison chart shown below.

Content: Symmetric Vs Asymmetric Multiprocessing

  1. Comparison Chart
  2. Definition
  3. Key Differences
  4. Conclusion

Comparison Chart

Basis for ComparisonSymmetric MultiprocessingAsymmetric Multiprocessing
BasicEach processor run the tasks in Operating System.Only Master processor run the tasks of Operating System.
ProcessProcessor takes processes from a common ready queue, or there may be a private ready queue for each processor.Master processor assign processes to the slave processors, or they have some predefined processes.
ArchitectureAll processor in Symmetric Multiprocessing has the same architecture.All processor in Asymmetric Multiprocessing may have same or different architecture.
CommunicationAll processors communicate with another processor by a shared memory.Processors need not communicate as they are controlled by the master processor.
FailureIf a processor fails, the computing capacity of the system reduces.If a master processor fails, a slave is turned to the master processor to continue the execution. If a slave processor fails, its task is switched to other processors.
EaseSymmetric Multiprocessor is complex as all the processors need to be synchronized to maintain the load balance.Asymmetric Multiprocessor is simple as master processor access the data structure.

Definition of Symmetric Multiprocessing

Symmetric Multiprocessing is one in which all the processor run the tasks in the operating system. It has no master-slave relationship like asymmetric multiprocessing. All the processors here, communicate using the shared memory.

The processors start executing the processes from the common ready queue. Each processor may also have its own private queue of ready processes to get executed. It must be taken care by the scheduler that no two processors execute the same process.

Symmetric Multiprocessing has proper load balancing, better fault tolerance and also reduces the chance of CPU bottleneck. It is complex as the memory is shared among all the processors. In Symmetric Multiprocessing, a processor failure results in reduced computing capacity.

Definition of Asymmetric Multiprocessing

Asymmetric Multiprocessing has the master-slave relationship among the processors. There is one master processor that controls remaining slave processor. The master processor allots processes to slave processor, or they may have some predefined task to perform.

The master processor controls the data structure. The scheduling of processes, I/O processing and other system activities are controlled by the master processor.

In case a master processor fails, one processor among the slave processor is made the master processor to continue the execution. In case if a slave processor fails, the other slave processor take over its job. Asymmetric Multiprocessing is simple as there only one processor that is controlling data structure and all the activities in the system.

Key Differences Between Symmetric and Asymmetric Multiprocessing

  1. The most distinguishable point between symmetric and asymmetric multiprocessing is that the tasks in OS are handled only by the master processor in Asymmetric Multiprocessing. On the other hand, all the processors in symmetric multiprocessing run the tasks in OS.
  2. In symmetric multiprocessing, each processor may have its own private queue of ready processes, or they can take processes from a common ready queue. But, in asymmetric multiprocessing, master processor assigns processes to the slave processors.
  3. All the processor in Symmetric Multiprocessing has the same architecture. But the structure of processors in asymmetric multiprocessor may differ.
  4. Processors in symmetric multiprocessing communicate with each other by the shared memory. However, the processors in Asymmetric Multiprocessing need not to communicate with each other as they are controlled by the master processor.
  5. In case, the master processor fails, a slave processor is turned to master processor to continue the execution. But, if a processor in symmetric multiprocessing fails, the computing capacity of the system is reduced.
  6. Asymmetric Multiprocessor is simple as only master processor accesses the data structure whereas, symmetric multiprocessor is complex as all the processors need to work in synchronisation.

Conclusion

Multiprocessors increase the speed of the system, as one can execute multiple processes simultaneously.  Asymmetric multiprocessing is simple, only one processor (master) can access the data structure. While Symmetric Multiprocessing is complex as the data structure is shared among all the processors and all the processor need to work in synchronization.

Related Differences:

  1. Difference Between Multiprocessing and Multithreading
  2. Difference Between Linear Queue and Circular Queue
  3. Difference Between Symmetric and Asymmetric Encryption
  4. Difference Between Stack and Queue
  5. Difference Between Loosely Coupled and Tightly Coupled Multiprocessor System

Comments

  1. Toby says

    March 15, 2018 at 9:51 am

    thank you for your wisdom mam please give me more my teacher is bad.

    Reply
  2. Jack Markman says

    March 15, 2018 at 9:59 am

    nicely written.

    Reply
  3. Carolyn matuli says

    September 21, 2018 at 12:33 pm

    Thanks a lot for the comprehensive explanation

    Reply
  4. Muazam Yar Mughal says

    January 3, 2019 at 4:20 am

    It is just amazing and nicely written by you.

    Reply
  5. Hassan Murtaza says

    March 19, 2019 at 5:29 pm

    Thank You, Madam, it is really helpful to understand these overlapping concepts.

    Reply
  6. koti says

    July 6, 2019 at 10:07 am

    Thank You, Madam, it is really helpful to understand these overlapping concepts.

    Reply
  7. Seiko Santana says

    October 2, 2019 at 5:52 am

    When the master processor fails, will it crash the system?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Top 10 Differences

  • Difference Between OLTP and OLAP
  • Difference Between while and do-while Loop
  • Difference Between Guided and Unguided Media
  • Difference Between Preemptive and Non-Preemptive Scheduling in OS
  • Difference Between LAN, MAN and WAN
  • Difference Between if-else and switch
  • Difference Between dispose() and finalize() in C#
  • Difference Between for and while loop
  • Difference Between View and Materialized View
  • Difference Between Server-side Scripting and Client-side Scripting

Recent Addition

  • Difference Between Java and Python
  • Difference Between PHP and HTML
  • Difference Between GPS and GNSS 
  • Difference Between Virtualization and Containerization
  • Difference Between Storage and Memory

Categories

  • Artificial Intelligence
  • DBMS
  • Hardware
  • Internet
  • Networking
  • Operating System
  • Programming
  • Software

Copyright © 2025 · Tech Differences · Contact Us · About Us · Privacy