Разделы презентаций


Введение в параллельные и распределенные вычисления

Содержание

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

Слайды и текст этой презентации

Слайд 1ІОЦ КНУ імені Тараса Шевченка, 2005 р
Введение в параллельные и

распределенные вычисления
Судаков А.А.
“Параллельные и распределенные вычисления” Лекция 1

ІОЦ КНУ імені Тараса Шевченка, 2005 рВведение в параллельные и распределенные вычисленияСудаков А.А.“Параллельные и распределенные вычисления” Лекция

Слайд 2ІОЦ КНУ імені Тараса Шевченка, 2005 р
Автор курса и преподаватель
Судаков

Александр Александрович

кандидат физико-математических наук,
доцент радиофизического факультета Киевского национального университета

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

Слайд 3ІОЦ КНУ імені Тараса Шевченка, 2005 р
Задачи курса
Теоретические основы работы

параллельных и распределенных систем
Технологии построения параллельных и распределенных систем
Практические

навыки построения и работы с параллельными и распределенными системами
Практические навыки разработки параллельных и распределенных программ

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

Слайд 4ІОЦ КНУ імені Тараса Шевченка, 2005 р
Для чего это нужно

?
Все современные компьютерные системы используют элементы параллельной обработки информации
Многопроцессорность, конвейерная

обработка …
Все современные компьютерные системы используют распределенные вычисления
Многозадачность, базы данных, файловые сервера…
Пользователи привыкли к тому, что можно работать «сразу» с несколькими компьютерами и программами
Интернет, локальные сети, связанные объекты…
Некоторые задачи можно сегодня решить только с помощью параллельных и распределенных вычислений
получение «чрезвычайно» высокой производительности
получение высокой надежности и отказоустойчивости
Некоторые ресурсы распределены по определению
Специалисты по компьютерным системам должны в этом разбираться
ІОЦ КНУ імені Тараса Шевченка, 2005 рДля чего это нужно ?Все современные компьютерные системы используют элементы параллельной

Слайд 5ІОЦ КНУ імені Тараса Шевченка, 2005 р
Научные и промышленные задачи,

требующие параллельных вычислений
Квантовая физика, химия, молекулярная биология
Микроэлектроника
Статистическое моделирование (метод Монте-Карло)
Ядерная

физика
ІОЦ КНУ імені Тараса Шевченка, 2005 рНаучные и промышленные задачи, требующие параллельных вычисленийКвантовая физика, химия, молекулярная биологияМикроэлектроникаСтатистическое

Слайд 6ІОЦ КНУ імені Тараса Шевченка, 2005 р
Химия
Есть формула вещества (лекарственный

препарат), найти, как это вещество вступает в реакцию, насколько оно

устойчиво и как действует
ІОЦ КНУ імені Тараса Шевченка, 2005 рХимияЕсть формула вещества (лекарственный препарат), найти, как это вещество вступает в

Слайд 7ІОЦ КНУ імені Тараса Шевченка, 2005 р
Как решается задача
Свойства вещества

определяются типом атомов, положением ядер и электронной конфигурацией
Для нахождения электронной

конфигурации необходимо решать уравнения квантовой физики
Количество операций, и объем оперативной памяти, необходимые для решения определяются числом электронов молекулы N
Количество операций пропорционально N4-N7
Объем оперативной памяти пропорционален N3-N4
ІОЦ КНУ імені Тараса Шевченка, 2005 рКак решается задачаСвойства вещества определяются типом атомов, положением ядер и электронной

Слайд 8ІОЦ КНУ імені Тараса Шевченка, 2005 р
Оценка времени и ресурсов
Количество

атомов 29
Количество электронов N=130
Количество базисных функций 280
Количество операций N5~1013
Задачу необходимо

решать десятки/сотни раз ~1015
Время на процессоре производительностью 1 млрд. операций в секунду около недели
Памяти около 4 Гбайт
Необходимо несколько процессоров
ІОЦ КНУ імені Тараса Шевченка, 2005 рОценка времени и ресурсовКоличество атомов 29Количество электронов N=130Количество базисных функций 280Количество

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

для которого нужно подобрать лекарственный препарат, который будет на него

действовать
Количество атомов несколько тысяч

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

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

методы классической физики
количество операций MN2 , где M количество итераций,

