Upload
seregaovukhov
View
440
Download
1
Embed Size (px)
DESCRIPTION
Лекция по РВ
Citation preview
МарГТУ 2008 г. 1
Распределенные вычисления
Введение в распределенные вычисления. Сети Петри.
Лекция 1Подготовил: Хованский Е. П.
МарГТУ 2008 г. 2
Лабораторные работы. Требования
Языки программирования: С++ и C# под MS Visual Studio 2003, 2005 – для C# (для поддержки семафоров).
Исходный код и стабильно работающая программа. Схема потоков, как в примерах к 1 и 2 работе или,
желательно, использовать Сети Петри (программа находится в папке Help\Сети_Петри) (для первых двух лабораторных).
Защита лабораторных работ: презентовать свою работу («похвалить» её) и рассказать основные моменты реализации.
МарГТУ 2008 г. 3
Баллы. Лабораторные работы
Максимальное количество баллов за работу: 10 баллов. Время на выполнение – 2 недели, затем количество
полученных вами баллов будет снижено на 1/4, а еще через две недели еще на 1/4, и так далее...
То есть формула дисконтирования следующая: Где S0 – количество заработанных за решение баллов, а
w – количество потраченных на выполнение недель.
2
43
0
w
SS
МарГТУ 2008 г. 4
Баллы. Теория
За пропуск одной лекции минус 2 балла. Контрольные проверочные работы (10-12 минут) – 3-5
баллов за работу.
МарГТУ 2008 г. 5
Лабораторные работы. Бонусы
Сдача лабораторной на неделю раньше срока – бонус 1 балл, на две недели – бонус 2 балла и т. д.
Сроки сдачи: 1 – 22 - 29 сентября; 2 – 6 - 13 октября; 3 – 20 - 27 октября; и т. д.
Всего работ 5-7. Те кто сделает 7 лабораторную (при условии сделанных 6 предыдущих), в качестве бонуса можно будет ее засчитать за РГР в следующем семестре.
P.S. Требования к защите лабораторных работ могут бытьизменены преподавателем.
МарГТУ 2008 г. 6
Организация параллельности вычислений
введения избыточности функциональных устройств (многопроцессорности);
разработка и оптимизация алгоритмов.
МарГТУ 2008 г. 7
Избыточность функциональных устройств
Супер ЭВМ. Сети. Кластеры. Многоядерные процессоры.
МарГТУ 2008 г. 8
Параллельные Вычисления.
Потери производительности для организации параллелизма (гипотеза Минского) – ускорение a ~ log2N, где N число процессоров.
Существование последовательных вычислений. Закон Амдаля об ускорении процесса вычисления:
Где f – доля последовательных вычислений.
МарГТУ 2008 г. 9
Проблематика параллельных вычислений.
Зависимость эффективности параллелизма от учета характерных свойств параллельных систем
Существующее программное обеспечение ориентировано в основном на последовательные ЭВМ
МарГТУ 2008 г. 10
Направления исследований.
разработка параллельных вычислительных систем; анализ эффективности параллельных; формирование общих принципов разработки
параллельных алгоритмов для решения сложных вычислительно трудоемких задач
создание и развитие системного программного обеспечения для параллельных вычислительных систем
создание и развитие параллельных алгоритмов для решения прикладных задач в разных областях практических приложений.
МарГТУ 2008 г. 11
Пути достижения параллелизма.
независимость функционирования отдельных устройств ЭВМ;
избыточность элементов вычислительной системы:
использование специализированных устройств;
дублирование устройств ЭВМ путем использования;
конвейерная реализация обрабатывающих устройств.
МарГТУ 2008 г. 12
Режимы исполнения программ
многозадачный режим (режим разделения времени);
параллельное выполнение; распределенные вычисления.
Распределённые вычисле"ния (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть.
МарГТУ 2008 г. 13
Параллельное программирование
Параллельная программа представляет систему независимо исполняющихся взаимодействующих процессов
МарГТУ 2008 г. 14
Некорректное вычисление данных
Пусть необходимо начислить зарплату и вычислить сумму денег, подлежаыщих выдаче на руки. Оставляя в стороне излишние здесь детали, будем предполагать, что зарплату составляют некоторая базисная зарплата N0 плюс надбавки N1, N2, ..., Nn (выражаются в процентах к базисной зарплате) минус налог Nn-1 (выражаются в процентах к начисленной сумме).
МарГТУ 2008 г. 15
Некорректное вычисление данных
• Пусть процессы Р0, P1, Р2, ... , Рn, Рn+1 соответственно выполняют эти операции.
• Процессы Р1, P2,..., Рn, Рn+1 выполняются асинхронно.
(Р0 + P1 + Pn+1 + P2 + ... + Рn) ≠ (Р0 + Pn+1 + P1 + Р2 + ... + Рn)
МарГТУ 2008 г. 16
Некорректное считывание данных
• Пусть в банке А есть счет acc1, на котором находится 500 тыс. руб., а в банке В - счет асс2, на котором находится 300 тыс. руб, и необходимо переслать 100 тыс. руб. со счета асc1 на счет асс2. Сумма денег на обоих счетах неизменна до и после выполнения пересылки и равна 800 тыс руб. Пусть процесс P1 посылает деньги из банка А в банк В, а процесс Р2 принимает посланные деньги в банке B.
МарГТУ 2008 г. 17
Некорректное считывание данных. Исходные данные.
• А.асс1 = 500 тыс. руб.• В.асс2 = 300 тыс. руб.
МарГТУ 2008 г. 18
Некорректное считывание данных. Исходные данные.
• А.асс1 = 500 тыс. руб.• В.асс2 = 300 тыс. руб.
МарГТУ 2008 г. 19
Некорректное считывание данных. Исходные данные.
Процесс Р1 Процесс Р2 А.асc1: = А.асc1 - 100; receive (x,A,y); x: = 100 send (x, B, y); B.acc2: = B.acc2 + y;
МарГТУ 2008 г. 20
Некорректное считывание данных.
• сумма А.асс1 + В.асс2 может равняться 700 тыс.руб. (если значение А.асс1 было считано после его изменения, а значение В.асс2 - до изменения)
• 800 тыс. руб – считывание после пересылки.
• сумма А.асс1 + В.асс2 может равняться 900 тыс.руб. (если значение А.асс1 было считано до его изменения, а значение В.асс2 - после изменения)
МарГТУ 2008 г. 21
Определение сети Петри
математическая модель, которая имеет широкое применение для описания поведения параллельных устройств и процессов;
есть двудольный ориентированный граф.
МарГТУ 2008 г. 22
Определение сети Петри
N = (T, P, A), T Р = Ø, где Т = {t1, t2, ..., tn} - подмножество вершин,
называющихся переходами; Р = {p1, р2, ..., pm} - подмножество вершин,
называющихся местами; А (T×P) (P×T) - множество ориентированных
дуг.
МарГТУ 2008 г. 23
Пример №1 сети Петри
граф: продукционные правила:
МарГТУ 2008 г. 24
Разметка сети Петри
Состояние - определяется системой условий.
Фишки – запись, объекты и т. д. (изображается точкой)
Места – условия в сети (буфер пуст, файл закрыт) (изображается кружком).
Переходы – события в сети (посылка или получение сообщения в буфер, запись в файл) (изображается палочкой, чертой).
Задается формально: М: Р → I, I = {0,1,2,..}
МарГТУ 2008 г. 25
Пример №2 сети Петри
М0 = {1,0,0} М1 = {1,1,1} М2 = {1,2,3}
МарГТУ 2008 г. 26
Пример №2 сети Петри
МарГТУ 2008 г. 27
Сеть Петри как устройство
МарГТУ 2008 г. 28
Граф достижимости
Разметка М называется достижимой, если при некоторой последовательности срабатываний сети, начиная с начальной разметки М0, она переходит к разметке М.
Множество разметок, достижимых в порядке срабатывания сети, представляется разверткой сети.
Множество достижимых разметок удобно представлять графом достижимости, который показывает все достижимые разметки и последовательности срабатываний переходов, приводящих к ним.
МарГТУ 2008 г. 29
Граф достижимости. Пример 3.
МарГТУ 2008 г. 30
Дедлоки
Состояние дедлока возникает, когда запрос ресурсов в системе не может быть удовлетворен и система останавливается (ни один переход не может сработать).
МарГТУ 2008 г. 31
Дедлоки. Пример 4.
МарГТУ 2008 г. 32
Пример 5. Задача о философах
Пять философов, прогуливаясь и размышляя, время от времени испытывают приступы голода. Тогда они заходят в столовую, где стоит круглый стол, на нем всегда приготовлены пять блюд. Между соседними блюдами лежит одна вилка (всего лежат ровно пять вилок).
МарГТУ 2008 г. 33
Пример 5. Задача о философах
Голодный философ: входит в столовую, садится за стол и берет вилку
слева; берет вилку справа; ест (обязательно двумя вилками); кладет обе вилки на стол, выходит из столовой и
продолжает думать.
МарГТУ 2008 г. 34
Пример 5. Задача о философах
варианты поведения философов: Одновременно взяли все левую вилку; Два философа одновременно взяли одну вилку; Стеснительный философ не должен умирать
голодной смертью из-за того, что его вилки постоянно раньше него хватают напористые соседи;
Легко представить себе ситуацию, когда банда сговорившихся философов завладеет всеми вилками и, передавая их только в своей среде, уморит голодом всех прочих.
МарГТУ 2008 г. 35
Пример 5. Один философ.
МарГТУ 2008 г. 36
МарГТУ 2008 г. 37
Спасибо за внимание!