Нижегородский Государственный Университет им. Н.И. Лобачевского Программная система параллельных вычислений в

advertisement
Нижегородский Государственный Университет им. Н.И. Лобачевского
Программная система параллельных вычислений в
задачах выбора глобально-оптимальных решений
“Абсолют Эксперт”
Параллельные алгоритмы поиска
глобально-оптимальных решений
Сидоров С.В.
ItLab, 2006
1
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
Содержание
1.
Описание предметной области
1.1. Постановка задачи
1.2. Методы решения задач оптимизации
1.3. Индексный метод с одной разверткой
2.
Использование чисел расширенной точности
2.1. Необходимость использования чисел расширенной точности
2.2. Особенности использования чисел расширенной точности
3.
Распараллеливание алгоритмов глобально поиска
3.1.
3.2.
3.3.
3.4.
3.5.
4.
2
Необходимость параллельных реализаций
Распараллеливание индексного метода с одной разверткой
Параллельный алгоритм Стронгина
Пересылка точек испытаний поиска
Распараллеливание индексного метода с множественной разверткой
Планы на будущее
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.1. Описание предметной области
 Одна из типичных моделей процессов принятия
решений – модель в виде задачи оптимизации
f ( y )  min, где y   y1 , ... , y N 
D 

y  R : ai  yi  bi , 1  i  N
N

 В общем случае эта модель представляет собой набор
функционалов, определенных на пространстве
параметров, с помощью которых описывается
ситуация принятия решения
3
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.2. Методы решения задач оптимизации
 Типичный способ решения сложных задач
оптимизации – различные итерационные процедуры
 Итерация:
– выбор очередной точки xi в области поиска
y0
y1
y2
yk
yn+1 yk+1
yn-1
yn
– вычислении входящих в задачу функционалов в точке xi
f ( y )  ( yn1 )
 Процесс останавливается либо по числу итераций,
либо по некоторому специальному условию
4
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.2. Методы решения задач оптимизации
 Простейший метод решения – «полный перебор»
 С увеличением размерности задачи экспоненциально
растет число точек
5
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.2. Методы решения задач оптимизации
 Используя некоторую дополнительную информацию о функционалах
можно строить эффективные алгоритмы поиска оптимума
 Один из таких эффективных алгоритмов –
индексный метод
 Итерация в любой из точек состоит в:
– вычислении следующей точки испытаний
– последовательной проверке ограничений
– вычислении значения функционала в выбранной точке
 Итерация заканчивается либо обнаружением нарушенного ограничения,
либо вычислением критерия
 Номер последней вычисленной в точке функции называется индексом
точки
6
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.2. Используемые сокращения
 ISE - индексный метод с одной разверткой
 ISEP - индексный метод с одной разверткой
(параллельный)
 ISEMC - модифицированный индексный метод с
одной разверткой
 GGSA - алгоритм Стронгина
 GGSAP - алгоритм Стронгина (параллельный)
 IME - индексный метод с множественной разверткой
 IMEP - индексный метод с множественной
разверткой (параллельный)
7
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.3. Индексный метод с одной разверткой
 Редукция размерности
…
1
0
 Характеристическая схема
R
x =0
1
R … R … R
1
i
2
x
2
x
3
x
i
x
i+1
x
n-2
n-2
R
x
n-1
n-1
x =1
n
Пусть R > R для всех j не равных i
i
j
 Деление интервала с максимальной характеристикой
8
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
1.3. Индексный метод с множественной разверткой
0
9
1
2
ННГУ, ВМК, МО ЭВМ, 2006
…
L-1
L L+1
Сидоров С.В.
2.1. Необходимость использования чисел расширенной
точности
 Проблема:
– для достижения точности ε = (½)m в RN на отрезке [0, 1]
требуется точность (½)m·N
– при использовании типа double максимально возможная
точность ограничена условием Nm < 52
– при m = 10 ограничение на размерность решаемых задач N
=5
 Выход:
– использование чисел расширенной точности для
представления точек на отрезке [0, 1]
10
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
2.2. Особенности использования чисел расширенной
точности
 В работе были проанализированы некоторые библиотеки, в
которых реализованы числа расширенной точности: GMP,
MAPM, WinNTL
 Предпринята попытка написания собственной библиотеки
 Общий недостаток всех библиотек – уменьшение скорости
выполнения простейших арифметических операций на 2-3
порядка
 Выход: максимальное уменьшение использования чисел