N количество атомов
Требует интенсивного обмена между процессорами
Время расчета – несколько недель

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

Слайд 11ІОЦ КНУ імені Тараса Шевченка, 2005 р
Микро (нано) электроника
Исследование поведения

атомов на поверхности кремния для создания новых технологий
Требует квантово-физических расчетов


ІОЦ КНУ імені Тараса Шевченка, 2005 рМикро (нано) электроникаИсследование поведения атомов на поверхности кремния для создания новых

Слайд 12ІОЦ КНУ імені Тараса Шевченка, 2005 р
Ядерная физика
Взаимодействие ионизирующего излучения

с веществом
Моделируется поведение большого количества частиц
Обработкая данных с ускорителей

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

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

системы

Параллельные вычисления

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

Слайд 14ІОЦ КНУ імені Тараса Шевченка, 2005 р
Программа курса
Лекции (40 часов)
Семинарские

занятия (30 часов)
Практические занятия (30 часов)
Лабораторные занятия (40 часов)

ІОЦ КНУ імені Тараса Шевченка, 2005 рПрограмма курсаЛекции (40 часов)Семинарские занятия (30 часов)Практические занятия (30 часов)Лабораторные занятия

Слайд 15ІОЦ КНУ імені Тараса Шевченка, 2005 р
Лекции
Введение (1 лекция)
Средства параллельных

и распределенных вычислений (9 лекций)
Теоретические основы параллельных вычислений (5 лекций)
Разработка

параллельных и распределенных систем (5 лекций)
Контрольные работы (2 занятия)
Зачет
ІОЦ КНУ імені Тараса Шевченка, 2005 рЛекцииВведение (1 лекция)Средства параллельных и распределенных вычислений (9 лекций)Теоретические основы параллельных

Слайд 16ІОЦ КНУ імені Тараса Шевченка, 2005 р
Семинарские занятия (15 занятий)
Распределенные

операционные системы
Задачи, требующие параллельных вычислений и соответствующее программное обеспечение: 3D

анимация, математические пакеты, физические, химические, экономические и д.р. задачи
WWW технология, Java и их применение
MS Windows домен, Active directory, NetBios
Средства коммуникации для параллельных кластеров: Myrinet, SCI
Промышленные высоконадежные кластеры
Промышленные высокопроизводительные системы (суперкомпьютери, кластеры)
Распределенные файловые системы (NFS, AFS, GFS), SAN
Метакомпьютеры и GRID системы, globus, condor
Компиляторы и реализации библиотек для разработки параллельних и распределенных программ
Распределенные и параллельные системы управления базами данных
Средства создания параллельных программ для MS Windows (COM, Corba, .NET)
Pear-to-pear системы
Параллельные алгоритмы поиска, шифрования и дешифрования (2 години)
Языки программирования с внутренним параллелизмом и поддержкой распределенных систем

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

Слайд 17ІОЦ КНУ імені Тараса Шевченка, 2005 р
Лабораторные работы (6 работ)
Работа

в командной строке Linux (15.05.2012)
Работа на удаленных машинах по

SSH, RSH (16.05.2012)
Распределенные системы имен (NIS) (17.05.2012)
Сетевые файловые системы (NFS, amd) (18.05.2012)
Менеджер ресурсов и менеджер заданий, кластер типа Beowulf (21.05.2011-22.05.2012)
Запуск PVM и MPI на кластере Beowulf (23.05.2012)


ІОЦ КНУ імені Тараса Шевченка, 2005 рЛабораторные работы (6 работ)Работа в командной строке Linux (15.05.2012) Работа на

Слайд 18ІОЦ КНУ імені Тараса Шевченка, 2005 р
Практические занятия (6 занятий)

Разработка

программ на основе интерфейса socket
Разработка многопоточных программ
Разработка с использованием RPC
Разработка

расчетных MPI программ
Разработка расчетных OpenMP программ
Измерение производительности


ІОЦ КНУ імені Тараса Шевченка, 2005 рПрактические занятия (6 занятий)	Разработка программ на основе интерфейса socket		Разработка многопоточных программРазработка

Слайд 19ІОЦ КНУ імені Тараса Шевченка, 2005 р
Литература
Параллельные вычисления в России

http://www.parallel.ru
Обчислювальний кластер Київського національного університету імені Тараса Шевченка http://www.cluster.kiev.ua


