Купить книгу Распределенные алгоритмы: подробный обзор на русском [PDF, EPUB, FB2, MOBI]
Distributed Algorithms: A Verbose Tour (B07N8P4361)
Купить и скачать электронную книгу в форматах PDF, EPUB, FB2, MOBI
Fourré Sigs | #427: Алгоритмическое программирование
Распределенные алгоритмы — нетривиальная и быстро развивающаяся область активных исследований — часто в большинстве публикаций сопровождаются обилием математических методов и обозначений. Эта книга, ориентированная как на начинающих, так и на опытных специалистов, пытается демистифицировать и объяснить тему распределенных алгоритмов, используя весьма обширный и многословный стиль изложения. Рассматривая множество знаковых алгоритмов в области распределенных вычислений, авторы предлагают подход, при котором каждая тема излагается с минимальным количеством математических выкладок, переходя к гибкому стилю описания простым языком. Математическое изложение полностью избегается, если это не снижает качество анализа. В остальных случаях авторы стремятся объяснить читателю соответствующие математические выкладки, не прибегая к использованию уравнений. В поддержку такого стиля изложения каждая тема сопровождается множеством примеров, блок-схем и диаграмм.
Книга разделена на три части; первая часть посвящена основам, вторая, самая большая из трех, посвящена алгоритмам, специфичным для сетей обмена сообщениями, а последняя — алгоритмам на основе общей памяти. Начало книги посвящает несколько глав основам, включая краткий обзор базовой платформы, то есть распределенных систем, их характеристик, преимуществ, проблем и так далее. Некоторые из ранних глав также рассматривают базовые алгоритмы и методы, актуальные для распределенных вычислительных сред, прежде чем перейти к постепенно усложняющимся алгоритмам и результатам — на пути к последующим главам второй части, которые посвящены широко используемым «промышленным» протоколам, таким как Paxos и Raft. Третья часть книги предполагает базовую ориентацию на компьютерное программирование и представляет множество алгоритмов на основе общей памяти, каждый из которых сопровождается подробным описанием, анализом, псевдокодом, а в некоторых случаях и кодом (на C или C++). При использовании реального кода синтаксис максимально упрощен — включены только элементарные особенности языка — чтобы начинающие программисты могли легко понять изложенную информацию.
Наконец, целевая аудитория книги достаточно широка и включает в себя как начинающих, таких как студенты или выпускники, начинающие свою карьеру в отрасли, так и опытных специалистов, желающих перейти от монолитных фреймворков к распределенным, а также читателей с многолетним опытом работы в области распределенных вычислений. Стиль изложения выбран с учетом первых двух категорий читателей: тех, кто хочет быстро освоить тему распределенных алгоритмов по профессиональным или личным причинам. Оставаясь верной заявленной цели, книга не избегает рассмотрения сложных тем. Ниже приводится краткий список информации о содержании:
- Введение в распределенные системы
- Свойства распределенных хранилищ данных и теорема Брюера
- Основные компоненты: одноадресная передача, широковещательная передача, алгоритмы в кубах.
- Алгоритмы выбора лидера: для кольцевых/универсальных сетей
- Алгоритмы консенсуса: синхронные/асинхронные варианты для систем передачи сообщений и разделяемой памяти.
- Распределенные коммиты, Paxos, Raft
- Графовые алгоритмы
- Алгоритмы маршрутизации
- Время и порядок
- Взаимное исключение: для сетей, передающих сообщения.
- Алгоритмы отладки: создание моментальных снимков, обнаружение взаимоблокировок/завершения работы.
- Общая память: практические проблемы, взаимное исключение, консенсус, распределение ресурсов.
Об авторе
Фурре Сигс — ветеран отрасли с более чем 25-летним опытом работы в области системного программирования, сетевых технологий, а также масштабируемых и безопасных распределенных сервисных архитектур.