Программирование параллельных процессов
Описание
Учебное пособие посвящено проектированию и реализации параллельных приложений.В пособии рассматриваются способы реализации параллельных алгоритмов с использованием нативных потоков операционной системы, средств OpenMP и библиотеки MPI разных стандартов; проектирование распределенных программных систем с использованием языка UML и реализация их на основе примитивов синхронизации. Делается введение в основные паттерны параллельного программирования и основные классические проблемы. Рассматриваются объекты ядра операционной системы (на примере Windows) и внутренняя организация потоков и процессов. Кроме этого, изучаются сетевые соединения на основе сокетов и способы реализации распределенных систем на их основе. Рассматривается введение в программирование для супер- компьютеров для графических процессоров на основе OpenCL. Примеры приведены, в основном, на языке C. В конце даны рекомендации по использованию современных средств С++ для решения рассмотренных задач. Пособие отвечает стандартам высшего образования по направлению подготовки 09.04.04 «Программная инженерия», также может быть использовано на направлении 09.04.01 «Информатика и вычислительная техника» и других IT-специальностях.