Preface Due to the development of hardware technologies (such as VLSI) in the early 1980s, the interest in parallel and distributive computing has been rapidly growingandinthelate1980sthestudyofparallelalgorithmsandarchitectures became one of the main topics in computer science. To bring the topic to educatorsandstudents,severalbooksonparallelcomputingwerewritten. The involvedtextbook“IntroductiontoParallelAlgorithmsandArchitectures”by F. Thomson Leighton in 1992 was one of the milestones in the development of parallel architectures and parallel algorithms. But in the last decade or so the main interest in parallel and distributive computing moved from the design of parallel algorithms and expensive parallel computers to the new distributive reality – the world of interconnected computers that cooperate (often asynchronously) in order to solve di?erent tasks. Communication became one of the most frequently used terms of computer science because of the following reasons: (i) Considering the high performance of current computers, the communi- tion is often moretime consuming than the computing time of processors. As a result, the capacity of communication channels is the bottleneck in the execution of many distributive algorithms. (ii) Many tasks in the Internet are pure communication tasks. We do not want to compute anything, we only want to execute some information - change or to extract some information as soon as possible and as cheaply as possible. Also, we do not have a central database involving all basic knowledge. Instead, wehavea distributed memorywherethe basickno- edgeisdistributedamongthelocalmemoriesofalargenumberofdi?erent computers. The growing importance of solving pure communication tasks in the - terconnected world is the main motivation for writing this book.