ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ ИНТЕРВАЛЬНОЙ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ Лозбень М.Е.
ПОСТАНОВКА ЗАДАЧИ min f(x) = ? Задача глобальной доказательной (гарантированной) оптимизации вещественнозначной многомерной функции на брусе со сторонами, параллельными координатным осям
ЦЕЛЬ РАБОТЫ Разработка и реализация наиболее эффективного для распараллеливания алгоритма гарантированной глобальной оптимизации
1. Выбрать перспективную область. 2. Раздробить выбранную область на подобласти. 3. Вычислить интервальное расширение функции на полученных подобластях. ОПИСАНИЕ АЛГОРИТМА ИНТЕРВАЛЬНОГО ДРОБЛЕНИЯ
ВЫБОР ВЕДУЩЕГО БРУСА
1. Выбрать перспективную область. 2. Раздробить выбранную область на подобласти. 3. Вычислить интервальное расширение функции на полученных подобластях. ОПИСАНИЕ АЛГОРИТМА ИНТЕРВАЛЬНОГО ДРОБЛЕНИЯ
ДРОБЛЕНИЕ ВЕДУЩЕГО БРУСА Ведущий брус Брус - потомок f(x)
1. Выбрать перспективную область. 2. Раздробить выбранную область на подобласти. 3. Вычислить интервальное расширение функции на полученных подобластях. ОПИСАНИЕ АЛГОРИТМА ИНТЕРВАЛЬНОГО ДРОБЛЕНИЯ
ОТБРАКОВКА БРУСОВ I2I2 I1I1 f(x)
«НАИВНОЕ» РАСПАРАЛЛЕЛИВАНИЕ n независимых потоков исходная область разбивается на n подобластей на каждой подобласте в отдельном потоке запускается свой алгоритм потоки не взаимодействуют
«АДАПТИВНОЕ» РАСПАРАЛЛЕЛИВАНИЕ n потоков контроллер своя исходная область для каждого потока свой тип алгоритма для каждого потока тесное межпотоковое взаимодействие
«АДАПТИВНОЕ» РАСПАРАЛЛЕЛИВАНИЕ контроллер поток 1 поток 2поток 3 поток n решатель...
ПРЕДЫДУЩИЕ РЕАЛИЗАЦИИ схема параллельного алгоритма Сони Бернер (Journal of Global Optimization 9,1996 )
ОТБРАКОВКА БРУСОВ I2I2 I1I1 f(x)
МЕЖПОТОКОВОЕ ВЗАИМОДЕЙСТВИЕ общая переменная ошибка параллельной модификации данных синхронизованный доступ блокировка потоков неблокирующая конкурентная запись дополнительные синхронизации кэша выделенная логика контроллера сложность реализации
ОБЩАЯ ПЕРЕМЕННАЯ переменнаяпоток 1 поток 2 запись чтение
МЕЖПОТОКОВОЕ ВЗАИМОДЕЙСТВИЕ общая переменная ошибка параллельной модификации данных синхронизованный доступ блокировка потоков неблокирующая конкурентная запись дополнительные синхронизации кэша выделенная логика контроллера сложность реализации
СИНХРОНИЗОВАННЫЙ ДОСТУП переменная активный поток ждущие потоки блокировка обмен данными
МЕЖПОТОКОВОЕ ВЗАИМОДЕЙСТВИЕ общая переменная ошибка параллельной модификации данных синхронизованный доступ блокировка потоков неблокирующая конкурентная запись дополнительные синхронизации кэша выделенная логика контроллера сложность реализации
НЕБЛОКИРУЮЩАЯ КОНКУРЕНТНАЯ ЗАПИСЬ ядро кэш переменная в кэше переменная в кэше оперативная память переменная
МЕЖПОТОКОВОЕ ВЗАИМОДЕЙСТВИЕ общая переменная ошибка параллельной модификации данных синхронизованный доступ блокировка потоков неблокирующая конкурентная запись дополнительные синхронизации кэша выделенная логика контроллера сложность реализации
ВЫДЕЛЕННАЯ ЛОГИКА КОНТРОЛЛЕРА поток 1 поток 2 поток 3 поток 4 переменная потока 1 переменная потока 4 переменная потока 3 переменная потока 2 КОНТРОЛЛЕР итоговое состояние
РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ Время поиска оптимума
СПАСИБО ЗА ВНИМАНИЕ! Докладчик : Михаил Лозбень Научный руководитель : Никита Панов