расширенной точности
11
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
2.2. Особенности использования чисел расширенной
точности
 В индексном методе широко используется и занимает
существенное временя следующая операция
– нахождение расстояния между точками в многомерном
пространстве через возведение в степень 1/N расстояния
между двумя точками из отрезка [0, 1]
Пусть Ext – тип данных с расширенной точностью.
Ext m = 0.999999999999999999999;
double d, res1, res2;
res1 = m.pow(1.0 / 10.0).toDouble();
res2 = pow(m.toDouble(), 1.0 / 10.0);
 Зададимся вопросом, насколько значение res1
отличается от res2?
12
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
2.2. Результаты использования чисел
расширенной точности
 Удалось сократить замедление c 500 до 10 раз
 Ограничение Nm < 52  2Nm < 10308,
т.е. Nm < 1000
 Проведены эксперименты на задачах с
N = 10 – 12
13
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
2.3. Результаты численных экспериментов
 Функция Растригина
D
F ( x)   ( xi2  10 cos( 2xi ))  10 D
i 1
Размерность D=9.
область [-1.5,1.5].
Алгоритм: ISEP
m = 15, L = 0, r = 2
Максимальное число итераций 3e6
Глобальный минимум F=0.
Найденное приближение:
 С использованием чисел расширенной точности
F*= 1.995057903858124
(остановка по причине нехватки оперативной памяти)
 Без использования чисел расширенной точности
F*= 6.221869174733854 (остановка по причине нехватки точности)
14
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.1. Необходимость использования параллельных
методов глобального поиска
 Решение современных прикладных задач имеет
следующие особенности:
– Трудоемкость вычисления функционалов
– Высокая размерность пространства критериев
– Требование высокой скорости нахождения глобального
оптимума
 Выход:
– использование параллельных алгоритмов глобально
поиска для достижения выдвинутых требований
15
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.1. Две схемы распараллеливания
 Распараллеливание индексного метода с одной
разверткой
– Деление набора интервалов с максимальными
характеристиками на каждой итерации.
1 процесс -1 интервал
 Распараллеливание индексного метода с
множественной разверткой
– «Равномерное» разделение интервала поиска
[0,..,L+1] между процессами
16
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.2. Распараллеливание индексного метода с
одной разверткой
 Построение набора интервалов с максимальными
характеристиками
R ( xi1 , xi2 )  R ( xi3 , xi4 )  ...  R ( xin1 , xin )
x i1
x i2
Процесс 0
x i3
x i4
Процесс 1
x in 1
x in
Процесс N
 Каждый процесс работает с тем интервалом, индекс
которого соответствует его рангу в параллельной
схеме
17
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.2. Распараллеливание индексного метода с
одной разверткой
Предположение: схема эффективна, если вычислительная
трудоемкость функционалов, составляющих ограничения и
критерий задачи оптимизации существенна
 После вычисления значений функционалов в найденной точке
и характеристик новых интервалов каждый процесс
рассылает остальным результаты своих вычислений
 Передача данных между процессами происходит синхронным
образом
18
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.2. Модификация последовательного
индексного метода с одной разверткой
 Реализация ISE (исходный последовательный
алгоритм)
– на каждой итерации выбирается интервал с максимальной
характеристикой и делится;
 Реализация ISEMC (модифицированный
последовательный алгоритм)
– на итерации выбирается сразу серия интервалов с
максимальными характеристиками и делится;
– В отличие от параллельной версии процесс сам вычисляет
индексы и значение функций во всех точках.
19
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.2. ISEP V.S. ISEMC
 Результаты сравнительных экспериментов
параллельного и модифицированного
последовательного алгоритма.
 Функция Растригина, размерности 5, 1000 итераций
45
40
35
ВРЕМЯ(CЕК)
30
25
IESP
ISEMC
20
15
10
5
0
2 процессора
20
4 процессора
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.3. Параллельный алгоритм Стронгина
 Схема реализации GGSAP
– Использование подхода, примененного в ISEP
 Отличие заключается в узкой сфере его
применимости, обусловленной следующим
фактом
– алгоритм Стронгина позволяет решать только
задачи без ограничений с одним критерием
21
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.4. Что пересылают друг другу процессоры?
 В состав отправляемой и получаемой информации
входит:
–
–
–
–
–
–
Дробная часть координаты точки;
Номер развертки;
Номер итерации, на которой вычислена точка;
Значение последней вычисленной функции в точке;
Индекс точки;
Расстояние до следующей точки;
 Эта информация из переменных различных типов
