Перейти к основному содержимому

Итоги

Разработчику Аналитику Тестировщику Архитектору Инженеру

Кратко — что стоит унести из раздела «Параллельные вычисления». Если пункт кажется туманным — откройте указанную главу или оглавление.

Что запомнить

Раздел «Параллельные вычисления» закрывает пробел между «железом с многими ядрами» и осознанным построением параллельных программ.

Архитектура и системы

  • Флинн (SISD/SIMD/MIMD) задаёт рамку: data-parallel (GPU, AVX) vs независимые потоки (OpenMP, MPI).
  • Shared vs distributed memory определяет API: потоки в одном процессе или сообщения между узлами.
  • NUMA, кластеры, GRID — от одного сервера до метакомпьютинг с разной ценой коммуникации.

Модели и формализация

  • PRAM, message passing, SPMD — абстракции для оценок и переноса алгоритмов.
  • Граф алгоритма и матрица следования — кто с кем несовместим; основа расписания.
  • Информационный граф, EST/LST, критический путь — нижняя граница времени и pmin.
  • Сети Петри — ресурсы, конфликты, bounded buffers.

Производительность

  • Амдаль — потолок из-за последовательной доли f.
  • Густафсон-Барсис — рост задачи вместе с машиной.
  • Strong / weak scaling, efficiency, конвейерный throughput.

Практика

  • Data vs task parallelism, блочная декомпозиция, halo, first-touch.
  • Матричное умножение — эталон для BLAS/MPI/GPU.
  • OpenMP, MPI, профилирование — код и отладка на практике.
  • Профилирование, минимизация barriers, overlap compute/comm.

Связь с другими разделами

ТемаКуда идти дальше
Потоки и IPC4.05 Асинхронность
Железо, SIMD, NUMA1.08 Как работает компьютер
OpenMP / MPI в кодеFortran 811
Сложность алгоритмов4.01 Анализ эффективности

Параллелизм — не самоцель: измеряйте speedup, проверяйте корректность на p = 1 и документируйте предположения о данных и топологии.


Куда идти дальше

Полный маршрут — на странице о разделе.

Проверьте себя: Чек-лист самопроверки.


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).