Real Smart Computers: Parallel Processing Systems
A program is always divided into number of modules, at the time of execution each module is run by a processor separately at the range of one module at time. This type of execution is time consuming and takes unpredictable time period to complete the execution of large programs which is divided in to more numbers of modules. This type of program execution is called serial or sequential processing. Limitation with serial processing paved the way to construct alternate Processing Systems.
Alternate Processing Systems to overcome shortcoming of serial processing:
The capacity of the system to process more than one module simultaneously is called Parallel processing systems. Hence it will complete the execution very fast even though it is a very large program with plenty of modules. Results delivered in quick manner.
Working of Parallel Processing System
As we know programs are fragmented in to different parts and in the concept of parallel processing those fragments are executed by its own processor. Arithmetic logical operations, Read & Write operations, Control Statements and loop statements are the basic division of task and it’s divided through coding. Arithmetic and logical operations are performed by Arithmetic Processor. Read & Write operations are performed by I/O Processor. Like wise separate processors are assigned to each task. In the concept of parallel processing ‘n’ processors are involved for the execution of program which in turn a system became ‘n’ times faster than a serial processor.
The working of parallel processing could be understand with the practical example below
In bank there are number of counter for different purposes. If there is only one counter for all purpose obviously we have to spend time in queue to fulfill our need in the bank. So with number of counters our needs can be got completed in the respective counter very soon than with single counter.
Here the counters are processor the queues are tasks to be get complete. This is exactly what happening in parallel processing. Parallel processing is beneficial for all kinds of program because of concurrent executions of all modules. There is no need for one processor to wait for another processor. Each processor has its own task to be executed.
The other example is human brain. The things captured by brain are divided into components and those divisions are processed by memory corresponding to the captured thing. Here memory units are the processors and components are tasks. In nature, brain resolves action very fast than computer so brain is very powerful when comparing to machine. Real smart Computers are machine with the ability to do parallel execution.
Parallel Processing Systems:
The following are the real time examples of parallel processing:
1) Implementation for Underwater Acoustic Communication
After the real-time processing demands of underwater acoustic communication algorithms, a real-time parallel processing system with multi-channel synchronous sample consisting of multiple ADSP-TS101s is designed and implemented out. For The hardware design, Field Programmable Gate Array (FPGA) logic control is for the design of multi-channel synchronous sample module and cluster / data flow associated pin port mode is used for multiprocessing parallel processing or configuration. And the software is optimized by two types of communication possibilities: Broadcast writing through common bus and point-to-point link through ports. Through the entire system installation, connective tissue debugging, and experiments in a lake, the results show that real-time parallel processing system has a good stability and real-time processing capability and meets the technical requirements of real-time processing.
2) Imaging System for Radio Astronom
ACSIS (autocorrelation spectrometers Imaging System) is a real-time data acquisition and reduction system for use with a 16 pixel receiver at the James Clerk Maxwell Telescope on Mauna Kea, Hawaii. At peak times speed, correlate to each recipient will be a delay autocorrelation array of 8192 floating point numbers every 50 ms, or 10 / 5 MB of data per second. The ACSIS reduction LAG system converts raw data into calibrated radio-frequency spectrum as the data obtained. In mapping modes, these spectra are further inserted into a 3-dimensional data cube picture of the aircraft as a function of radio frequency. The decline calibrated data system should be of sufficient quality that further off-line processing is not required.
Advantages of Parallel Processing:
- Reduce the time to complete execution of particular program
- Solution computation done at cheap range
- Local and Non local resources can be accessed effectively.
- Constrained memory.
The challenges involved in parallel processing are below:
- Task should be prearranged accordingly so that they can be executed at a time
- The serialization of task to be executed should in control and must be maintained
Programming Models to approach Parallel Processing:
The four basic models are:
- SISD (Single Instruction, Single Data)
- MISD (Multiple Instructions, Single Data)
- SIMD (Single Instruction, Multiple Data)
- MIMD (Multiple Instructions, Multiple Data)
- Parallel Processing consume less time.
- Debugging software is complicated
- Automatic Parallelization tools are added advantage.
- More CPU is used by parallelism overhead.
- Suitable architecture must be applied for given application.