«Исследование минимальных доминирующих множеств в

advertisement
«СРАВНИТЕЛЬНЫЙ АНАЛИЗ
ТЕХНОЛОГИЙ ПАРАЛЛЕЛЬНОГО
ПРОГРАММИРОВАНИЯ ПРИ
ИССЛЕДОВАНИИ МИНИМАЛЬНЫХ
ДОМИНИРУЮЩИХ МНОЖЕСТВ В
МОДЕЛИ КОМПЬЮТЕРНОЙ
AD-HOC СЕТИ»
Выполнил: Моисеев Денис
Цели работы
• Проектирование параллельных
алгоритмов
• Разработка программ с
использованием различных
технологий
• Сравнение полученных результатов
Ad hoc сети
Минимальные доминирующие
множества
Доминирующее множество –
подмножество множества вершин
графа такое, что любая вершина
или входит в это подмножество или
смежна с одной из вершин этого
подмножества.
Статистическое моделирование
• Поскольку граф случайный, то и его
характеристики случайны.
• С точки зрения маршрутизации важно знать
сколько (N) вершин в минимальном
доминирующем множестве.
• Мы можем интересоваться
характеристиками этого количества N:
математическое ожидание, дисперсия,
функция распределения.
• Поиск множества необходимо производить
эффективно и быстро
std::thread
●
●
Встроенная поддержка на
уровне языка
Удобный механизм потоков
Технология
Исходная
программа
thread, 1 поток
thread, 4 потока
Время
выполнения
155.834с.
Процент
156.977с
65.046с
101%
42%
100%
OpenMP
●
●
Простая интеграция в готовую
программу
Возможность компиляции в системе
без поддержки OpenMP
Технология
Время
выполнения
155.834с.
Исходная
программа
OpenMP, 1 поток 155.835с
OpenMP, 4 потока 72.625с
Процент
100%
100%
47%
Message Passing Interface
●
Быстродействие
●
Распределенная память
Технология
Исходная
программа
MPI, 1 поток
MPI, 4 потока
Время
выполнения
155.834с.
Процент
156.003c
50.059с
100%
32%
100%
OpenCL
●
●
Гетерогенные вычисления
Использование вычислительных
мощностей графической системы
Технология
Время
выполнения
155.834с.
Исходная
программа
OpenCL, хост
69.371c
OpenCL, AMD 5770 12.541с
Процент
100%
45%
8%
Erlang
●
Функциональная парадигма
●
Простое создание процессов
Технология
Исходная программа
Erlang, без процессов
Erlang, с процессами
Время
выполнения
155.834с.
172.126c
64.312с
Процент
100%
110%
41%
Сравнение
технологий
Технология
Время
выполнения
Исходная программа 155.834с
OpenCL, AMD 5770 12.541c
MPI
50.059c
Erlang
64.312c
std::thread
65.046c
OpenMP
72.625
Процент
100%
8%
32%
41%
42%
47%
Заключение
• Графические вычисления дают высокий
прирост к производительности
• OpenMP и std:thread позволяют
внедрять технологии параллельного
программирования
• MPI обеспечивает хорошую
производительность
• Erlang позволяет писать программы в
декларативном стиле и избежать
проблем с синхронизацией
Спасибо за внимание!
Download