
- •Введение в параллельные и распределенные
- •Автор курса и преподаватель
- •Задачи курса
- •Для чего это нужно ?
- •Научные и промышленные задачи, требующие
- •Химия
- •Как решается задача
- •Оценка времени и ресурсов
- •Молекулярная биохимия
- •Как решается задача
- •Микро (нано) электроника
- •Ядерная физика
- •Использование распределенных вычислений
- •Программа курса
- •Лекции
- •Семинарские занятия (15 занятий)
- •Лабораторные работы (6 работ)
- •Практические занятия (6 занятий)
- •Литература
- •Что такое параллельные и распределенные вычисления?
- •Определение параллельных и распределенных вычислений
- •Особенности параллельных вычислений
- •Параллельно – значит
- •Не одновременно – значит не параллельно
- •Примеры параллельного выполнения
- •Двухпроцессорный
- •Асинхронный режим
- •Примеры не параллельного выполнения
- •Операционная система с разделением времени
- •Использование
- •Производительность
- •Пути повышения производительности
- •Новые технологии
- •Увеличение тактовой частоты
- •Параллельные вычисления
- •Уровни параллелизма
- •Параллелизм на уровне машинных инструкций
- •Параллелизм на уровне процедур
- •Параллелизм на уровне объектов
- •Параллелизм на уровне
- •Какой уровень лучше?
- •Сложности, связанные с параллелизмом
- •Параллельные алгоритмы
- •Декомпозиция, связь и синхронизация
- •Декомпозиция
- •Пример декомпозиции
- •Связь
- •Пример связи
- •Синхронизация
- •Использование специальных параллельных алгоритмов
- •Пример - конвейер
- •Состояния конвейера
- •Сложность
- •Специальные параллельные программы
- •Аппаратные средства параллельных вычислений
- •Примеры параллельных систем
- •Законы Гроша (Grosch) и Мура (Moore)
- •Истинный и псевдопараллелизм
- •Параллелизм и конкуренция
- •Выводы относительно параллелизма
- •Распределенные
- •Распределенные
- •Преимущества распределенных систем
- •Использование ресурсов, которые находятся на разных
- •Специализация
- •Децентрализация
- •Обеспечение надежности
- •Сложности
- •Параллельные и распределенные вычисления
- •Система с совместно используемой памятью
- •Система с зеркалированием
- •Выводы
- •Вопросы

Определение параллельных и распределенных вычислений
Параллельные вычисления – для вычисления одновременно используется
несколько физических устройств
Распределенные вычисления –
вычисление выполняется в нескольких адресных пространствах (с помощью нескольких процессов)
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Особенности параллельных вычислений
Одновременная и не одновременная работа нескольких устройств
Основное использование параллелизма
Уровни параллелизма
Сложности, связанные с параллелизмом
Истинный и псевдопараллелизм
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Параллельно – значит
одновременно
В промежутки времени 1 и 2 «происходит» процесс A
В промежутки времени 2 и |
|
|
B |
|
|
||||
|
||||
3 «происходит» процесс B |
|
|
|
|
A |
|
|
||
|
|
|||
В промежуток времени 2 |
|
|
|
время |
|
|
|
|
|||
|
|
|
|||
1 |
2 |
3 |
|||
|
|
процессы A и B «происходят» одновременно, то есть параллельно
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Не одновременно – значит не параллельно
Когда процесс A |
|
|
|
|
|
|
|||
выполняется, процесс B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
– не выполняется |
|
A |
B |
A |
B |
|
|
||
|
|
|
|||||||
|
|
||||||||
|
|
||||||||
Процессы A и B |
|
|
|
|
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
время |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
выполняются не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
параллельно |
|
|
|
|
|
|
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Примеры параллельного выполнения
Двухпроцессорный компьютер
Дисковый массив из нескольких дисков
Заводской конвейер
Бригада рабочих, которые копают яму
Одновременная работа диска и процессора (ассинхронный режим)
Параллельная работа нескольких видеоадаптеров
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Двухпроцессорный
компьютер
18:49:49 up 90 days, 23:22, |
6 users, load average: 1,97, 2, |
||||||
167 processes: 161 sleeping, |
3 running, 1 zombie, 2 stopped |
||||||
CPU states: cpu |
user |
nice |
system |
irq |
softirq |
iowa |
|
total |
197,0% |
0,0% |
2,2% |
0,0% |
0,0% |
0, |
Каждый процессор выполняет свою программу
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Асинхронный режим
чтения диска время
Приложение
Запрос на |
Выполнение |
Получени |
Использовани |
|
предварительное |
||||
других |
е |
е |
||
считывание |
||||
действий |
данных |
даннх |
||
данных с диска |
||||
|
|
|
Диск
Получение |
Считывание |
Выдача |
запроса |
данных |
данных |
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Примеры не параллельного выполнения
Многозадачная операционная система с разделением времени
Сеть Ethernet с общей средой передачи данных (CMACD)
Синхронный режим доступа к жесткому диску
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Операционная система с разделением времени
Каждая программа получает свой квант времени
Переключение между программами происходит быстро
Кажется, что все программы выполняются одновременно
На самом деле – не параллельно
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р

Использование
параллелизма
Единственная цель - увеличение производительности
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р