
- •Билет №1
- •1.Составные части и свойства распределенной системы
- •2. Удаленный сервер
- •Билет №2
- •1. Параллелизм в распределенной системе
- •2. Реализация локального сервера
- •Билет №3
- •1. Закон Амдала
- •2. Заместитель/заглушка. Компилятор midl
- •Билет №4
- •1. Ускорение решения задачи в распределенной параллельной системе
- •2. Язык idl
- •Билет №5
- •1. Последовательные операции. Параллельные операции. Число процессоров.
- •2. Назначение данных на узлы распределенной системы. Модель назначения объектов на узлы. Сокращение трафика в каналах передачи данных.
- •Билет №6
- •1. Планирование параллельной распределенной обработки данных.
- •2. Модель назначения объектов на узлы. Частоты запросов к объектам. Длины объектов. Производительность узлов. Производительность каналов передачи данных.
- •Билет №7
- •1. Параллелизм в пространстве и во времени (конвейерный параллелизм)
- •2. Среднее время обработки одного запроса. Минимизация времени
- •Многошаговое планирование на базе asap
- •Билет №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
- •Билет №15
- •1. Граф предшествования и граф распараллеленности операций
- •2. Фабрика класса
- •Билет №16
- •1. Свертывание графа распараллеленности операций
- •2. Использование динамической библиотеки. Экспорт функций из библиотеки. Загрузка и выгрузка dll
- •Билет №17
- •1. Синтез последовательно параллельного плана
- •2. Динамическая компоновка. Библиотеки dll. Создание динамической библиотеки
- •Билет №18
- •1. Модель разнородной распределенной системы
- •2. Управление временем жизни компонента. Подсчет ссылок
- •Билет №19
- •1. Сведение планирования к задаче целочисленного линейного программирования
- •2. Запрос интерфейса. Интерфейс iUnknown. Реализация интерфейса
- •Билет №20
- •1. Задача минимизации ресурсов при заданном времени реализации плана
- •2. Таблица виртуальных функций
- •Билет №21
- •1. Целочисленное линейное программирование. Пример. Целевая функция. Система ограничений
- •Многошаговое планирование на базе asap
- •Билет №22
- •1. Планирование выполнения графа задач на узлах распределенной системы с учетом обмена данными
- •2. Теория интерфейсов
- •Неизменность интерфейсов
- •Билет №23
- •1. Граф задач. Назначение задач на процессоры. Обмен данными. План решения задач на каждом процессоре. Планирование выполнения графа задач на узлах распределенной системы с учетом обмена данными
- •Планирование графа задач
- •2. Языки и инструменты программирования распределенной обработки данных.
- •Билет №24
- •1. Стратегии планирования на графе задач. Планирование графа задач
- •2. Процессы и потоки. Многопоточные приложения. Модель многопоточных приложений
- •Билет №25
- •1. Стратегия планирования «Наиболее ранняя задача первая» (Earliest Task First - etf). Стратегия планирования «Наиболее ранняя задача первая» (Earliest Task First - etf)
- •2. Инкапсуляция. Полиморфизм. Виртуальные функции. Чисто абстрактные базовые классы. Множественное наследование. Инкапсуляция.
- •Полиморфизм и виртуальные функции
- •Чисто абстрактные базовые классы
- •Множественное наследование классов. Компоненты
- •Типы операций:
- •Билет №26
- •1. Стратегия планирования «Зануление дуг» (Edge Zeroing - ez). Стратегия планирования «Зануление дуг» (Edge Zeroing - ez)
- •2. Преимущество использования компонентов. Требования к компонентам. Преимущества использования компонентов
- •Требования к компонентам
- •Билет №27
- •2. Модель компонентных объектов com.
- •Билет №28
- •1. Стратегия планирования «Управление мобильностью» (Mobility Directed - md). Стратегия планирования «Управление мобильностью» (Mobility Directed - md)
- •2. Интерфейс передачи сообщений (Message Passing Interface - mpi). Интерфейс передачи сообщений mpi
- •Билет №29
- •1. Граф взаимодействия задач. Граф разнородной сети. Планирование решения задач в разнородной распределенной системе
- •Постановка проблемы
- •2 . Интерфейс OpenMp. Интерфейс OpenMp
- •Билет №30
- •Постановка проблемы
- •Алгоритм а* оптимального назначения задач на процессоры
- •2. Технологический стандарт написания распределённых приложений corba. Технологический стандарт corba
Стратегия планирования «Группировка доминирующей последовательности» (Dominant Sequence Clustering - dsc)
Стратегия DSC не устанавливает ограничений на число процессоров и базируется на использовании понятия доминирующей последовательности, которое по существу есть критический путь в частично спланированном графе задач. На каждом шаге планирования DSC стратегия проверяет, готов ли к планированию первый (верхний) узел критического пути. Если да, стратегия DSC назначает соответствующую задачу на процессор, обеспечивающий наиболее раннее время запуска. Минимальное время запуска может быть достигнуто перепланированием некоторых родительских задач на тот же процессор. С другой стороны, если верхний узел критического пути не готов к планированию, стратегия DSC не выбирает его для планирования на текущем шаге. Вместо него стратегия выбирает верхний узел, предшествующий первому узлу критического пути. Узел назначается на процессор, дающий минимальное время запуска при условии, что такой выбор процессора не задержит время запуска еще не спланированного верхнего узла критического пути. Отложенное планирование узлов критического пути позволяет стратегии DSC установить в возрастающем порядке следующий верхний узел критического пути.
П
родемонстрируем
работу стратегии выявления доминирующей
последовательности на примере графа
задач, показанного на рис.1. Построение
асинхронного плана происходит на четырех
шагах, поскольку число шагов планирования
равно числу узлов в исходном графе
задач.
Шаг 1. На критическом пути лежат задачи n1, n3, n4. Задача n1 является верхней в критическом пути, она готова к планированию. Поскольку ни одного процессора еще не задействовано, назначаем задачу n1 на процессор PE0 (рис.10).
Шаг 2. Следующей не спланированной задачей, лежащей на критическом пути и готовой к планированию, является задача n3. Поскольку один процессор уже задействован задачей n1, рассматриваем попытку введения второго процессора и исследуем два варианта I и II назначения узла n3 на процессор PE0 и на новый процессор PE1 (рис.11). В варианте I длина частичного плана равна 15. В варианте II длина плана равна 35. Следовательно, предпочтительным является вариант I, его и выбираем для дальнейшего рассмотрения.
Шаг 3. Следующей не спланированной задачей, лежащей на критическом пути, является задача n4. Узел имеет две входящие дуги. Одна исходит из задачи n3, которая уже спланирована. Другая исходит из задачи n2, которая еще не спланирована. Значит, задача n4 не готова к планированию. Для планирования выбираем задачу n2, готовую к планированию. Поскольку один процессор уже задействован задачами n1, n3, рассматриваем попытку введения второго процессора и исследуем два варианта I и II назначения узла n2 на процессор PE0 и на новый процессор PE1 (рис.12). В варианте I задача n2 вставляется между задачами n1 и n3. при этом длина частичного плана равна 35. В варианте II длина частичного плана равна 26. Следовательно, предпочтительным является вариант II, его и выбираем для дальнейшего рассмотрения.
Шаг 4. Теперь задача n4 готова к планированию. Поскольку на шаге 3 процессор PE0 использован задачами n1 и n3, а процессор PE1 использован задачей n2, рассматриваем попытку введения третьего процессора и исследуем три варианта I, II и III назначения узла n4 на процессор PE0, процессор PE1 и на новый процессор PE2 (рис.13). В вариантах I и III длина частичного плана равна 35. В варианте II длина частичного плана равна 34. Следовательно, предпочтительным является вариант II, его и выбираем в качестве искомого асинхронного плана, реализуемого на двух процессорах.
CСопоставляя стратегию DSC со стратегией EZ, заключаем, что стратегия DSC сократила длину плана на 1 за счет более тщательного анализа вершин, принадлежащих критическому пути, и стремления начать выполнение задач критического пути как можно раньше при разумном использовании процессоров. Сокращения длины плана удалось достичь при одном и том же числе используемых процессоров.