ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Самарский государственный технический
Список источников
Критерии оценки
Лекция 1 Обзор области параллельных вычислений
1.1. Краткая история появления
Аспекты параллельных вычислений
1.2. Основной смысл (суть) параллельного программирования
Области параллельного программирования
1.3. Обзор аппаратного обеспечения параллельных вычислений
Мультикомпьютеры с распределенной памятью
Вопросы для конспекта
74.73K
Категория: ЭлектроникаЭлектроника

Методы параллельных вычислений

1. ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Самарский государственный технический

университет
Кафедра «Вычислительная техника»
Методы параллельных вычислений
курс лекций
к.т.н., доцент Камальдинова Зульфия Фаисовна
Самара, 2022
1

2. Список источников

1. Эндрюс Г.Р. Основы многопоточного, параллельного и
распределенного программирования.: Пер. с англ. М: 2003. –
512 с.
2. Лин
К.,
Снайдер
Л.
Принципы
параллельного
программирования: Учеб. пособие. М.: Изд-во Московского
университета, 2013. – 408 с.
3. Стронгин Р.Г., Гергель В.П., Гришагин В.А., Баркалов К.А.
Параллельные
вычисления
в
задачах
глобальной
оптимизации. М.: Изд-во Московского университета, 2013. –
280 с.
2

3. Критерии оценки

На «отлично»:
Качественные ответы на вопросы, написанные «от
руки»
На «хорошо»:
Либо все ответы на вопросы, написанные «от
руки», но с неточностями, либо 85% качественных
ответов на вопросы, написанные «от руки»
На «удовлетворительно»:
Ответы на вопросы, распечатанные на принтере
3

4. Лекция 1 Обзор области параллельных вычислений

1.1. Краткая история появления
1.2. Основной смысл параллельного
программирования
1.3. Обзор аппаратного обеспечения
параллельных вычислений
4

5. 1.1. Краткая история появления

• Параллельно программирование возникло в 60-х годах
прошлого века с изобретением каналов – независимых
аппаратных контроллеров. Первоначально применялось
только разработчиками ОС
• В 70-х – 80-х годах появились компьютерные сети. Сети
привели к росту распределенного программирования.
• Начало 2000-х – появление многопроцессорных рабочих
станций и ПК Параллельное программирование
становится необходимым
Как обычно в вычислительной технике, прогресс
исходит от разработчиков аппаратного обеспечения…
5

6. Аспекты параллельных вычислений

• ОС – многопоточность, протоколы взаимодействия и
распределенные файловые системы;
• Архитектура ВТ – многопроцессорность и сети;
• Вопросы компиляции для параллельных машин
• Модели параллельной обработки данных – в технологии
обработки больших данных;
• Теория алгоритмов – параллельные алгоритмы;
• БД – блокировка и распределенные базы данных;
• Компьютерная графика – параллелизм при визуализации и
трассировке лучей;
• Научные исследования и инженерные дисциплины.
6

7. 1.2. Основной смысл (суть) параллельного программирования

Параллельная программа содержит несколько
процессов, работающих совместно над выполнением
некоторой
задачи.
Каждый
процесс

это
последовательная
программа.
Последовательная
программа имеет один поток управления, а параллельная
– несколько.
Взаимодействие
Разделяемые переменные или Пересылка сообщений
Синхронизация
Взаимное исключение и Условная синхронизация
7

8. Области параллельного программирования

- Императивные
программы

явной
параллельностью,
взаимодействием
и
синхронизацией).
- Декларативные программы (взаимодействие и
синхронизация происходит неявно).
- Асинхронное программирование (каждый процесс со
своей скоростью).
8

9. 1.3. Обзор аппаратного обеспечения параллельных вычислений

1.3.1 Однопроцессорная машина
1.3.2 Мультипроцессор с разделяемой памятью
1.3.2 Мультикомпьютер с распределенной
памятью
9

10.

1.3.1 Однопроцессорная машина
Первичная память
КЭШ уровня 2
КЭШ уровня 1
ЦПУ
10

11.

1.3.2 Мультипроцессор с разделяемой памятью
Память
...
Память
Связующая сеть
КЭШ
КЭШ
...
ЦПУ
ЦПУ
UMA (uniform memory access) – однородный или симметричный
мультипроцессор, время доступа каждого из процессоров к любому участку
памяти одинаково
NUMA machines – неоднородные мультипроцессоры, время доступа не
равное, память организована иерархически
11

12.

1.3.2 Мультикомпьютер с распределенной
памятью
Связующая сеть
Память
Память
...
КЭШ
КЭШ
ЦПУ
ЦПУ
12

13. Мультикомпьютеры с распределенной памятью

Мультикомпьютер (многомашинная система) –
мультипроцесссор с распределенной памятью, процессоры и
сеть расположены физически близко (тесно связанная
машина), сеть с большой пропускной способностью.
Сетевая система – многомашинная система с
распределенной памятью, узлы которой связаны с помощью
локальной или глобальной сети (слабо связанный
мультикомпьютер).
Сеть рабочих станций (network of workstations –
NOW) или кластер рабочих станций (cluster of workstations
– COW). Все рабочие станции выполняют одно или
несколько приложений, возможно, связанных между собой.
13

14. Вопросы для конспекта

14
English     Русский Правила