ABSTRACT
Parallel and distributed computing represent an important branch of Com puting Science. Many of today’s computer applications require a great com puting power at very high speed. Higher performance for these applications can be achieved through parallel processing, that is by allowing the con current and cooperative execution of their computations. Parallel and dis tributed computing is a necessary and effective alternative to building faster sequential computers: necessary as hardware components are approaching their technological limits as for the level of circuit integration and the speed of signal propagation; effective as significant “speed-ups” can be obtained for many applications of interest. Also, technological advances have made it possible for both commercial and research parallel computers and distributed systems to be widely available at a relatively low cost. Today’s research in parallel and distributed computing spans from architectural and algorithmic issues, to programming languages and compiler technology, to theoretical models and complexity theory. A comprehensive overview of these issues is outside the scope of this book, but good sources of information can be found, for instance, in [Cri97, Zom95, Kri89, HwBr85].