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].