Advertisement

Multi Processing functions and requirements

Multi-Processing

Systems that have more than one CPU are called “Multi-processing System”. In multiprocessing systems, CPU shares the computer bus and sometimes memory and I/O devices etc. 
Multi-processor systems are more reliable and fast as compared to the systems that cannot do multiprocessing. The speed-up ratio with N processors is not N, but less than N. When multiple processors process the tasks, then many overheads are to be catered in order to keep the process working correctly, so this catering of overheads lowers the expected results.
multiprocessing operating system advantages and disadvantages
Multiprocessor systems are reliable in the sense that system will not halt or crash on failing a processor, but will only slow down the speed. Suppose a multiprocessor system has ten processors and one out of ten fails, then remaining nine processors will pick up the share of the work of the failed processor, so the entire system will run only 10 percent slow, instead of failing altogether.

Graceful Degradation

"The ability to keep providing services even when a hardware failure occurs is called Graceful Degradation."

Fail-Soft

The system that is designed for graceful degradation is also called Fail-Soft.
There are two techniques that are mostly used in multiprocessing systems.

Difference between symmetric and asymmetric multiprocessing in operating system

q  Symmetric Multiprocessing.

q  Asymmetric Multiprocessing.


In Symmetric Multiprocessing, each processor runs a copy of the Operating System and these copies communicate with each other when needed. Encore’s version of Unix for Multimax Computers uses Symmetric Multiprocessing. This computer has many processors and each processor runs a copy of Unix. The benefit here is that all processes can run at once ( N processes can run at the same time when there are N CPU’s ) without causing a deterioration in performance. In such systems I/O’s need to be controlled carefully to ensure that data reaches the appropriate processor.
Inefficiencies may occur, as CPU’s are separate, one may be sitting idle while another is overloaded. In order to avoid such kind of inefficiencies, Multiprocessing system should allow the jobs are resources etc to be shared among various processors. These kind of systems are very delicate and should be written carefully.

In Asymmetric Multiprocessing, each processor is assigned a specific task. The processor that controls the system is called the master processor and it gives instructions to the slave processors. So, in Asymmetric multiprocessing, we have the master-slave relationship. Master processor schedules and allocates work to the slave processors.

Asymmetric multiprocessing is normally used in very large systems where most time-consuming activities are processing of I/O’s.