- •Билет №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
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
Рис. 4. Цепочечное планирование ASAP; t(1)= t(3)= t(5)= t(6)= t(8)=1; t(2)= t(4)= t(7)=2; tstep=2; общее время решения задачи 6 единиц (при простом планировании 8 единиц)
Билет №20
1. Задача минимизации ресурсов при заданном времени реализации плана
2. Таблица виртуальных функций
Реализация позднего связывания. Позднее связывание выполняется компилятором. Он устанавливает необходимый механизм при обработке чисто виртуальных функций и абстрактных базовых классов. Для каждого класса, содержащего виртуальные функции, создается таблица vtbl. В класс неявно включается указатель pInterface, указывающий на таблицу vtbl объекта класса.
Таблица виртуальных функций. Определяя чисто абстрактный базовый класс, мы фактически определяем структуру некоторого блока памяти. Все реализации чисто абстрактных базовых классов являются блоками памяти однотипной структуры. Пусть Iopers – интерфейс, объявляющий три чисто виртуальные функции:
interface Iopers {
virtual void __stdcall operT1(int, int, int*) = 0;
virtual void __stdcall operT2(int, int, int*) = 0;
virtual void __stdcall operT3(int, int, int*) = 0;
};
Реализация интерфейса Iopers выполняется посредством класса Copers:
class Copers : public Iopers {
public:
virtual void __stdcall operT1(int a, int b, int *c) { accum =a+b; *c=accum; }
virtual void __stdcall operT2(int a, int b, int *c) { accum =a-b; *c=accum; }
virtual void __stdcall operT3(int a, int b, int *c) { accum =a*b; *c=accum; }
Copers () : accum(0) {}
~Copers () {}
int accum;
};
Пусть функция main создает два компонента класса Copers:
void main() {
Copers *pC1=new Copers;
Copers *pC2=new Copers; …
}
Определение, реализация и использование чисто абстрактного базового класса порождает структуру данных, изображенную на рис.2 и стандартную для COM. Важней частью этой структуры является таблица виртуальных функций vtbl. Память для структуры не выделяется до тех пор, пока абстрактный класс не будет реализован в производном классе.
В
таблице vtbl
размещаются адреса всех виртуальных
функций класса, при этом первые
три элемента vtbl являются общими для
всех интерфейсов СОМ. Они содержат
адреса реализации трех функций-членов
класса IUnknown.
Задача - Дать пример DEF файла
Создание файла DEF. Главным содержимым файла с расширением .def является имя динамической библиотеки и состав экспортируемых из нее функций. Пример файла:
LIBRARY cmpnt0.dll
DESCRIPTION '(c) BNTU 2011 ROD'
EXPORTS
CreateInstance @1 PRIVATE
В строке LIBRARY указывается фактическое имя DLL. В разделе EXPORTS перечисляются экспортируемые из нее функции. При помощи программы dumpbin.exe можно получить листинг символов, экспортированных из DLL.