упаковывается в структуру
22
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.4. Возможности системы межпроцессорного
взаимодействия
 Блокирующие и неблокирующие пересылки
 Возможность отправки трех типов блоков
информации
– Заблокированные точки испытаний;
– Разблокированные точки испытаний;
– Условие остановки.
 Возможность пересылки точек испытаний,
содержащих как числа обычной, так и расширенной
точности
23
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.4. Пересылка чисел расширенной точности
 Схема пересылки чисел расширенной точности
Процесс 0
Процесс 1
Число X
Число X
MPI
Структура
Структура
 Необходимость формирования специальной
структуры для отправки содержимого объекта класса
числа расширенной точности
24
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.5. Распараллеливание индексного метода с
множественной разверткой
 Основана на равном разделении интервала поиска
[0, L + 1] между вычислительными процессами
 Каждый процесс на итерации выбирает интервал с
максимальной характеристикой в своем интервале
поиска
 Использованы неблокирующие посылки MPI. Схема
обмена данными между процессами асинхронная
25
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.5. Распараллеливание индексного метода с
множественной разверткой
 Матрица состояния поиска разделена на части,
которые хранится на различных процессах
 Пересылка только точек множественной итерации
 Посылка точки 2 раза:
– В виде заблокированной (без вычисленного значения
функционала)
– В виде разблокированной (с вычисленным значением
функционала и индексом)
26
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.5. Распараллеливание индексного метода с
множественной разверткой
0
1
2
Процесс i
27
ННГУ, ВМК, МО ЭВМ, 2006
…
L-1 L L+1
Процесс j
Сидоров С.В.
3.5. Функции неблокирующих посылок MPI,
используемые в алгоритме

int MPI_Isend(void *buf, int count, MPI_Datatype type, int
dest, int tag, MPI_Comm comm, MPI_Request *request)
–
неблокируюущая отправка точки испытания поиска

int MPI_Irecv(void *buf, int count, MPI_Datatype type, int
–
неблокирующий запрос на прием точки испытания поиска
source, int tag, MPI_Comm comm, MPI_Request *request)

int MPI_Test( MPI_Request *request, int *flag, MPI_status
– проверка о завершении операции с
идентификатором request
*status)
28
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.5. Реализация неблокирующих приемов
НЕТ
ДА
Первый
прием?
Вызов MPI_Test для всех вызванных
ранее
попыток
неблокирующего
приема
Сохранение всех принятых точек во
временную структуру
•Установить число принятых на
итерации точек равное 0
•Установить число
неблокирующих запросов равное
числу процессов
В случае если на итерации принято число точек равное числу
неблокирующих запросов, то увеличить число запросов на
итерации на 1
Вызов серии MPI_Irecv неблокирующих
запросов на прием установленного количества
точек
29
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
3.2. IMEP V.S. IME
 Результаты сравнительных экспериментов
параллельного и модифицированного
последовательного алгоритма.
 Функция Растригина, размерности 5, 1000 итераций
Ускорение
1,85
1,8
1,75
1,7
Ускорение
1,65
1,6
1,55
2 процессора
4 процессора
Число процессоров
30
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
4. Планы на будущее
 Реализация приложения визуализирующего:
– поэтапно схему межпроцессорного взаимодействия по
собранной трассе
– ход вычислений на каждом процессе для учебных целей
 Реализация OpenMP версии алгоритмов
 Реализация смешанной MPI-OpenMP схемы
алгоритмов
 Cluster and PDA – ideal friends
31
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
Литература
 Strongin R.G., Sergeev Ya.D. (2000). Global optimization with
non-convex constraints: Sequential and parallel algorithms. Kluwer
Academic Publisher, Dordrecht.
 В.П. Гергель, Р.Г. Стронгин. (2001). Параллельные вычисления
в задачах выбора глобально-оптимальных решений для
многопроцессорных кластерных систем. // Современные
методы математического моделирования. Сборник лекций
Всероссийской молодежной школы международной
конференции “Математическое моделирование”. Самара, с. 4655.
 Sysoyev A.V. (2004). Program system of parallel computations for
solving the tasks of global-optimum choice // VI International
Congress on Mathematical Modeling/Book of abstracts, p 62.
32
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
Вопросы
 ???
33
ННГУ, ВМК, МО ЭВМ, 2006
Сидоров С.В.
Download