Книги / Алгоритмы и теория / Алгоритмы / Algorithms and Parallel Computing

Algorithms and Parallel Computing

Fayez Gebali

Книга «Algorithms and Parallel Computing» представляет собой фундаментальное руководство по разработке и анализу параллельных алгоритмов, а также по архитектурам параллельных вычислительных систем. Автор, профессор Университета Виктории Файез Гебали, систематически связывает теоретические основы параллельных вычислений с практическими аспектами реализации на современных многопроцессорных платформах.

В начале книги рассматриваются базовые понятия алгоритмов, оценивается необходимость автоматизации параллельного программирования, вводятся законы Амдала и Густафсона–Барсиса для измерения ускорения. Затем подробно анализируются методы повышения производительности однопроцессорных систем: конвейеризация, суперскалярность, VLIW, многоуровневая память и многопоточность.

Центральная часть посвящена классификации параллельных компьютеров: систем с общей и распределённой памятью (UMA/NUMA), SIMD- и систолических процессоров, кластеров, грид- и облачных вычислений, а также многоядерных архитектур. Отдельные главы описывают проблемы когерентности кэша, синхронизации и взаимного исключения, топологии сетей соединений и архитектуру коммутаторов.

Значительное внимание уделено практическим платформам параллельного программирования: Cilk++, OpenMP и CUDA. Рассматриваются ad hoc методы разработки параллельных алгоритмов, включая разбиение задач, планирование независимых и зависимых циклов, развёртывание циклов и принцип «разделяй и властвуй». Книга будет полезна студентам старших курсов, аспирантам и инженерам, специализирующимся на высокопроизводительных вычислениях и проектировании параллельного программного обеспечения.