SlideShare a Scribd company logo
Введение в распределенные вычисления. Сети Петри. Лекция  1 Подготовил :  Хованский Е. П.
Лабораторные работы. Требования Языки программирования: С++ и  C#  под  MS Visual Studio 2003 ,  2005 –  для  C#  (для поддержки семафоров). Исходный код и стабильно работающая программа. Схема потоков, как в примерах к 1 и 2 работе или, желательно, использовать Сети Петри (программа находится в папке  Help \Сети_Петри) (для первых двух лабораторных). Защита лабораторных работ: презентовать свою работу («похвалить» её) и рассказать основные моменты реализации.
Баллы. Лабораторные работы Максимальное количество баллов за работу:  10 баллов . Время на выполнение –  2 недели , затем количество полученных вами баллов будет снижено на 1/4, а еще через две недели еще на 1/4, и так далее...  То есть формула дисконтирования следующая: Где  S 0  – количество заработанных за решение баллов, а  w   – количество потраченных на выполнение недель.
Баллы. Теория За пропуск одной лекции  минус   2 балла . Контрольные проверочные работы (10-12 минут) –  3-5 баллов  за работу.
Лабораторные работы. Бонусы Сдача лабораторной на неделю раньше срока – бонус  1 балл , на две недели – бонус  2 балла  и т. д. Сроки сдачи: 1 – 22 - 29 сентября; 2 – 6 - 13 октября; 3 – 20 - 27 октября; и т. д. Всего работ 5-7. Те кто сделает 7 лабораторную (при условии сделанных 6 предыдущих), в качестве бонуса можно будет ее засчитать за РГР в следующем семестре. P.S.  Требования к защите лабораторных работ могут быть изменены преподавателем.
Организация параллельности вычислений введения избыточности функциональных устройств (многопроцессорности);  разработка и оптимизация алгоритмов.
Избыточность функциональных устройств Супер ЭВМ. Сети. Кластеры. Многоядерные процессоры.
Параллельные Вычисления.  Потери производительности для организации параллелизма (гипотеза Минского) – ускорение  a ~ log 2 N , где  N  число процессоров. Существование последовательных вычислений. Закон Амдаля об ускорении процесса вычисления: Где  f  – доля последовательных вычислений.
Проблематика параллельных вычислений.  Зависимость эффективности параллелизма от учета характерных свойств параллельных систем  Существующее программное обеспечение ориентировано в основном на последовательные ЭВМ
Направления исследований.  разработка параллельных вычислительных систем; анализ эффективности параллельных; формирование общих принципов разработки параллельных алгоритмов для решения сложных вычислительно трудоемких задач создание и развитие системного программного обеспечения для параллельных вычислительных систем  создание и развитие параллельных алгоритмов для решения прикладных задач в разных областях практических приложений.
Пути достижения параллелизма .  независимость функционирования отдельных устройств ЭВМ; избыточность элементов вычислительной системы: использование специализированных устройств; дублирование устройств ЭВМ путем использования; конвейерная реализация обрабатывающих устройств.
Режимы исполнения программ многозадачный режим (режим разделения времени); параллельное выполнение; распределенные вычисления.  Распределённые вычисле́ния  ( distributed   computing ,  grid   computing , volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть.
Параллельное программирование Параллельная программа представляет систему независимо исполняющихся взаимодействующих процессов
Некорректное вычисление данных Пусть необходимо начислить зарплату и вычислить сумму денег, подлежаыщих выдаче на руки. Оставляя в стороне излишние здесь детали, будем предполагать, что зарплату составляют некоторая базисная зарплата N 0  плюс надбавки N 1 , N 2 , ..., N n  (выражаются в процентах к базисной зарплате) минус налог N n-1   (выражаются в процентах к начисленной сумме).
Некорректное вычисление данных Пусть процессы Р 0 , P 1 , Р 2 , ... , Р n , Р n+1  соответственно выполняют эти операции. Процессы Р 1 , P 2 ,..., Р n , Р n+1  выполняются асинхронно. (Р 0  + P 1  + P n+1  + P 2  + ... + Р n ) ≠ (Р 0  + P n+1  + P 1  + Р 2  + ... + Р n )
Некорректное считывание данных Пусть в банке А есть счет acc1, на котором находится 500 тыс. руб., а в банке В - счет асс2, на котором находится 300 тыс. руб, и необходимо переслать 100 тыс. руб. со счета асc1 на счет асс2. Сумма денег на обоих счетах неизменна до и после выполнения пересылки и равна 800 тыс руб. Пусть процесс P1 посылает деньги из банка А в банк В, а процесс Р2 принимает посланные деньги в банке B.
Некорректное считывание данных. Исходные данные. А.асс1 = 500 тыс. руб. В.асс2 = 300 тыс. руб.
Некорректное считывание данных. Исходные данные. А.асс1 = 500 тыс. руб. В.асс2 = 300 тыс. руб.
Некорректное считывание данных. Исходные данные. Процесс Р1                              Процесс Р2   А.асc1: = А.асc1 - 100;            receive (x,A,y);  x: = 100  send (x, B, y);                          B.acc2: = B.acc2 + y;
Некорректное считывание данных.  сумма А. асс1  + В. асс2  может равняться 700 тыс.руб. (если значение А. асс1  было считано после его изменения, а значение В. асс2  - до изменения)  800 тыс. руб – считывание после пересылки. сумма А. асс1  + В. асс2  может равняться 900 тыс.руб. (если значение А. асс1  было считано до его изменения, а значение В. асс2  - после изменения)
Определение сети Петри математическая модель, которая имеет широкое применение для описания поведения параллельных устройств и процессов;  есть двудольный ориентированный граф.
Определение сети Петри N = (T, P, A), T    Р = Ø, где  Т = {t 1 , t 2 , ..., t n } - подмножество вершин, называющихся переходами; Р = {p 1 , р 2 , ..., p m } - подмножество вершин, называющихся местами; А    (T×P)    (P×T) - множество ориентированных дуг.
Пример №1 сети Петри граф: продукционные правила:
Разметка сети Петри Состояние  - определяется системой условий.  Фишки  – запись, объекты и т. д. (изображается  точкой ) Места  – условия в сети (буфер пуст, файл закрыт) (изображается  кружком ). Переходы  – события в сети (посылка или получение сообщения в буфер, запись в файл) (изображается  палочкой, чертой ). Задается формально:  М: Р -> I, I = {0,1,2,..}
Пример №2 сети Петри М 0  = {1,0,0}   М 1  = {1,1,1}   М 2  = {1,2,3}
Пример №2 сети Петри
Сеть Петри как устройство
Граф достижимости Разметка М называется достижимой, если при некоторой последовательности срабатываний сети, начиная с начальной разметки М 0 , она переходит к разметке М. Множество разметок, достижимых в порядке срабатывания сети, представляется  разверткой сети . Множество достижимых разметок удобно представлять  графом достижимости , который показывает все достижимые разметки и последовательности срабатываний переходов, приводящих к ним.
Граф достижимости. Пример 3.
Дедлоки Состояние  дедлока  возникает, когда запрос ресурсов в системе не может быть удовлетворен и система останавливается (ни один переход не может сработать).
Дедлоки. Пример 4.
Пример 5. Задача о философах Пять философов, прогуливаясь и размышляя, время от времени испытывают приступы голода. Тогда они заходят в столовую, где стоит круглый стол, на нем всегда приготовлены пять блюд. Между соседними блюдами лежит одна вилка (всего лежат ровно пять вилок).
Пример 5. Задача о философах Голодный философ: входит в столовую, садится за стол и берет вилку слева;  берет вилку справа; ест (обязательно двумя вилками); кладет обе вилки на стол, выходит из столовой и продолжает думать.
Пример 5. Задача о философах варианты поведения философов: Одновременно взяли все левую вилку;  Два философа одновременно взяли одну вилку; Стеснительный философ не должен умирать голодной смертью из-за того, что его вилки постоянно раньше него хватают напористые соседи; Легко представить себе ситуацию, когда банда сговорившихся философов завладеет всеми вилками и, передавая их только в своей среде, уморит голодом всех прочих.
Пример 5. Один философ.
 
Спасибо за внимание!

More Related Content

PDF
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...
PPT
Одномерные массивы целых чисел
PPT
Системы счисления
PPT
Алгоритмическая конструкция следование
PPT
Программирование разветвляющихся алгоритмов
PPT
Представление информации в компьютере
PDF
Представление графов в памяти компьютера (c++).
PPT
Программирование линейных алгоритмов
Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный...
Одномерные массивы целых чисел
Системы счисления
Алгоритмическая конструкция следование
Программирование разветвляющихся алгоритмов
Представление информации в компьютере
Представление графов в памяти компьютера (c++).
Программирование линейных алгоритмов

What's hot (20)

PDF
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
PDF
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
PPTX
Советский суперкомпьютер К-340А и секретные вычисления
PPT
Запись вспомогательный алгоритмов на языка Паскаль
PDF
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
PPTX
Программирование: от сложного к простому
PDF
Лекция 4: Стек. Очередь
PPT
PPTX
Алгоритмы и структуры данных весна 2014 лекция 1
PDF
1. Типы данных. Операции. Ввод и вывод C#
PDF
Лекция 8. Графы. Обходы графов
PDF
TMPA-2013 Dmitry Zaitsev
PDF
Лекция 4: Стеки и очереди
PPTX
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
PPTX
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
PPT
якобовский - введение в параллельное программирование (1)
PDF
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
PDF
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
PDF
Алгоритмы и структуры данных осень 2013 лекция 2
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Советский суперкомпьютер К-340А и секретные вычисления
Запись вспомогательный алгоритмов на языка Паскаль
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Программирование: от сложного к простому
Лекция 4: Стек. Очередь
Алгоритмы и структуры данных весна 2014 лекция 1
1. Типы данных. Операции. Ввод и вывод C#
Лекция 8. Графы. Обходы графов
TMPA-2013 Dmitry Zaitsev
Лекция 4: Стеки и очереди
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
якобовский - введение в параллельное программирование (1)
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Алгоритмы и структуры данных осень 2013 лекция 2
Ad

Viewers also liked (8)

PPTX
Barb's Powerpoint
PPT
PildimäNg 2
PPS
Russia Honor Usa 11.09
PPT
Website Redesign
PPS
Esculturas Em Papel
PPT
Pildimang1
PPT
PildimäNg 3
PPT
Cd6813 services
Barb's Powerpoint
PildimäNg 2
Russia Honor Usa 11.09
Website Redesign
Esculturas Em Papel
Pildimang1
PildimäNg 3
Cd6813 services
Ad

Similar to 01 вводная (20)

PPT
=lection_01.ppt
PDF
Алгоритмы и структуры данных осень 2013 лекция 1
DOC
03
PPT
чернякова г.в.
DOC
8
PPT
Diskretn analiz
PPT
Diskretn analiz
PPT
Обзор современного состояния области алгоритмов и структур данных
PPT
Обзор современного состояния области алгоритмов и структур данных
PDF
Алгоритмы и структуры данных осень 2013 лекция 8
PPT
Введение в алгоритмы и структуры данных
PDF
Алгоритмы на ruby: перебор и рекурсия
PPT
архитектура и устройства компьютерной техники
PPT
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
PPTX
Запись алгоритмов на языках программирования
PPT
тема множество для загрузки 2013
PPT
лекция1
PPTX
Мастер класс по алгоритмам. Часть 1
PDF
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
=lection_01.ppt
Алгоритмы и структуры данных осень 2013 лекция 1
03
чернякова г.в.
8
Diskretn analiz
Diskretn analiz
Обзор современного состояния области алгоритмов и структур данных
Обзор современного состояния области алгоритмов и структур данных
Алгоритмы и структуры данных осень 2013 лекция 8
Введение в алгоритмы и структуры данных
Алгоритмы на ruby: перебор и рекурсия
архитектура и устройства компьютерной техники
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Запись алгоритмов на языках программирования
тема множество для загрузки 2013
лекция1
Мастер класс по алгоритмам. Часть 1
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...

01 вводная

  • 1. Введение в распределенные вычисления. Сети Петри. Лекция 1 Подготовил : Хованский Е. П.
  • 2. Лабораторные работы. Требования Языки программирования: С++ и C# под MS Visual Studio 2003 , 2005 – для C# (для поддержки семафоров). Исходный код и стабильно работающая программа. Схема потоков, как в примерах к 1 и 2 работе или, желательно, использовать Сети Петри (программа находится в папке Help \Сети_Петри) (для первых двух лабораторных). Защита лабораторных работ: презентовать свою работу («похвалить» её) и рассказать основные моменты реализации.
  • 3. Баллы. Лабораторные работы Максимальное количество баллов за работу: 10 баллов . Время на выполнение – 2 недели , затем количество полученных вами баллов будет снижено на 1/4, а еще через две недели еще на 1/4, и так далее... То есть формула дисконтирования следующая: Где S 0 – количество заработанных за решение баллов, а w – количество потраченных на выполнение недель.
  • 4. Баллы. Теория За пропуск одной лекции минус 2 балла . Контрольные проверочные работы (10-12 минут) – 3-5 баллов за работу.
  • 5. Лабораторные работы. Бонусы Сдача лабораторной на неделю раньше срока – бонус 1 балл , на две недели – бонус 2 балла и т. д. Сроки сдачи: 1 – 22 - 29 сентября; 2 – 6 - 13 октября; 3 – 20 - 27 октября; и т. д. Всего работ 5-7. Те кто сделает 7 лабораторную (при условии сделанных 6 предыдущих), в качестве бонуса можно будет ее засчитать за РГР в следующем семестре. P.S. Требования к защите лабораторных работ могут быть изменены преподавателем.
  • 6. Организация параллельности вычислений введения избыточности функциональных устройств (многопроцессорности); разработка и оптимизация алгоритмов.
  • 7. Избыточность функциональных устройств Супер ЭВМ. Сети. Кластеры. Многоядерные процессоры.
  • 8. Параллельные Вычисления. Потери производительности для организации параллелизма (гипотеза Минского) – ускорение a ~ log 2 N , где N число процессоров. Существование последовательных вычислений. Закон Амдаля об ускорении процесса вычисления: Где f – доля последовательных вычислений.
  • 9. Проблематика параллельных вычислений. Зависимость эффективности параллелизма от учета характерных свойств параллельных систем Существующее программное обеспечение ориентировано в основном на последовательные ЭВМ
  • 10. Направления исследований. разработка параллельных вычислительных систем; анализ эффективности параллельных; формирование общих принципов разработки параллельных алгоритмов для решения сложных вычислительно трудоемких задач создание и развитие системного программного обеспечения для параллельных вычислительных систем создание и развитие параллельных алгоритмов для решения прикладных задач в разных областях практических приложений.
  • 11. Пути достижения параллелизма . независимость функционирования отдельных устройств ЭВМ; избыточность элементов вычислительной системы: использование специализированных устройств; дублирование устройств ЭВМ путем использования; конвейерная реализация обрабатывающих устройств.
  • 12. Режимы исполнения программ многозадачный режим (режим разделения времени); параллельное выполнение; распределенные вычисления. Распределённые вычисле́ния ( distributed computing , grid computing , volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть.
  • 13. Параллельное программирование Параллельная программа представляет систему независимо исполняющихся взаимодействующих процессов
  • 14. Некорректное вычисление данных Пусть необходимо начислить зарплату и вычислить сумму денег, подлежаыщих выдаче на руки. Оставляя в стороне излишние здесь детали, будем предполагать, что зарплату составляют некоторая базисная зарплата N 0 плюс надбавки N 1 , N 2 , ..., N n (выражаются в процентах к базисной зарплате) минус налог N n-1 (выражаются в процентах к начисленной сумме).
  • 15. Некорректное вычисление данных Пусть процессы Р 0 , P 1 , Р 2 , ... , Р n , Р n+1 соответственно выполняют эти операции. Процессы Р 1 , P 2 ,..., Р n , Р n+1 выполняются асинхронно. (Р 0 + P 1 + P n+1 + P 2 + ... + Р n ) ≠ (Р 0 + P n+1 + P 1 + Р 2 + ... + Р n )
  • 16. Некорректное считывание данных Пусть в банке А есть счет acc1, на котором находится 500 тыс. руб., а в банке В - счет асс2, на котором находится 300 тыс. руб, и необходимо переслать 100 тыс. руб. со счета асc1 на счет асс2. Сумма денег на обоих счетах неизменна до и после выполнения пересылки и равна 800 тыс руб. Пусть процесс P1 посылает деньги из банка А в банк В, а процесс Р2 принимает посланные деньги в банке B.
  • 17. Некорректное считывание данных. Исходные данные. А.асс1 = 500 тыс. руб. В.асс2 = 300 тыс. руб.
  • 18. Некорректное считывание данных. Исходные данные. А.асс1 = 500 тыс. руб. В.асс2 = 300 тыс. руб.
  • 19. Некорректное считывание данных. Исходные данные. Процесс Р1                              Процесс Р2 А.асc1: = А.асc1 - 100;            receive (x,A,y); x: = 100 send (x, B, y);                          B.acc2: = B.acc2 + y;
  • 20. Некорректное считывание данных. сумма А. асс1 + В. асс2 может равняться 700 тыс.руб. (если значение А. асс1 было считано после его изменения, а значение В. асс2 - до изменения) 800 тыс. руб – считывание после пересылки. сумма А. асс1 + В. асс2 может равняться 900 тыс.руб. (если значение А. асс1 было считано до его изменения, а значение В. асс2 - после изменения)
  • 21. Определение сети Петри математическая модель, которая имеет широкое применение для описания поведения параллельных устройств и процессов; есть двудольный ориентированный граф.
  • 22. Определение сети Петри N = (T, P, A), T  Р = Ø, где Т = {t 1 , t 2 , ..., t n } - подмножество вершин, называющихся переходами; Р = {p 1 , р 2 , ..., p m } - подмножество вершин, называющихся местами; А  (T×P)  (P×T) - множество ориентированных дуг.
  • 23. Пример №1 сети Петри граф: продукционные правила:
  • 24. Разметка сети Петри Состояние - определяется системой условий. Фишки – запись, объекты и т. д. (изображается точкой ) Места – условия в сети (буфер пуст, файл закрыт) (изображается кружком ). Переходы – события в сети (посылка или получение сообщения в буфер, запись в файл) (изображается палочкой, чертой ). Задается формально: М: Р -> I, I = {0,1,2,..}
  • 25. Пример №2 сети Петри М 0 = {1,0,0} М 1 = {1,1,1} М 2 = {1,2,3}
  • 27. Сеть Петри как устройство
  • 28. Граф достижимости Разметка М называется достижимой, если при некоторой последовательности срабатываний сети, начиная с начальной разметки М 0 , она переходит к разметке М. Множество разметок, достижимых в порядке срабатывания сети, представляется разверткой сети . Множество достижимых разметок удобно представлять графом достижимости , который показывает все достижимые разметки и последовательности срабатываний переходов, приводящих к ним.
  • 30. Дедлоки Состояние дедлока возникает, когда запрос ресурсов в системе не может быть удовлетворен и система останавливается (ни один переход не может сработать).
  • 32. Пример 5. Задача о философах Пять философов, прогуливаясь и размышляя, время от времени испытывают приступы голода. Тогда они заходят в столовую, где стоит круглый стол, на нем всегда приготовлены пять блюд. Между соседними блюдами лежит одна вилка (всего лежат ровно пять вилок).
  • 33. Пример 5. Задача о философах Голодный философ: входит в столовую, садится за стол и берет вилку слева; берет вилку справа; ест (обязательно двумя вилками); кладет обе вилки на стол, выходит из столовой и продолжает думать.
  • 34. Пример 5. Задача о философах варианты поведения философов: Одновременно взяли все левую вилку; Два философа одновременно взяли одну вилку; Стеснительный философ не должен умирать голодной смертью из-за того, что его вилки постоянно раньше него хватают напористые соседи; Легко представить себе ситуацию, когда банда сговорившихся философов завладеет всеми вилками и, передавая их только в своей среде, уморит голодом всех прочих.
  • 35. Пример 5. Один философ.
  • 36.