Параллельное программирование – так ли это сложно? [Пол Маккини] [Повтор]

Admin

Администратор
Команда форума
22 Фев 2018
59,550
17,719
113
Складчина: Параллельное программирование – так ли это сложно? [Пол Маккини] [Повтор]

Пол Маккини

Книга исследует различные низкоуровневые механизмы и алгоритмы, лежащие в основе современных параллельных и конкурентных вычислений, в частности реализованные в ядре Linux. Рассмотрены примитивы синхронизации (мьютексы и блокировки), владение данными, валидация, копирование и запись, эвристические методы разработки параллельных и конкурентных алгоритмов, подбор аппаратного обеспечения и другие малоизвестные находки в области параллелизма. Также уделено внимание упрощению и оптимизации параллельных вычислений. Наконец, спрогнозированы возможные тенденции развития параллельного программирования с учётом современных разработок нового аппаратного обеспечения.

На фоне затухания закона Мура дальнейшее ускорение и масштабирование вычислений достижимо только через наращивание количества ядер и разработку новых параллельных и конкурентных алгоритмов.

Основы этих технологий заложены более 50 лет назад, но на русском языке пока представлены только в академических работах и разрозненных материалах по конкретным языкам программирования, прежде всего С++. Общим знаменателем между этими разноуровневыми наработками является данная книга, в которой изложен полувековой научный и практический опыт автора.

Книга посвящена низкоуровневому параллельному и конкурентному программированию. Особое внимание уделено малоизвестным проблемам проектирования параллельных систем, работе с высоконагруженными приложениями и ядром Linux.

В книге рассмотрены:
- Цели параллельного программирования и альтернативы этого подхода
- Физические и аппаратные ограничения
- Примитивы и средства конкурентного программирования: блокировки, подсчёт ссылок, синхронизация, мьютексы и др.
- Отладка конкурентных программ, включая их формальную верификацию
- Параллельное программирование в режиме реального времени
- Экстремально низкоуровневые темы: упорядочивание памяти и атомарные операции
- Примеры практических задач: подсчёт ссылок, выход из лабиринта, связные списки, хеш-таблицы и др.
- Тенденции развития параллельного программирования

Полистать:
Объем: 1072 стр.
Формат книги: Издательский pdf



Повтор: https://v21.skladchik.org/threads/p...vanie-tak-li-ehto-slozhno-pol-makkini.423037/