В.П. Гергель, Р.Г. Стронгин Основы параллельных вычислений для многопроцессорных вычислительных машин. Нижний новгород: Изд-во ННГУ им. Лобачевского, 2000, 176 с.
К. Хьюз, Т. Хьюз. Параллельное и распределенное программирование с использование С++. Перс. с англ. М: Издательский дом «Вильямс», 2004, 672 с.
И. Н Молчанов. Введение в алгоритмы параллельных вычислений. — К.: Наукова Думка, 1990. — 128 с.
Distributed information systems http://www.iks.inf.ethz.ch/education/ws04/eai/
ІОЦ КНУ імені Тараса Шевченка, 2005 рЛитератураПараллельные вычисления в России http://www.parallel.ru Обчислювальний кластер Київського національного університету імені

Слайд 20ІОЦ КНУ імені Тараса Шевченка, 2005 р
Что такое параллельные и

распределенные вычисления?

ІОЦ КНУ імені Тараса Шевченка, 2005 рЧто такое параллельные и распределенные вычисления?

Слайд 21ІОЦ КНУ імені Тараса Шевченка, 2005 р
Определение параллельных и распределенных

вычислений
Параллельные вычисления – для вычисления одновременно используется несколько физических устройств

Распределенные

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

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

не одновременная работа нескольких устройств
Основное использование параллелизма
Уровни параллелизма
Сложности, связанные с

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

Слайд 23ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллельно – значит одновременно
В

промежутки времени 1 и 2 «происходит» процесс A

В промежутки времени

2 и 3 «происходит» процесс B

В промежуток времени 2 процессы A и B «происходят» одновременно, то есть параллельно

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

Слайд 24ІОЦ КНУ імені Тараса Шевченка, 2005 р
Не одновременно – значит

не параллельно
Когда процесс A выполняется, процесс B – не выполняется

Процессы

A и B выполняются не параллельно

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

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

массив из нескольких дисков
Заводской конвейер
Бригада рабочих, которые копают яму
Одновременная работа

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

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

свою программу

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

Слайд 27ІОЦ КНУ імені Тараса Шевченка, 2005 р

Асинхронный режим чтения диска
Запрос

на
предварительное
считывание
данных с диска
время

Выполнение
других действий
Получение
данных
Использование
даннх
Получение
запроса
Считывание


данных

Выдача данных

Приложение

Диск

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

Слайд 28ІОЦ КНУ імені Тараса Шевченка, 2005 р
Примеры не параллельного выполнения


Многозадачная операционная система с разделением времени
Сеть Ethernet с общей средой

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

Слайд 29ІОЦ КНУ імені Тараса Шевченка, 2005 р
Операционная система с разделением

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

что все программы выполняются одновременно
На самом деле – не параллельно

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

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

увеличение производительности

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

Слайд 31ІОЦ КНУ імені Тараса Шевченка, 2005 р
Производительность
Производительность – количество операций,

которые выполняются в единицу времени
Чем сложнее задача, тем большая производительность

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

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

физических принципов построения компьютерных систем (оптические компьютеры, наноэлектроника, высокомолекулярная электроника)
Экстенсивные:
Увеличение

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

Слайд 33ІОЦ КНУ імені Тараса Шевченка, 2005 р
Новые технологии
Наилучший вариант, но…


Физические основы современных компьютерных технологий были разработаны лет 30 назад

(физика полупроводников и диэлектриков)
Новые физические методы станут технологиями примерно лет через 30
ІОЦ КНУ імені Тараса Шевченка, 2005 рНовые технологииНаилучший вариант, но… Физические основы современных компьютерных технологий были разработаны

Слайд 34ІОЦ КНУ імені Тараса Шевченка, 2005 р
Увеличение тактовой частоты
Производительность пропорциональна

тактовой частоте
Увеличение тактовой частоты приводит к увеличению потребляемой мощности

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

Слайд 35ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллельные вычисления
Если один рабочий

выкопает яму за 1 час, то 2 рабочих – за

30 минут
Если одни процессор медленно…, то можно поставить 2, 3, 100 … и будет быстро
Можно повышать производительность без введения принципиально новых физических и технических решений
Никаким другим методом сегодня нельзя достичь такого повышения производительности, как за счет параллельной обработки

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

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

