Платформа для построения распределенных приложений Подготовил: Меньшов А. В., МПС-603-О

advertisement
Платформа для построения
распределенных приложений
Подготовил: Меньшов А. В., МПС-603-О
Научный руководитель: Тюменцев Е. А.
Постановка задачи
2
Применение распределенных систем:
• Интеграция приложений.
• Ускорение вычислений.
• Разделение ресурсов.
• Построение отказоустойчивых систем.
2
Постановка задачи
3
Существующие
средства
для
построения
распределенных систем:
• Специализированные языки.
• Промежуточное программное обеспечение.
• Системы обмена сообщениями.
3
Постановка задачи
4
Создание платформы со следующей
функциональностью:
• Механизм взаимодействия.
• Механизм выполнения заданий.
• Механизм миграции заданий.
• Механизм репликации заданий.
• Масштабируемость.
• Средства
для
взаимодействия
со
внешними системами.
4
Структура компонентов
5
Узел – основной
компонент при
построении
распределенной
системы
5
Структура компонентов
6
Нить – обертка над
потоком выполнения
6
Структура компонентов
7
Задания
представлены
конечными
автоматами,
выполняются
пошагово
7
Структура компонентов
8
Задания позволяют
наделить
распределенную
систему
необходимой
функциональностью
8
Структура компонентов
9
Конечные точки
инкапсулируют
обмен сообщениями
от сетевого
взаимодействия
9
Структура компонентов
10
Виды
взаимодействия:
• сетевое
• межпроцессное
• протокол HTTP
10
Построение системы
11
• Один узел –
распределенная система
• Для добавления узла
в существующую
распределенную
систему необходимо
указать для него
узел-родитель
11
Взаимодействие компонентов
12
• Узлы, нити и задания именуются.
• Взаимодействие
на
основе
обмена
сообщениями.
• Паттерн
Стратегия
для
адресации
сообщений.
12
Адресация с помощью XPath
13
• XML-документы
имеют
древовидную
структуру.
• XPath – язык запросов к XML-документам.
• XPath
используется
для
задания
получателей сообщения.
13
Адресация с помощью XPath
14
• Поддерживаются атрибуты для узлов,
нитей и заданий.
• Атрибуты могут быть динамическими.
14
Репликация заданий
15
• Инициируется
посылкой
заданию
специального сообщения.
• Может
повышения
быть
использована
отказоустойчивости
для
и
производительности системы.
15
Миграция заданий
16
• Позволяет перемещать задания в пределах
распределенной системы без их остановки.
• Осуществляется итеративно по аналогии с
«живой миграцией» виртуальных машин.
16
Заключение
17
Построена платформа со следующей
функциональностью:
• Механизм адресации компонентов системы.
• Миграция заданий.
• Репликация заданий.
• Перераспределение структуры
подчиненности узлов без их приостановки.
• Масштабирование системы.
• Точки расширения – задания, сообщения,
конечные точки, стратегии адресации.
17
Демонстрация
Генерация видео
19
Video
Creator
–
приложение
для
распределенной
генерации
видео
методом трассировки
лучей
19
Генерация видео
20
Задача: генерации 2000 изображений на
одном компьютере для создания видео.
Количество потоков
Время выполнения
(мин.)
1
150
2
86
3
64
4
53
20
Генерация видео
21
Задача: генерации 2000 изображений на
нескольких компьютерах для создания видео.
Количество
потоков
Количество
компьютеров
Время
выполнения
(мин.)
2
1
170
4
2
102
6
3
68
21
Спасибо за внимание
Download