Distributed computing: principles, algorithms, and systems
Michel Raynal, Andrew S. Tanenbaum, Maarten van Steen, Prentice Hall · Choice Reviews Online · 2009
– Prerequisite: A high-level programming language, basic knowledge of architecture and operating systems, elementary discrete mathematics, or permission of the instructor. – We consider a distributed computer system that consists of multiple autonomous processors that do not share primary memory but cooperate by sending messages over a communication network. Discussion of special problems related to distributed control such as election and mutual exclusion, routing, data management Byzantine agreement, and deadlock handling. Some basics of parallel and distributed algorithms. Applications in distributed shared memory, database, file systems, web applications, and cloud.