9a8d0b1b92401c9fc33c5c9454ab28c4.ppt
- Количество слайдов: 33
Нижегородский Государственный Университет им. Н. И. Лобачевского Программная система параллельных вычислений в задачах выбора глобально-оптимальных решений “Абсолют Эксперт” Параллельные алгоритмы поиска глобально-оптимальных решений Сидоров С. В. It. Lab, 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. Описание предметной области § Одна из типичных моделей процессов принятия решений – модель в виде задачи оптимизации § В общем случае эта модель представляет собой набор функционалов, определенных на пространстве параметров, с помощью которых описывается ситуация принятия решения 3 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
1. 2. Методы решения задач оптимизации § Типичный способ решения сложных задач оптимизации – различные итерационные процедуры § Итерация: – выбор очередной точки xi в области поиска y 0 y 1 y 2 yk yn+1 yk+1 yn-1 yn – вычислении входящих в задачу функционалов в точке xi § Процесс останавливается либо по числу итераций, либо по некоторому специальному условию 4 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
1. 2. Методы решения задач оптимизации § Простейший метод решения – «полный перебор» § С увеличением размерности задачи экспоненциально растет число точек 5 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
1. 2. Методы решения задач оптимизации § Используя некоторую дополнительную информацию о функционалах можно строить эффективные алгоритмы поиска оптимума § Один из таких эффективных алгоритмов – индексный метод § Итерация в любой из точек состоит в: – вычислении следующей точки испытаний – последовательной проверке ограничений – вычислении значения функционала в выбранной точке § Итерация заканчивается либо обнаружением нарушенного ограничения, либо вычислением критерия § Номер последней вычисленной в точке функции называется индексом точки 6 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
1. 2. Используемые сокращения § ISE - индексный метод с одной разверткой § ISEP - индексный метод с одной разверткой (параллельный) § ISEMC - модифицированный индексный метод с одной разверткой § GGSA - алгоритм Стронгина § GGSAP - алгоритм Стронгина (параллельный) § IME - индексный метод с множественной разверткой § IMEP - индексный метод с множественной разверткой (параллельный) 7 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
1. 3. Индексный метод с одной разверткой § Редукция размерности … 0 1 § Характеристическая схема R x =0 1 R … R 1 i 2 x 3 x i+1 x n-2 R x 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, Win. NTL § Предпринята попытка написания собственной библиотеки § Общий недостаток всех библиотек – уменьшение скорости выполнения простейших арифметических операций на 2 -3 порядка § Выход: максимальное уменьшение использования чисел расширенной точности 11 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
2. 2. Особенности использования чисел расширенной точности § В индексном методе широко используется и занимает существенное временя следующая операция – нахождение расстояния между точками в многомерном пространстве через возведение в степень 1/N расстояния между двумя точками из отрезка [0, 1] Пусть Ext – тип данных с расширенной точностью. Ext m = 0. 99999999999; double d, res 1, res 2; res 1 = m. pow(1. 0 / 10. 0). to. Double(); res 2 = pow(m. to. Double(), 1. 0 / 10. 0); § Зададимся вопросом, насколько значение res 1 отличается от res 2? 12 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
2. 2. Результаты использования чисел расширенной точности § Удалось сократить замедление c 500 до 10 раз § Ограничение Nm < 52 2 Nm < 10308, т. е. Nm < 1000 § Проведены эксперименты на задачах с N = 10 – 12 13 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
2. 3. Результаты численных экспериментов § Функция Растригина Размерность D=9. область [-1. 5, 1. 5]. Алгоритм: ISEP m = 15, L = 0, r = 2 Максимальное число итераций 3 e 6 Глобальный минимум 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. Распараллеливание индексного метода с одной разверткой § Построение набора интервалов с максимальными характеристиками Процесс 0 Процесс 1 Процесс N § Каждый процесс работает с тем интервалом, индекс которого соответствует его рангу в параллельной схеме 17 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 2. Распараллеливание индексного метода с одной разверткой Предположение: схема эффективна, если вычислительная трудоемкость функционалов, составляющих ограничения и критерий задачи оптимизации существенна § После вычисления значений функционалов в найденной точке и характеристик новых интервалов каждый процесс рассылает остальным результаты своих вычислений § Передача данных между процессами происходит синхронным образом 18 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 2. Модификация последовательного индексного метода с одной разверткой § Реализация ISE (исходный последовательный алгоритм) – на каждой итерации выбирается интервал с максимальной характеристикой и делится; § Реализация ISEMC (модифицированный последовательный алгоритм) – на итерации выбирается сразу серия интервалов с максимальными характеристиками и делится; – В отличие от параллельной версии процесс сам вычисляет индексы и значение функций во всех точках. 19 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 2. ISEP V. S. ISEMC § Результаты сравнительных экспериментов параллельного и модифицированного последовательного алгоритма. § Функция Растригина, размерности 5, 1000 итераций 20 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 3. Параллельный алгоритм Стронгина § Схема реализации GGSAP – Использование подхода, примененного в ISEP § Отличие заключается в узкой сфере его применимости, обусловленной следующим фактом – алгоритм Стронгина позволяет решать только задачи без ограничений с одним критерием 21 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 4. Что пересылают другу процессоры? § В состав отправляемой и получаемой информации входит: – – – Дробная часть координаты точки; Номер развертки; Номер итерации, на которой вычислена точка; Значение последней вычисленной функции в точке; Индекс точки; Расстояние до следующей точки; § Эта информация из переменных различных типов упаковывается в структуру 22 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 4. Возможности системы межпроцессорного взаимодействия § Блокирующие и неблокирующие пересылки § Возможность отправки трех типов блоков информации – Заблокированные точки испытаний; – Разблокированные точки испытаний; – Условие остановки. § Возможность пересылки точек испытаний, содержащих как числа обычной, так и расширенной точности 23 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
3. 4. Пересылка чисел расширенной точности § Схема пересылки чисел расширенной точности Процесс 0 Процесс 1 Число 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, int dest, int tag, MPI_Comm comm, MPI_Request *request) – неблокируюущая отправка точки испытания поиска § int MPI_Irecv(void *buf, int count, MPI_Datatype, 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 итераций 30 ННГУ, ВМК, МО ЭВМ, 2006 Сидоров С. В.
4. Планы на будущее § Реализация приложения визуализирующего: – поэтапно схему межпроцессорного взаимодействия по собранной трассе – ход вычислений на каждом процессе для учебных целей § Реализация Open. MP версии алгоритмов § Реализация смешанной MPI-Open. MP схемы алгоритмов § 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 Сидоров С. В.
9a8d0b1b92401c9fc33c5c9454ab28c4.ppt