Слайд 2
![Цель лекции: ознакомить магистрантов с основными моделями параллельного программирования, с вопросами эффективности использования процессоров](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-1.jpg)
Цель лекции:
ознакомить магистрантов с основными моделями параллельного программирования, с вопросами эффективности
использования процессоров
Слайд 3
![Содержание лекции: передача сообщений, параллелизм данных, модель разделяемой памяти, оценка степени параллелизма](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-2.jpg)
Содержание лекции:
передача сообщений, параллелизм данных,
модель разделяемой памяти, оценка степени параллелизма
Слайд 4
![Передача сообщений: Особенность данной модели: возникновение новых задач во время](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-3.jpg)
Передача сообщений:
Особенность данной модели: возникновение новых задач во время выполнения программы
и возможность выполнения в одном процессоре несколько задач
Слайд 5
![Передача сообщений: Во многих случаях предварительно создаются определенное количество задач,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-4.jpg)
Передача сообщений:
Во многих случаях предварительно создаются определенное количество задач, и это
количество остается без изменения во время выполнения программы
Слайд 6
![Передача сообщений: Single Program Multiple Data SPMD - одна программа,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-5.jpg)
Передача сообщений:
Single Program Multiple Data SPMD - одна программа, массив данных).
В этом случае каждая задача использует один и тот же программный код, а производит обработку разные данные.
Слайд 7
![Передача сообщений: Компьютер состоит из нескольких процессоров, каждый из которых](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-6.jpg)
Передача сообщений:
Компьютер состоит из нескольких процессоров, каждый из которых снабжен своей
собственной памятью. Компьютер, включенный в коммуникационную сеть, называется хост - машиной (host).
Слайд 8
![Передача сообщений: Схема модели](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-7.jpg)
Передача сообщений: Схема модели
Слайд 9
![Передача сообщений: Модель может быть реализована на системах: с распределенной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-8.jpg)
Передача сообщений:
Модель может быть реализована на системах:
с распределенной памятью;
с
разделяемой памятью;
на кластерах рабочих станций;
на обычных однопроцессорных компьютерах.
Слайд 10
![Параллелизм данных: Основная идея этой модели программирования является применение одной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-9.jpg)
Параллелизм данных:
Основная идея этой модели программирования является применение одной операции сразу
к нескольким элементам массива данных.
Слайд 11
![Параллелизм данных: Основная идея этой модели программирования является применение одной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-10.jpg)
Параллелизм данных:
Основная идея этой модели программирования является применение одной операции сразу
к нескольким элементам массива данных.
Фрагменты такого массива обрабатываются либо на векторном процессоре, либо на разных процессорах.
Слайд 12
![Параллелизм данных: В данном случае векторизация или распараллеливание в основном](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-11.jpg)
Параллелизм данных:
В данном случае векторизация или распараллеливание в основном выполняется во
время трансляции программы.
Программист выполняет следующие функции:
-задавать транслятору опций векторной или параллельной оптимизации;
- использовать специализированных языков параллельных вычислений
Слайд 13
![Параллелизм данных: Программист должен указать транслятору, как следует распределить данные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-12.jpg)
Параллелизм данных:
Программист должен указать транслятору, как следует распределить данные между процессорами.
После трансляции генерируется SPMD-код, в него добавляются команды обмена данными в автоматическом режиме.
Слайд 14
![Модель разделяемой памяти: Используется общая память; задачи имеют общее адресное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-13.jpg)
Модель разделяемой памяти:
Используется общая память; задачи имеют общее адресное пространство, каждая
задача обращается к общей памяти и выполняет операции считывания /записи. Доступ к памяти управляется с помощью некоторых механизмов, в частности, как семафоры.
Слайд 15
![Модель разделяемой памяти: Преимуществом данной модели является то, что здесь](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-14.jpg)
Модель разделяемой памяти:
Преимуществом данной модели является то, что здесь не требуется
описывать обмен данными между задачами в явном виде. Такое положение упрощает работу программиста.
Слайд 16
![Структура алгоритма: Любой алгоритм может иметь такую структуру, где встречаются](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/436570/slide-15.jpg)
Структура алгоритма:
Любой алгоритм может иметь такую структуру, где встречаются фрагменты, которые
могут быть выполнены одновременно на нескольких устройствах, а также фрагменты, которые выполняются последовательно на одном устройстве. Т.е. в программе могут быть как параллельная часть, так и последовательная часть.