written 2.7 years ago by |
Multiprocessor :-
What Does Multiprocessor Mean ?
A multiprocessor is a computer system with two or more central processing units (CPUs), with each one sharing the common main memory as well as the peripherals. This helps in simultaneous processing of programs.
The key objective of using a multiprocessor is to boost the system’s execution speed, with other objectives being fault tolerance and application matching.
A good illustration of a multiprocessor is a single central tower attached to two computer systems. A multiprocessor is regarded as a means to improve computing speeds, performance and cost-effectiveness, as well as to provide enhanced availability and reliability.
Communication architecture of a multiprocessor :-
Message Passing
- Independent address space for every processor
- Processor communication by means of message passing
- Processors include private memories
- Concentrates attention on high-priced, non-local operations
Shared Memory
- Processor communication is done by means of a shared address space
- Processor communication is done by means of shared memory read/write
- Convenient on small-scale devices
- Lower latency
- Non-uniform memory access (NUMA) or symmetric multiprocessing (SMP)
Types of Multiprocessor :-
Symmetric Multiprocessors - In these types of systems, each processor contains a similar copy of the operating system and they all communicate with each other. All the processors are in a peer to peer relationship i.e. no master - slave relationship exists between them. An example of the symmetric multiprocessing system is the Encore version of Unix for the Multimax Computer.
Asymmetric Multiprocessors - In asymmetric systems, each processor is given a predefined task. There is a master processor that gives instruction to all the other processors. Asymmetric multiprocessor system contains a master slave relationship. Asymmetric multiprocessor was the only type of multiprocessor available before symmetric multiprocessors were created. Now also, this is the cheaper option.
Advantages of Multiprocessor Systems :-
There are multiple advantages to multiprocessor systems. Some of these are −
More reliable Systems - In a multiprocessor system, even if one processor fails, the system will not halt. This ability to continue working despite hardware failure is known as graceful degradation. For example: If there are 5 processors in a multiprocessor system and one of them fails, then also 4 processors are still working. So the system only becomes slower and does not ground to a halt.
Enhanced Throughput - If multiple processors are working in tandem, then the throughput of the system increases i.e. number of processes getting executed per unit of time increase. If there are N processors then the throughput increases by an amount just under N.
More Economic Systems - Multiprocessor systems are cheaper than single processor systems in the long run because they share the data storage, peripheral devices, power supplies etc. If there are multiple processes that share data, it is better to schedule them on multiprocessor systems with shared data than have different computer systems with multiple copies of the data.