- •Билет №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
Билет №30
1. Время реализации графа взаимодействия задач в разнородной сети. Назначение задач на узлы. Минимизация времени. Алгоритм А*. Дерево поиска.
Планирование решения задач в разнородной распределенной системе
Реальные распределенные системы являются типично разнородными. Разнородность системы обусловлена двумя главными причинами:
разнородностью процессоров, находящихся в узлах;
разнородностью каналов передачи данных, соединяющих пары процессоров.
Разнородность процессоров и каналов передачи данных проявляется в вариациях значений их главных параметров в широких диапазонах. Так тактовые частоты процессоров и скорости в каналах передачи данных могут изменяться в разы.
Как следствие, предположение о константном времени решения задач и константном времени передачи данных от одной задачи к другой не совсем соответствует свойствам разнородной системы. В настоящем разделе мы рассмотрим задачу планирования вычислений в распределенной системе в предположении, что время решения задачи изменяется при переходе от одного процессора к другому.
Высокая вычислительная сложность поиска оптимального плана обусловлена тем, что всего возможно nm вариантов назначения m задач на n процессоров. Полный перебор всех вариантов для реальных графов задач практически невозможен. Так, если мы имеем 50 задач и 5 процессоров, число вариантов равно 550, а это является необозримо большим числом. Следовательно, необходимы «разумные» стратегии сокращения перебора вариантов, позволяющие найти оптимальный (или субоптимальный) план за реальное время.
Постановка проблемы
Целью является поиск отображения графа задач на распределенную систему процессоров, минимизирующего суммарное время решения всех задач, назначенных на один процессор. Предполагается, что процессоры соединены сетью произвольной топологии.
Вместо модели графа задач, воспользуемся моделью графа взаимодействия задач:
GT = (VT, ET)
где VT – множество узлов {t1,…,tm}; ET - множество не ориентированных ребер, помеченных временами передачи данных между взаимодействующими задачами.
Представим сеть процессоров неориентированным графом, вершины которого представляют процессоры, ребра представляют каналы передачи данных. Коммуникационная сеть из n процессоров описывается матрицей L:
.
Элемент Lqp равен 1, если процессоры q и p непосредственно соединены каналом передачи данных, и равен 0, если процессоры каналом не соединены.
Задача ti из множества VT может быть решена на любом из n процессоров. Каждая задача имеет ассоциированные с данным процессором время решения. Матрица X определяет время решения каждой из задач на каждом из процессоров:
.
Элемент Xip есть время решения задачи i на процессоре p. Две задачи ti и tj, решаемые на различных процессорах, имеют дополнительные временные затраты на обмен данными, если таковой вообще имеется. Две задачи могут быть назначены на один и тот же либо на различные процессоры, связанные каналом передачи данных. Матрица C описывает временные затраты на обмен данными между задачами:
.
Элемент Cij есть время передачи данных в период взаимодействия двух задач i и j, назначенных и решаемых на различных процессорах.
Загрузка одного процессора определяется суммой времен решения всех задач, назначенных на данный процессор, и времен передачи данных, ассоциированными с этими задачами. Время, затрачиваемое наиболее загруженным процессором, рассматривается как время параллельного распределенного решения всех задач. Оптимальное назначение m задач на n процессоров ставит целью минимизацию времени работы наиболее загруженного процессора.
Назначение задач на процессоры определяется матрицей A:
.
Элемент Aip равен 1, если задача i назначается на процессор p, и равен 0 в противном случае. Следующее выражение описывает загрузку процессора p:
. (1)
Первая часть суммы есть полное время решения всех задач, назначенных на процессор p. Вторая часть есть дополнительное время, затрачиваемое процессором p на обмен данными с другими процессорами. Элементы Aip и Ajq указывают на то, что задача i назначена на процессор p, а задача j назначена на процессор q. Элемент Lpq указывает на то, что процессоры p и q соединены каналом передачи данных. Для того чтобы найти процессор с максимальной загрузкой, необходимо рассчитать загрузку каждого из n процессоров. Оптимальное назначение задач на процессоры есть то, которое дает минимум загрузки наиболее нагруженного процессора.
