Parallel Processing, 1980 to 2020


Book Description

This historical survey of parallel processing from 1980 to 2020 is a follow-up to the authors’ 1981 Tutorial on Parallel Processing, which covered the state of the art in hardware, programming languages, and applications. Here, we cover the evolution of the field since 1980 in: parallel computers, ranging from the Cyber 205 to clusters now approaching an exaflop, to multicore microprocessors, and Graphic Processing Units (GPUs) in commodity personal devices; parallel programming notations such as OpenMP, MPI message passing, and CUDA streaming notation; and seven parallel applications, such as finite element analysis and computer vision. Some things that looked like they would be major trends in 1981, such as big Single Instruction Multiple Data arrays disappeared for some time but have been revived recently in deep neural network processors. There are now major trends that did not exist in 1980, such as GPUs, distributed memory machines, and parallel processing in nearly every commodity device. This book is intended for those that already have some knowledge of parallel processing today and want to learn about the history of the three areas. In parallel hardware, every major parallel architecture type from 1980 has scaled-up in performance and scaled-out into commodity microprocessors and GPUs, so that every personal and embedded device is a parallel processor. There has been a confluence of parallel architecture types into hybrid parallel systems. Much of the impetus for change has been Moore’s Law, but as clock speed increases have stopped and feature size decreases have slowed down, there has been increased demand on parallel processing to continue performance gains. In programming notations and compilers, we observe that the roots of today’s programming notations existed before 1980. And that, through a great deal of research, the most widely used programming notations today, although the result of much broadening of these roots, remain close to target system architectures allowing the programmer to almost explicitly use the target’s parallelism to the best of their ability. The parallel versions of applications directly or indirectly impact nearly everyone, computer expert or not, and parallelism has brought about major breakthroughs in numerous application areas. Seven parallel applications are studied in this book.




Parallel Evolution of Parallel Processors


Book Description

Study the past, if you would divine the future. -CONFUCIUS A well written, organized, and concise survey is an important tool in any newly emerging field of study. This present text is the first of a new series that has been established to promote the publications of such survey books. A survey serves several needs. Virtually every new research area has its roots in several diverse areas and many of the initial fundamental results are dispersed across a wide range of journals, books, and conferences in many dif ferent sub fields. A good survey should bring together these results. But just a collection of articles is not enough. Since terminology and notation take many years to become standardized, it is often difficult to master the early papers. In addition, when a new research field has its foundations outside of computer science, all the papers may be difficult to read. Each field has its own view of el egance and its own method of presenting results. A good survey overcomes such difficulties by presenting results in a notation and terminology that is familiar to most computer scientists. A good survey can give a feel for the whole field. It helps identify trends, both successful and unsuccessful, and it should point new researchers in the right direction.













Parallel Processing


Book Description




Exploring Parallel Processing


Book Description

Parallel processing--multiple processing units all working in unison--enables programmers to complete tasks far faster than with a single unit. This hands-on guide explores the theory of parallel processing, offering a good mix of practical experiments that show readers how to develop systems of their own.










Parallel Processing


Book Description