- •Билет №1
- •1.Составные части и свойства распределенной системы
- •2. Удаленный сервер
- •Билет №2
- •1. Параллелизм в распределенной системе
- •2. Реализация локального сервера
- •Билет №3
- •1. Закон Амдала
- •2. Заместитель/заглушка. Компилятор midl
- •Билет №4
- •1. Ускорение решения задачи в распределенной параллельной системе
- •2. Язык idl
- •Билет №5
- •1. Последовательные операции. Параллельные операции. Число процессоров.
- •2. Назначение данных на узлы распределенной системы. Модель назначения объектов на узлы. Сокращение трафика в каналах передачи данных.
- •Билет №6
- •1. Планирование параллельной распределенной обработки данных.
- •2. Модель назначения объектов на узлы. Частоты запросов к объектам. Длины объектов. Производительность узлов. Производительность каналов передачи данных.
- •Билет №7
- •1. Параллелизм в пространстве и во времени (конвейерный параллелизм)
- •2. Среднее время обработки одного запроса. Минимизация времени
- •Многошаговое планирование на базе asap
- •1 31 6 Типы операций:
- •Билет №8
- •1. Синхронное и асинхронное планирование.
- •2. Время обработки всех запросов к объектам. Загрузка узлов. Загрузка каналов передачи данных.
- •Билет №9
- •1. Планирование при ограничениях на ресурсы, время, достижимость
- •2. Локальный вызов процедуры. Маршалинг Локальный вызов процедуры
- •Маршалинг
- •Билет №10
- •Стратегия планирования asap Алгоритм планирования asap (как можно раньше)
- •2. Серверы в exe.
- •Билет №11
- •1. Стратегия планирования alap
- •2. Включение и агрегирование компонентов
- •Стратегия планирования «Группировка доминирующей последовательности» (Dominant Sequence Clustering - dsc)
- •Билет №12
- •1. Стратегия спискового планирования
- •Регистрация компонента в реестре
- •Билет №13
- •1. Многошаговое планирование
- •2. Функции CoGetClassObject и DllGetClassObject и их использование
- •Билет №14
- •1. Цепочечное планирование
- •2. Интерфейс iClassFactory
- •AБилет №15
- •1. Граф предшествования и граф распараллеленности операций
- •2. Фабрика класса
- •Билет №16
- •1. Свертывание графа распараллеленности операций
- •2. Использование динамической библиотеки. Экспорт функций из библиотеки. Загрузка и выгрузка dll
- •Билет №17
- •1. Синтез последовательно параллельного плана
- •2. Динамическая компоновка. Библиотеки dll. Создание динамической библиотеки
- •Билет №18
- •1. Модель разнородной распределенной системы
- •2. Управление временем жизни компонента. Подсчет ссылок
- •Билет №19
- •1. Сведение планирования к задаче целочисленного линейного программирования
- •2. Запрос интерфейса. Интерфейс iUnknown. Реализация интерфейса
- •1 31 6 Типы операций:
- •Билет №20
- •1. Задача минимизации ресурсов при заданном времени реализации плана
- •2. Таблица виртуальных функций
- •Билет №21
- •1. Целочисленное линейное программирование. Пример. Целевая функция. Система ограничений
- •Многошаговое планирование на базе asap
- •Билет №22
- •1. Планирование выполнения графа задач на узлах распределенной системы с учетом обмена данными
- •2. Теория интерфейсов
- •Неизменность интерфейсов
- •Билет №23
- •1. Граф задач. Назначение задач на процессоры. Обмен данными. План решения задач на каждом процессоре. Планирование выполнения графа задач на узлах распределенной системы с учетом обмена данными
- •Планирование графа задач
- •2. Языки и инструменты программирования распределенной обработки данных.
- •1 31 6 Типы операций:
- •Билет №24
- •1. Стратегии планирования на графе задач. Планирование графа задач
- •2. Процессы и потоки. Многопоточные приложения. Модель многопоточных приложений
- •Билет №25
- •1. Стратегия планирования «Наиболее ранняя задача первая» (Earliest Task First - etf). Стратегия планирования «Наиболее ранняя задача первая» (Earliest Task First - etf)
- •2 . Инкапсуляция. Полиморфизм. Виртуальные функции. Чисто абстрактные базовые классы. Множественное наследование. Инкапсуляция.
- •Полиморфизм и виртуальные функции
- •Чисто абстрактные базовые классы
- •Множественное наследование классов. Компоненты
- •1 31 6 Типы операций:
- •Билет №26
- •1. Стратегия планирования «Зануление дуг» (Edge Zeroing - ez). Стратегия планирования «Зануление дуг» (Edge Zeroing - ez)
- •2. Преимущество использования компонентов. Требования к компонентам. Преимущества использования компонентов
- •Требования к компонентам
- •Билет №27
- •2. Модель компонентных объектов com.
- •1 31 6 Типы операций:
- •Билет №28
- •1. Стратегия планирования «Управление мобильностью» (Mobility Directed - md). Стратегия планирования «Управление мобильностью» (Mobility Directed - md)
- •2. Интерфейс передачи сообщений (Message Passing Interface - mpi). Интерфейс передачи сообщений mpi
- •Постановка проблемы
- •Билет №29
- •1. Граф взаимодействия задач. Граф разнородной сети. Планирование решения задач в разнородной распределенной системе
- •2. Интерфейс OpenMp. Интерфейс OpenMp
- •Билет №30
- •Постановка проблемы
- •Алгоритм а* оптимального назначения задач на процессоры
- •2. Технологический стандарт написания распределённых приложений corba. Технологический стандарт corba
2. Модель компонентных объектов com.
После компиляции приложение состоит из одного монолитного двоичного файла. Оно остается неизменным пока не будет скомпилирована новая версия. Современные требования к ПО таковы, что приложения не должны быть застывшими. Модель компонентных объектов Microsoft COM позволяет разбить монолитное приложение на отдельные части, или компоненты. По мере использования приложения одни версии компонентов могут заменяться другими версиями. Подключение новых версий происходит во время выполнения приложения. Модель компонентных объектов COM (Component Object Model) это спецификация метода создания компонентов и построения из них приложений. СОМ определяет стандарт, которому должны следовать компоненты и клиенты, чтобы гарантировать возможность совместной работы.
Задача - Привести пример плана, построенного в соответствии со стратегией ASAP.
Тип – планирование на достижимость.
Исходные данные: 1) Граф непосредственного предшествования операций.
Результирующие данные:
Шаги управления.
Распределение операций по шагам управления.
Число процессоров каждого типа.
Описание алгоритма:
Планирование выполняется в цикле, начиная с первого шага и кончая последним шагом.
Алгоритм начинает работу с введения первого шага управления и размещения на нем операций, не имеющих операций-предшественников.
Алгоритм завершает работу в случае назначения всех операций на шаги управления.
Для каждого шага управления выполняются следующие действия по планированию:
Из множества всех операций выбираются не спланированные операции.
Для каждой из них проверяется, все ли операции-предшественники спланированы на предшествующих шагах управления.
Если да, то операция включается в текущий шаг, в противном случае остается не спланированной.
Граф по которому планируем:
1 31 6 Типы операций:
Type(1) -> type(1)
Type(2)->type(2)
Type(3)->type(1)
21
41
Type(4)->type(2)
7 1
Type(5)->type(1)Type(6)->type(1)
51
Type(7)->type(2)Type(8)->type(1)
87 1
1
3
6
212
4
7
5
8
Шаг 1
Шаг 2
Шаг 3
Шаг 4
Операции
Процессы
3 первого типа
3 второго типа
1 первого типа
1 первого типа
Билет №28
1. Стратегия планирования «Управление мобильностью» (Mobility Directed - md). Стратегия планирования «Управление мобильностью» (Mobility Directed - md)
Стратегия MD выполняет планирование задач в порядке возрастания их относительной мобильности. Абсолютная мобильность операции есть разность времен наиболее позднего и наиболее раннего начала выполнения операции. Время наиболее раннего запуска операции определяется стратегией ASAP, время наиболее позднего запуска операции определяется стратегией ALAP. Относительная мобильность определяется делением абсолютной мобильности на время решения задачи. Операция с наименьшей относительной мобильностью назначается на первый по порядку процессор, имеющий достаточный временной слот. После назначения выбранной операции относительная мобильность оставшихся операций пересчитывается.
Р
ассмотрим
стратегию на примере графа задач,
показанного на рис.1. Предварительно
выполняется определение наиболее
раннего времени начала выполнения
операций на основе применения стратегии
ASAP
(рис.14) и наиболее позднего времени
начала выполнения операций на основе
применения стратегии ALAP
(рис.1а). Рассчитывается абсолютная и
относительная статическая мобильность
всех задач. Упорядочение задач (n1,
n3,
n4,
n2)
выполняется с учетом возрастания
относительной мобильности:
Задача |
n1 |
n2 |
n3 |
n4 |
Наиболее раннее время запуска |
0 |
6 |
25 |
45 |
Наиболее позднее время запуска |
0 |
24 |
25 |
45 |
Абсолютная мобильность |
0 |
18 |
0 |
0 |
Время решения задачи |
5 |
20 |
10 |
8 |
Относительная мобильность |
0 |
0.9 |
0 |
0 |
Задачи лежат на критическом пути, поэтому имеют нулевую мобильность.
Построение плана происходит на четырех шагах. После шага 2 не спланированные задачи n2, n4 имеют относительную мобильность 0, следовательно, на шаге 3 планируется операция n2, на шаге 4 – операция n4. Результирующий план показан на рис.15. Для задачи n2 не находится свободного слота времени на процессоре PE0, поэтому она назначается на процессор PE1. Напротив, для задачи n4 имеется свободный слот времени на процессоре PE0, на который она и назначается.
