В современных вычислениях программы нередко объединяют несколько процессов. Основная проблема, возникающая при создании таких распределенных программ, состоит в том, чтобы заставить все процессы вместе работать над решением общей задачи, даже в случае отказов некоторых из них. Под отказами подразумеваются: аварийное завершение некоторых процессов, потеря связи с ними и даже злонамеренное нападение на некоторые процессы.
Качин, Гуерру и Родригес в данной книге представили вводное описание фундаментальных абстракций распределенного программирования и алгоритмов их реализации в распределенных системах. Авторы используют последовательный подход, знакомя читателей сначала с базовыми абстракциями, действующими в простых окружениях, постепенно смещаясь ко все более сложным абстракциям и окружениям.
Данная книга содержит введение в абстракции распределенного программирования и знакомит с фундаментальными алгоритмами и их реализациями в нескольких распределенных окружениях. Перед читателем будут раскрыты важные проблемы распределенных вычислений и основные алгоритмические приемы их решения. На подробных примерах читатель сможет понять, как с помощью этих приемов конструировать распределенные приложения. Обсуждение каждой темы завершается множеством упражнений и их решений.
Эту книгу должен прочитать каждый, кто разрабатывает программное обеспечение в нашу многоядерную эпоху!