Multiprocessing is the use of two or more central processing units within a single computer system. Asymmetric Multiprocessing and Symmetric Multiprocessing are two types of multiprocessing.
Asymmetric Multiprocessing system is a multiprocessor computer system where not all of the multiple interconnected central processing units (CPUs) are treated equally. In asymmetric multiprocessing, only a master processor runs the tasks of the operating system.
For example, AMP can be used in assigning specific tasks to CPU based on priority and importance of task completion.
It involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, In other words, Symmetric Multiprocessing is a type of multiprocessing where each processor is self-scheduling.
For example, SMP applies multiple processors to that one problem, known as parallel programming.
Difference Between Asymmetric and Symmetric Multiprocessing:
Asymmetric Multiprocessing Symmetric Multiprocessing In asymmetric multiprocessing, the processors are not treated equally. In symmetric multiprocessing, all the processors are treated equally. Tasks of the operating system are done by master processor. Tasks of the operating system are done individual processor No Communication between Processors as they are controlled by the master processor. All processors communicate with another processor by a shared memory. In asymmetric multiprocessing, process are master-slave. In symmetric multiprocessing, the process is taken from the ready queue. Asymmetric multiprocessing systems are cheaper. Symmetric multiprocessing systems are costlier. Asymmetric multiprocessing systems are easier to design Symmetric multiprocessing systems are complex to design
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.