Most computer systems are single processor systems but multiprocessor systems are increasing in importance nowadays. These systems have multiple processors working in parallel that share the computer clock, memory, bus, peripheral devices etc.
There are mainly two types of multiprocessor systems. These are:
- Symmetric Multiprocessor System
- Asymmetric Multiprocessor System
In symmetric multiprocessing, multiple processors share a common memory and operating system. All of these processors work in tandem to execute processes. The operating system treats all the processors equally, and no processor is reserved for special purposes.
Features of Symmetric Multiprocessing (SMP)
Some of the key points about symmetric multiprocessing are explained with the help of the following diagram:
Let us see the points one by one:
- Symmetric multiprocessing is also known as tightly coupled multiprocessing as all the CPU’s are connected at the bus level and have access to a shared memory.
- All the parallel processors in symmetric multiprocessing have their private cache memory to decrease system bus traffic and also reduce the data access time.
- Symmetric multiprocessing systems allow a processor to execute any process no matter where its data is located in memory. The only stipulation is that a process should not be executing on two or more processors at the same time.
- In general, the symmetric multiprocessing system does not exceed 16 processors as this amount can be comfortably handled by the operating system.
Uses of Symmetric Multiprocessing
Some of the uses of symmetric multiprocessing are as follows:
- Symmetric multiprocessing is useful for time sharing systems as these have multiple processes running in parallel. So, these processes can be scheduled on parallel processors using symmetric multiprocessing.
- Symmetric processing is not that useful in personal computers unless multithreaded programming is taken into account. The multiple threads can be scheduled on the parallel processors.
- Time sharing systems that use multithreading programming can also make use of symmetric multiprogramming.
Advantages of Symmetric Multiprocessing
Some advantages of symmetric multiprocessing are:
- The throughput of the system is increased in symmetric multiprocessing. As there are multiple processors, more processes are executed.
- Symmetric multiprocessing systems are much more reliable than single processor systems. Even if a processor fails, the system still endures. Only its efficiency is decreased a little.
Disadvantages of Symmetric Multiprocessing
Some disadvantages of symmetric multiprocessing are:
- The operating system handles all the processors in symmetric multiprocessing system. This leads to a complicated operating system that is difficult to design and manage.
- All the processors in symmetric multiprocessing system are connected to the same main memory. So a large main memory is required to accommodate all these processors.
Published on 16-Aug-2018 13:12:56