Difference Between Symmetric Multiprocessing and Asymmetric Multiprocessing

Main Difference

The difference between symmetric multiprocessing and asymmetric multiprocessing is that in symmetric multiprocessing each processor run the task in an operating system whereas in asymmetric multiprocessing only a master processor run the tasks of the operating system.

Symmetric Multiprocessing vs. Asymmetric Multiprocessing

The system that has more than one processor is known as a multiprocessing system. More than two processors are added to increase the power of the computer. CPU has set of registers the process is stored in these registers. For example, if the process of addition of two numbers is made the integers will be saved in registers and the addition of number is also stored in a register. If there will be more than one process, there will be more registers than if one processor will do work and others will be free in this way the power of the computer is increased. There are types of processors such as symmetric multiprocessing and asymmetric multiprocessing. If we talk about symmetric multiprocessing, in symmetric multiprocessing the processor is free to run and can run any process whereas in the case of multithreading there is a master-salve relationship. In multiprocessing, there is an integrated memory controller that the job of the integrated memory controller is to add more memory. Symmetric multiprocessing and asymmetric multiprocessing are types of multiprocessing. If we talk about the main difference between symmetric multiprocessing and asymmetric multiprocessing then the main difference between symmetric multiprocessing and asymmetric multiprocessing is that in symmetric multiprocessing each processor run the task in an operating system.

The type of multiprocessing in which all the processor run the task in the operating system is known as symmetric multiprocessing. In asymmetric multiprocessing, there is a master-slave relationship but in symmetric multiprocessing, there is no master-slave relationship. In asymmetric multiprocessing, only a master processor run the tasks of an operating system. There are many processors in asymmetric multiprocessing that share one network. Master is one who allots a processor to the slave. Every processor predefined task to perform. In asymmetric multiprocessing master data structure is master-slave. All the system activities are controlled by the master processor. To continue the execution, there is a case where a master processor fails one processor among the slave processor is made. There can be many threads in a process, in multithreading, multiple threads are created. A thread in multithreading is a process means a code segment of a process. A thread has its own thread ID, program counter, registers, and stack. If we create separate processes for each service, then each processor share code, data and system resources. If we do not create threads, the system can get exhausted. Creating threads can make a processor easy for working. The responsiveness is increased in multithreading, and this is the best advantage of using multithreading. The big advantage of multithreading is resource sharing and in resource sharing the several threads of a process share same code. In symmetric multiprocessing, all processor communicate using shared memory. From the common ready queue, the processors start executing the processes. There can be a private queue in symmetric multiprocessing which allows the process to get executed. There can be a scheduler in symmetric multiprocessing that makes sure that no two processors execute the same time. Proper load balancing is one of the main features of symmetric multiprocessing. In symmetric multiprocessing better fault tolerance reduces the chance of CPU bottleneck. Symmetric multiprocessing is complex because memory is shared among all the processor. If a processor is a failure, then the symmetric multiprocessing results in reduced computing capacity.

Comparison Chart

Symmetric MultiprocessingAsymmetric Multiprocessing
In symmetric multiprocessing, each processor run the task in an operating systemIn asymmetric multiprocessing, only a master processor run the tasks of the operating system.
Process
In symmetric multiprocessing, the process is taken from the ready queueIn asymmetric multiprocessing, process are master-slave
Architecture
In symmetric multiprocessing, all processor have the same architectureIn asymmetric multiprocessing, all processor have different architecture
Ease
Symmetric multiprocessing is complexAsymmetric multiprocessing is easy

What is Symmetric Multiprocessing?

The type of multiprocessing in which all the processor run the task in the operating system is known as symmetric multiprocessing. In asymmetric multiprocessing, there is a master-slave relationship, but in symmetric multiprocessing, there is no master-slave relationship. In symmetric multiprocessing, all processor communicate using shared memory. From the common ready queue, the processors start executing the processes. There can be a private queue in symmetric multiprocessing which allows the process to get executed. The system that has more than one processor is known as a multiprocessing system. More than two processors are added to increase the power of the computer. CPU has set of registers the process is stored in these registers. For example, if the process of addition of two numbers is made the integers will be saved in registers and the addition of number is also stored in a register. If there will be more than one process, there will be more registers than if one processor will do work and others will be free in this way the power of the computer is increased. There are types of processors such as symmetric multiprocessing and asymmetric multiprocessing. If we talk about symmetric multiprocessing, in symmetric multiprocessing the processor is free to run and can run any process whereas in the case of multithreading there is a master-salve relationship. In multiprocessing, there is an integrated memory controller that the job of the integrated memory controller is to add more memory. There can be a scheduler in symmetric multiprocessing that makes sure that no two processors execute the same time. Proper load balancing is one of the main features of symmetric multiprocessing. In symmetric multiprocessing better fault tolerance reduces the chance of CPU bottleneck. Symmetric multiprocessing is complex because memory is shared among all the processor. If a processor is a failure, then the symmetric multiprocessing results in reduced computing capacity.

What is Asymmetric Multiprocessing?

In asymmetric multiprocessing, only a master processor run the tasks of the operating system. There are many processors in asymmetric multiprocessing that shares one network. Master is one who allots a processor to the slave. The system that has more than one processor is known as a multiprocessing system. More than two processors are added to increase the power of the computer. CPU has set of registers the process is stored in these registers. For example, if the process of addition of two numbers is made the integers will be saved in registers and the addition of number is also stored in a register. If there will be more than one process, there will be more registers than if one processor will do work and others will be free in this way the power of the computer is increased. There are types of processors such as symmetric multiprocessing and asymmetric multiprocessing. If we talk about symmetric multiprocessing, in symmetric multiprocessing the processor is free to run and can run any process whereas in the case of multithreading there is a master-salve relationship. In multiprocessing, there is an integrated memory controller that the job of the integrated memory controller is to add more memory. Every processor predefined task to perform. In asymmetric multiprocessing, the master data structure is a master-slave. All the system activities are controlled by the master processor. To continue the execution, there is a case where a master processor fails one processor among the slave processor is made.

Key Differences

  1. In symmetric multiprocessing, each processor runs the task in an operating system whereas in asymmetric multiprocessing only a master processor run the tasks of the operating
  2. In symmetric multiprocessing, the process is taken from ready queue whereas in asymmetric multiprocessing process is a master
  3. In symmetric multiprocessing all processor have the same architecture, In asymmetric multiprocessing, all processor have different architecture
  4. Symmetric multiprocessing is complex whereas Asymmetric multiprocessing is easy

Comparison Video

YouTube video
Harlon Moss

Harlon currently works as a quality moderator and content writer for Difference Wiki. He graduated from the University of California in 2010 with a degree in Computer Science. Follow him on Twitter @HarlonMoss

View all posts by Harlon Moss