Parallel Processing Definition
Understanding the essence of the parallel processing Definition is very important due to the use of parallelization in handling big data challenges. An interesting book that includes the definitions here can be found in Advanced Computer Architecture: Parallelism, Scalability, Programming by K. Hwang published by McGraw-Hill. Although the book was published in 1993 we can still observe that the clear definitions and Claims in the book are valid today.
The definition in the book basically starts with explaining the principles of parallel processing: ‘The principles of parallel processing include parallel computer models, scalability analysis, theory of parallelism, data dependences, program flow mechanisms, network topologies, benchmark measures, performance laws, and program behaviors.’ Especially today the Focus is often set on the data dependences and the challenges that arise when performing parallel Input/Output (I/O).
With the understanding of the principles above it is further important to look at the technology side. In this context the book defines it as follows: ‘Parallel processing has emerged as a key enabling technology in modern computers, driven by the ever-increasing demand for higher performance, lower costs, and sustained productivity in real-life applications. Concurrent events are taking place in today’s high-performance computers due to the common practice of multiprogramming, multiprocessing, or multicomputing.’ This part of the definition reveals that it is close to concurrency aspects and parallel computing.
Being a fantastic technology it is important to consider that parallel processing is based on many other technology advances. Many of them have been driven in science and Engineering but not only in academic environments but also in business and commercial sectors. The book defines this as follows: ‘The technology of parallel processing is the outgrowth of four decades of research and industrial advances in microelectronics, printed circuits, highdensity packaging, advanced processors, memory systems, peripheral devices, communication channels, language evolution, compiler sophistication, operating systems, programming environments, and application challenges.’ Given this parallel processing definition above it becomes clear that this technology is build on top of many other technologies. As a consequence a precise definition varies between different organizations, vendors, and experts. But the book however can be still considered as a citing reference for it.
More about the Parallel Processing Definition
We recommend to look the following video as well: