The computer systems that have more than two processors built inside of them for simultaneous processing of all processors is called a multiprocessor while multicomputer is built by connecting two or more processors in order to work jointly for solving problems. Computers having any of these two types of processors have their own pros and cons that will be discussed here briefly. Multiprocessors are fast and are easier to process while multicomputer is less easy to program. Parallel computing is performed by multiprocessor while distributed computing is performed in multicomputer. It is more complex and costly to build a multiprocessor while it is less costly to build a multicomputer.
Comparison between Multicomputer and multiprocessors
|Definition||Multicomputer are a kind of system that are collection of several computers connected together through a network.||When in a single computer two or more than two CPUs are enclosed in such a way that they share the same system buses and other I/O devices then it becomes a multiprocessor computer.
|Programming of processors||Programming of multicomputer is pretty difficult as distributed computing is used in this type of systems.
|Programming of such systems is pretty easy as compared to that of multicomputer.
|Type of computing||Distributive computing is used in multicomputer||Parallel computing is used in multiprocessor systems.|
|Cost||Cost of such systems is lesser as compared to that of multiprocessing systems.||Cost of such systems is high as parallel computing technique is used in such systems.|
|Disadvantages||Programming of such systems takes more time and effort.||They have a complex structure hence their setup is difficult as compared to multicomputer.|
Multiprocessors and multicomputer are described completely below:
When in a single computer two or more than two CPUs are enclosed in such a way that they share the same system buses and other I/O devices then it becomes a multiprocessor computer.
Sometimes there is a lot of burden/load on the computer CPU because of which only one CPU cannot handle that load, so we have to build multiprocessor computers in order for the computer to work smoothly even with the heavy load on it. On the whole architecture of the computer, only the number of CPUs is increased and the rest of the structure such as computer buses, memory and other I/O devices remains the same in number so we can achieve more speed power.
There are two types of multiprocessors that are Symmetric and Asymmetric multiprocessors.
- Symmetric Multiprocessing:
When a single OS controls all the processors and there is no master and no slaves. All kinds of busses, peripheral devices and I/O devices are accessible by all the CPUs then this is called symmetric multiprocessing. In other words, we can say that all CPUs have equal rights to access anything in computer architecture.
- Asymmetric Multi-Processing:
On the opposite to symmetric multiprocessing, we may design a system architecture in such a way that one processor be the master while the rest be the slaves. Master will decide that what type of task can be performed on what processors. For example, it may be decided to let the system tasks be handled by one processor and other remaining application tasks by the other processors. This type of architecture is easy to design but less efficient.
Pros/advantages of Multiprocessing
Although being less efficient, there are many pros of asymmetric multiprocessing. It helps in getting increased throughput. Throughput is defined as the number of processes handled by the processor per unit time. Increased throughput is certainly to be achieved as there are multiple processors and every processor has different processes to handle. Hence processes are handled quickly and increased throughput is achieved.
This technique provides increased reliability. Increased reliability here can also be referred as graceful degradation. It means that if the number of working processors degrades, other processors are free to take the place and continue the task as usual. Hence, this way increased reliability is achieved. This example can be understood in a way that if we assume that a room has four bulbs and one of them stops working. Even then there would be three more bulbs left to give light and hence there would not be darkness in the room unless that all the four bulbs stop working.
Another advantage of asymmetric multiprocessing is that it is less costly. As it is already discussed that in multiprocessing only the number of CPU is increased while the remaining architecture of computer remains the same, hence it is cost effective as well. No additional buses or I/O devices are needed to be installed in the system to achieve multiprocessing.
Battery efficient is also another big advantage of multiprocessing. It is because there are many numbers of CPUs and at a time if there is less load, so only one or few numbers of CPUs will be working not all. Hence, in this way battery is not consumed unnecessarily.
Parallel processing is also achieved in multiprocessing. As there are a greater number of CPUs, the processes can be handled in parallel to each other. Processes do not usually have to wait to get the processor space when there are a greater number of CPUs present in a computer architecture.
Programming of such systems is pretty easy as compared to that of multicomputer.
Cons/disadvantages of Multiprocessing
Although there are many advantages of multiprocessing, but still there are many disadvantages of multiprocessing as well. Some of these disadvantages are discussed here:
In multiprocessing, the architecture of the system gets more complex and hence it is more difficult to build. Another disadvantage is that it requires more main memory space as multiple CPUs have to share the memory space. Due to overhead or coupling throughput may get reduced. That is another disadvantage of it.
Multicomputer are a kind of system that are collection of several computers connected together through a network. These autonomous computers may or may not communicate with each other. All the autonomous components have their own Operating systems installed in them for example Intel, XP etc. Distributed computing is implemented in such type of systems.
This is like that we pick up many computers and put them within a single computer. That makes a multicomputer. These computers are less easy to be programmed as compared to that of Multiprocessors because distributed computing technique is applied in this kind of structure. This is more cost effective to build.
Pros/advantages of Multicomputer
It is easy to setup and very cost effective as well.
Cons/disadvantages of Multicomputer
Programming of multicomputer is pretty difficult as distributed computing is used in this type of systems.
Summary for comparison
Concluding the discussion, we can say that multiprocessing is more efficient technique as compared to multicomputer. Multicomputer are more difficult to program and easy to setup. Multiprocessors are easy to program but difficult to setup. If one talks about lesser cost, then multicomputer are a good option because they are cheaper than multiprocessing. Multiprocessing systems use parallel computing while multicomputer use distributive computing technique. In parallel processing, processes do not have to wait for execution as multiple processors are working in parallel and if one processor is busy completing one work, other processes/tasks can be handled by remaining processors that are not working at that time. This type of technique is not used in distributive computing.