единиц (fine graine)
уровень инструкций
На уровне средних структурных единиц
Уровень подпрограмм
На

уровне крупных структурных единиц (course graine)
Уровень объектов
Уровень приложений
ІОЦ КНУ імені Тараса Шевченка, 2005 рУровни параллелизмаУровень мелких структурных единиц (fine graine)уровень инструкцийНа уровне средних структурных

Слайд 37ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллелизм на уровне машинных

инструкций
Две (или больше) машинных инструкций выполняется одновременно
Суперскалярные и векторные процессоры
Конвейеры


Есть во всех современных процессорах (SSE, MMX)
ІОЦ КНУ імені Тараса Шевченка, 2005 рПараллелизм на уровне машинных инструкцийДве (или больше) машинных инструкций выполняется одновременноСуперскалярные

Слайд 38ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллелизм на уровне процедур
Каждая

процедура (функция, метод) выполняется на своем процессоре
Используется при многопоточном программировании
Поток

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

Слайд 39ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллелизм на уровне объектов
Методы

каждого объекта выполняются одновременно с методами других объектов
Объект – это

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

Слайд 40ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллелизм на уровне приложений
Каждое

приложение выполняется на своем процессоре или на своем компьютере одновременно

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

Слайд 41ІОЦ КНУ імені Тараса Шевченка, 2005 р
Какой уровень лучше?
Для каждой

задачи – свой
Для повышения скорости вычислений — повышать уровень
Для

уменьшения задержек — понижать уровень
Часто в одной и той же параллельной программе применяется сразу несколько уровней
Например, параллельная программа выполняется на 4-х узлах кластера – уровень приложений, на каждом узле используется многопоточная обработка – уровень процедур, а каждый поток выполняется на процессоре с конвейерной обработкой – уровень инструкций

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

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

специальных параллельных алгоритмов
Необходимость специальных параллельных программ
Необходимость специальных аппаратных устройств для

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

Слайд 43ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллельные алгоритмы
Классическое определение: Алгоритм

– последовательность операций, которую необходимо выполнить для решения задачи
Параллельный алгоритм

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

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

параллельный алгоритм имеет три составляющие:
Декомпозиция
Связь
Синхронизация

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

Слайд 45ІОЦ КНУ імені Тараса Шевченка, 2005 р
Декомпозиция
Декомпозиция – разбиение задачи

на части, которые выполняются параллельно
Декомпозиция данных – данные, с которыми

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

Слайд 46ІОЦ КНУ імені Тараса Шевченка, 2005 р
Пример декомпозиции
Расчет прогноза

погоды для Украины
Территория разбивается на более мелкие области и для

каждой области выполняется расчет на своем процессоре, параллельно с остальными

CPU1

CPU10

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

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

между собой информацией

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

Слайд 48ІОЦ КНУ імені Тараса Шевченка, 2005 р
Пример связи
Расчет прогноза погоды

для Украины
Между соседними областями должен выполняться обмен информацией о состоянии

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

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

параллельно выполняющиеся части в определенные моменты времени находятся в нужном

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

Слайд 50ІОЦ КНУ імені Тараса Шевченка, 2005 р
Использование специальных параллельных алгоритмов
Пример:

