This book provides programmers with a unique insight into the rapidly expanding field of parallel processing. It contains a thorough discussion of the basic concepts of the theory of algorithms and complexity necessary to grasp the foundations of parallelism. Provides professionals with a focused discussion of VLSI design and balanced coverage of hardware, software, and theory.