Difference between Asymmetric and Symmetric Multiprocessing


In asymmetric multiprocessing, all the processors are not identical and they follow a master-slave relationship; whereas in symmetric multiprocessing, all the processors are identical and they share the main memory.

Read this tutorial to find out more about asymmetric and symmetric multiprocessing, and how they are different from each other. Let's start with a basic overview of asymmetric multiprocessing.

What is Asymmetric Multiprocessing?

Asymmetric multiprocessing is the use of two or more processors handled by one master processor. All CPUs are interconnected but are not self-scheduling. It is used to schedule specific tasks to a CPU based on priority and importance of task.

Asymmetric multiprocessing refers to a type of computer architecture in which there are multiple processors, but they are not all the same. This means, one CPU might be handling the operating system codes while another CPU is performing inputting and outputting jobs.

Asymmetric multiprocessing systems are often used in embedded systems where specific tasks need to be performed concurrently, but the system does not require the same level of general-purpose computing power as a symmetric multiprocessing system.

What is Symmetric Multiprocessing?

Symmetric multiprocessing refers to a type of computer architecture in which two or more processors are connected to a shared main memory, and are able to work together to perform tasks. These processors are generally identical and are able to run any task that is assigned to them. This allows for improved performance, as tasks can be divided among the processors, allowing them to be completed more quickly.

Symmetric multiprocessing applies multiple CPUs to a task to complete in parallel and faster fashion. Therefore, in the symmetric multiprocessing system, two or more CPUs are connected to a shared main memory. Also, all these CPUs have full access to the input and output devices. In symmetric multiprocessing, the operating system considers all the processors equal.

A symmetric multiprocessing system is a tightly-coupled multiprocessor system which has a collection of identical CPUs operating independently. Each CPU processes different programs and executes different sets of data. Symmetrical multiprocessing systems share common resources like input devices, output devices, memory, etc.

Difference between Asymmetric and Symmetric Multiprocessing

The following table highlights all the important differences between asymmetric and symmetric multiprocessing −

Key

Asymmetric Multiprocessing

Symmetric Multiprocessing

CPU

All processors are not equal in precedence.

All processors are same in precedence.

OS Task

OS task is done by master processor.

OS task can be done by any processor.

Communication Overhead

No communication overhead between processors as they are controlled by master processor.

All processor communicates to each other using shared memory.

Process Scheduling

Master-Slave approach is used.

A ready queue of processes is used.

Cost

Asymmetric multiprocessing is cheaper to implement.

Symmetric multiprocessing is costlier to implement.

Design Complexity

Asymmetric multiprocessing is simpler to design.

Symmetric multiprocessing is complex to design.

Conclusion

The most significant difference that you should note here is that, in asymmetric multiprocessing, all the processors are not equal in precedence; while in symmetric multiprocessing, all the processors are same in precedence.

Updated on: 11-Jan-2023

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements