Контрольная работа
Задание1.) Написать последовательную программу по заданию варианта.
2.) Реализовать версию программы с использованием многопочности или MPI. Для вариантов 3, 4, 5, 6 один процесс моделируемой системы имитируется одним потоком или с использованием MPI один процесс моделируемой системы имитируется одним MPI процессом/рэнком. Для планировщиков предусмотреть наличие нескольких вычислителей, каждый из которых имитируется отдельным потоком или MPI процессом. Для варианта 1 имитируется некоторое расширение сетей Петри, в которых все переходы могут срабатывать одновременно. Каждый переход моделируется отдельным потоком или MPI процессом. При этом, используя средства синхронизации в потоках или MPI, нужно исключить одновременный доступ разных переходов к одним и тем же позициям.
Темы контрольных работ:№ варианта Задание
1 Имитатор работы сети Петри. Описание графа и начальное состояние считывается из текстового файла. Синтаксис описания выбирается произвольно. Промежуточные шаги (номера срабатывающих переходов) и конечное состояние сохраняются в файл.
2 Реализация планировщика для дисциплины “короткие задачи вперед”. Исходные данные задают последовательность поступающих задач с указанием времени их поступления и оценки времени счета для каждой задачи. Переключение между задачами происходит либо при завершении задачи, либо при поступлении новой задачи. В результате работы планировщика формируется отчет, хранящий описание событий: 1) поступление задачи, 2) запуск задачи, 3) завершение задачи (с указанием всех существенных ассоциированных с этими событиями параметров (время, номер задачи, оставшееся время счета и т.д.)
3 Программа, имитирующая работу снэпшот алгоритма для системы с двумя процессами
4 Программа, имитирующая работу алгоритма выбора лидера Чанга и Робертс. Входная конфигурация описывает число процессов и UID каждого из них, порядок их следования в кольце и номер процесса/процессов, запустивших алгоритм. В результате формируется отчет о всех сообщениях от момента старта алгоритма до момента его завершения
5 Программа, имитирующая работу алгоритма выбора лидера Bully. Входная конфигурация описывает число процессов и UID каждого из них и номер процесса/процессов, запустивших алгоритм. В результате формируется отчет о всех сообщениях от момента старта алгоритма до момента его завершения
6 Программа, имитирующая работу Итай/Родэ. Результат работы – отчет с информацией о каждом промежуточном состоянии
7 Реализация планировщика для дисциплины “Robin Round”. Исходные данные задают последовательность поступающих задач с указанием времени их поступления. Переключение между задачами происходит по истечении одной единицы модельного времени, либо при завершении задачи, либо при поступлении новой задачи. В результате работы планировщика формируется отчет, хранящий описание событий: 1) поступление задачи, 2) запуск задачи, 3) завершение задачи, переключение между задачами (с указанием всех существенных ассоциированных с этими событиями параметров (время, номер задачи, оставшееся время счета и т.д.)
8 Реализация имитатора алгоритма распределенной блокировки для случая с тремя распределенными процессами
9 Реализация имитатора работы асинхронной программы
10 Реализация задачи читатели-писатели
=============================================
Вопросы для самоконтроля:- Виды прозрачности в распределенных системах.
- Свойства масштабируемости, открытости и неоднородности системы.
- Отличия распределенных систем от параллельных ВС.
- Какие есть способы измерения производительности отдельных узлов распределенной ВС? Показатели производительности.
- Производительность распределенной системы. Ускорение. Эффективность распараллеливания.
- Понятия мультимножества, двудольных и многодольных графов.
- Понятие сетей Петри. Алгоритм функционирования.
- Какие бывают интерпретации сетей Петри?
- Безопасная сеть Петри.
- Понятие графа достижимости.
- Понятие семафора
- Дедлоки. Необходимые условия их возникновения.
- Способы борьбы с дедлоками.
- Задача производитель/потребитель.
- Задача читатель-писатель.
- Понятие критического интервала.
- Понятие асинхронной программы.
- Алгоритм Кристиана. Назначение и функционирование.
- Основные свойства отношения частичного порядка в часах Лэмпорта для распределенной системы
- Часы Лампорта и пример их реализации.
- На каких правилах построена реализация часов Лэмпорта?
- Определение частичного порядка событий в часах Лэмпорта. Отношение “случилось до”.
- Как можно ввести отношение полного порядка в часах Лэмпорта?
- Как формулируется проблема синхронизации стрелков? Опишите один из алгоритмов ее решения.
- Алгоритмы выбора лидера. Задачи, решаемые ими, и свойства корректного алгоритма.
- Какие существуют основные алгоритмы выбора лидера, в чем отличия между ними?
- Алгоритм Чанга и Робертс.
- Алгоритм Bully.
- Алгоритм Итай/Родэ
- Алгоритмы взаимного исключения в распределенных системах. Назначение. Условия, которым должных удовлетворять алгоритмы взаимного исключения.
- Снэпшот алгоритмы.
- Пример работы снэпшот алгоритма.
- Алгоритмы поиска минимального остовного дерева.
- Алгоритм Прима.
- Дисциплины обслуживания. Основные характеристики. Достоинства и недостатки.
- Задачи, решаемые алгоритмами балансировки. Виды этих алгоритмов.