найти сумму
for (i=0; i

последовательная
Для распараллеивания воспользуемся ассоциативность сложения


ІОЦ КНУ імені Тараса Шевченка, 2005 рИспользование специальных параллельных алгоритмовПример: найти суммуfor (i=0; i

Слайд 51ІОЦ КНУ імені Тараса Шевченка, 2005 р
Пример - конвейер

ІОЦ КНУ імені Тараса Шевченка, 2005 рПример - конвейер

Слайд 52ІОЦ КНУ імені Тараса Шевченка, 2005 р
Состояния конвейера

ІОЦ КНУ імені Тараса Шевченка, 2005 рСостояния конвейера

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

сложнее последовательного
При небольшом количестве слагаемых или при большом количестве процессоров

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

Слайд 54ІОЦ КНУ імені Тараса Шевченка, 2005 р
Специальные параллельные программы
Последовательная программа

выполняется на одном процессоре, потому не получает никакого преимущества от

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

Слайд 55ІОЦ КНУ імені Тараса Шевченка, 2005 р
Аппаратные средства параллельных вычислений
Для

параллельных вычислений нужно несколько процессоров или компьютеров
Несколько процессоров/компьютеров всегда в

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

Слайд 56ІОЦ КНУ імені Тараса Шевченка, 2005 р
Примеры параллельных систем
Кластер Киевского

национального
Университета имени Тараса Шевченко
Кластеры Института кибернетики
НАН Украины имени Глушкова

ІОЦ КНУ імені Тараса Шевченка, 2005 рПримеры параллельных системКластер Киевского национальногоУниверситета имени Тараса ШевченкоКластеры Института кибернетики НАН

Слайд 57ІОЦ КНУ імені Тараса Шевченка, 2005 р
Законы Гроша (Grosch) и

Мура (Moore)
Закон Гроша: Производительность компьютера пропорциональна квадрату стоимости компьютера (сейчас

уже не работает)
Закон Мура: Производительность последовательных процессоров возрастает в два раза каждые 18-24 месяца

ІОЦ КНУ імені Тараса Шевченка, 2005 рЗаконы Гроша (Grosch) и Мура (Moore)Закон Гроша: Производительность компьютера пропорциональна квадрату

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

операционных систем с одним процессором одновременного выполнения получить нельзя, но

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

Слайд 59ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллелизм и конкуренция
Concurrent и

Parallel - синонимы
Параллелизм – одновременность выполнения задачи
Конкуренция – одновременность использования

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

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

ЭВМ не может возрастать до бесконечности
Единственный способ получить чрезвычайно высокую

производительность на существующем техническом уровне – это использовать параллельные вычисления на уровне инструкций, процедур, объектов, приложений
Современные (даже последовательные компьютеры) используют параллелизм
Использование параллельных вычислений ведет к удорожанию оборудования
Параллельные вычисления требуют разработки специальных алгоритмов и использования специальных средств программирования
Не все задачи можно эффективно распараллелить
ІОЦ КНУ імені Тараса Шевченка, 2005 рВыводы относительно параллелизмаПроизводительность последовательных ЭВМ не может возрастать до бесконечностиЕдинственный способ

Слайд 61ІОЦ КНУ імені Тараса Шевченка, 2005 р
Распределенные вычисления
Вычисление выполняется в

нескольких адресных пространствах (с помощью нескольких процессов)
Процесс (task) – единица

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

Слайд 62ІОЦ КНУ імені Тараса Шевченка, 2005 р
Распределенные программы
Несколько процессов выполняются


на одной машине и служат для
решения общей задачи
Программы выполняется

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

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

ресурсов, которые находятся на разных аппаратных платформах или принадлежат разным

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

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

на разных компьютерах
Доступ к удаленным сетевым ресурсам
Предоставление доступа пользователей других

машин к своим ресурсам
Распределенные вычисления сейчас стали синонимом слова Интернет

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

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

необходим большому количеству людей, то его необязательно размещать на компьютерах

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

Слайд 66ІОЦ КНУ імені Тараса Шевченка, 2005 р
Децентрализация
Данные очень большого объема

можно разнести по нескольким физическим системам
Пример: большие поисковые системы

ІОЦ КНУ імені Тараса Шевченка, 2005 рДецентрализацияДанные очень большого объема можно разнести по нескольким физическим системамПример: большие

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

одного ресурса и в случае выхода из строя одной копии,

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

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

ІОЦ КНУ імені Тараса Шевченка, 2005 рСложностиДекомпозиция, связь, синхронизацияУсложнение программирования

Слайд 69ІОЦ КНУ імені Тараса Шевченка, 2005 р
Параллельные и распределенные вычисления
Много

общего в целях и подходах
Не все параллельные вычисления являются

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

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

памятью
Параллельная, но не распределенная
Все программы могут совместно использовать одни и

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

Слайд 71ІОЦ КНУ імені Тараса Шевченка, 2005 р
Система с зеркалированием
Компьютер A

выполняет работу, а компьютер B является резервным на случай выхода

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

Слайд 72ІОЦ КНУ імені Тараса Шевченка, 2005 р
Выводы
Параллельные и распределенные вычисления

позволяют решать проблемы производительности, надежности и обеспечения доступа к ресурсам
Тем

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

Слайд 73ІОЦ КНУ імені Тараса Шевченка, 2005 р
Вопросы

ІОЦ КНУ імені Тараса Шевченка, 2005 рВопросы

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика