Javatpoint Logo
Javatpoint Logo

Difference between Symmetric and Asymmetric Multiprocessing in Operating System

The CPU is a key part of the computer system. It performs mathematical and logical procedures as well as input-output tasks. Additionally, it produces signals to synchronize the operations of other parts. Asymmetric and symmetric multiprocessing is the two different types of multiprocessing. A multiprocessing system contains more than one processor and can run numerous processes simultaneously. All CPUs share the same memory in symmetric multiprocessing. In Asymmetric Multiprocessing, a single master processor controls the system's data structure.

In this article, you will learn about the difference between symmetric and asymmetric multiprocessing in the operating system. But before discussing the differences, you must know about the symmetric and asymmetric multiprocessing in the operating system.

What is Symmetric Multiprocessing?

Symmetric multiprocessing refers to the use of all processors to conduct OS tasks. It doesn't have a master-slave relationship like asymmetric multiprocessing, and the shared memory is used to communicate by all processors here. The processors start processes from the standard ready queue, and every CPU might have its private queue of ready-to-execute programs. The scheduler must ensure that no two CPUs run the same task simultaneously.

Symmetric Multiprocessing provides proper load balancing, improved fault tolerance, and decreases the possibility of a CPU bottleneck. It is complicated since the entire CPUs share a memory, and a processor failure in Symmetric Multiprocessing reduces computing capacity.

What is Asymmetric Multiprocessing?

The processors in asymmetric multiprocessing have a master-slave relationship, with one master processor controlling the other slave processors. The slave processors may receive specified tasks from the master processor or receive processes from the master processor. The master processor manages the data structure. The master processor manages the scheduling of processes, I/O processing, and other system operations.

If a master processor fails, one of the slave processors assumes control of the execution. If one slave processor fails, the other slave processor takes over. It is simple since the data structure and a single processor controls all system actions. Assume there are four CPUs named C1, C2, C3, and C4. C4 is the master processor and allocates tasks to the other CPUs. If C1 is assigned process P1, C2 is assigned process P2, and C3 is assigned process P3. Each processor will only work on the processes that have been assigned to them.

The key difference between the Symmetric and Asymmetric Multiprocessing

Difference between Symmetric and Asymmetric Multiprocessing in Operating System

There are various key differences between Symmetric and Asymmetric Multiprocessing in the operating system. Some main differences between Symmetric and Asymmetric Multiprocessing in the operating system are as follows:

  1. Symmetric multiprocessing occurs when many processors work together to process programs using the same OS and memory. On the other hand, asymmetric multiprocessing refers to programs' master-slave processing by many processors.
  2. Every CPU in symmetric multiprocessing can either takes processes from a shared ready queue or its private queue of ready tasks. In contrast, the master processor delegated tasks to the slave processors in asymmetric multiprocessing.
  3. Processors communicate with one another in symmetric multiprocessing through shared memory. On the other hand, the processors in Asymmetric Multiprocessing do not need to communicate with one another because the master processor controls them.
  4. Asymmetric multiprocessors are easy as only the master processor accesses the data structure. On the other hand, symmetric multiprocessors are hard since all processors must function in synchronization.
  5. The architecture of all Symmetric Multiprocessing processors is the same. On the other hand, the processor structure in an asymmetric multiprocessor may differ.
  6. Each CPU in symmetric multiprocessing may either draw from a shared ready queue or have a private queue of ready processes all to themselves. On the other hand, Asymmetric multiprocessing assigns processes to slave processors.
  7. Asymmetric multiprocessing systems are also less expensive than symmetric multiprocessing systems.
  8. In addition, asymmetric multiprocessing systems are easier to create and maintain than symmetric ones.

Head-to-head comparison between the Symmetric and Asymmetric Multiprocessing

There are various head-to-head comparisons between Symmetric and Asymmetric Multiprocessing. Some differences between Symmetric and Asymmetric Multiprocessing are as follows:

Features Symmetric Multiprocessing Asymmetric Multiprocessing
Definition Symmetric multiprocessing occurs when many processors work together to process programs using the same OS and memory. The processing of programs by several processors in a master-slave arrangement is known as asymmetric multiprocessing.
Basic Each CPU executes the OS operations. The Master processor only carries out the OS functions.
Ease Symmetric Multiprocessors are difficult to understand since all of the processors must be synchronized to maintain load balance. The master processor has access to the data structure.
Processor All processors use a common ready queue, or each may have its private ready queue. The master processor assigns the slave processors processes, or they have some predefined tasks.
Communication Shared memory allows all processors to communicate with one another. Processors do not need to communicate because the master processor controls them.
Architecture SMP processors all have the same architecture. Asymmetric Multiprocessing processors can have the same or different architecture.
Failure When a CPU Fails, the system's computing capacity decreases. If a master processor fails, control is passed to a slave processor. If a slave processor fails, the task is passed to a different processor.
Cost It is costly in comparison to Asymmetric Multiprocessing. It is cheaper than Symmetric Multiprocessing.

Conclusion

A multiprocessing system may be either symmetric or asymmetric. The primary distinction between symmetric and asymmetric multiprocessing is that the processors in symmetric multiprocessing are similar and share the main memory. In contrast, Asymmetric multiprocessing uses processors that are not identical and function on a slave-master basis.







Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA