Сравнение вариантов многопоточной реализации метода ветвей и границ для многоядерных систем

Andrei Ju Gorchakov, Michael A Posypkin
2018 Sovremennye Informacionnye Tehnologii i IT-obrazovanie  
В последнее время основным способом повышения производительности вычислительных устройств стало увеличение числа вычислительных ядер в процессорах, в связи с чем, системы с общей памятью получили широкое распространение. Поэтому особую актуальность приобретает разработка параллельных приложений, ориентированных на многоядерные системы с общей памятью. В статье рассматривается один из классов ресурсоемких приложений – задача поиска глобального экстремума функций многих переменных. Одним из
more » ... ых подходов к решению таких задач является метод ветвей и границ. Его отличают следующие особенности, существенные с точки зрения распараллеливания: неизвестный заранее информационный граф и необходимость обмена информацией между вычислительными потоками. В статье предлагаются несколько подходов к распараллеливанию метода ветвей и границ. В настоящее время существует несколько стандартов создания многопоточных приложений. В работе рассматривается два таких стандарта: OpenMP и С++14. Стандарт OpenMP характерен более высокой скоростью разработки, но менее гибок по отношению к многопоточным расширениям C++14. Который позволяет варьировать различные режимы синхронизации. Мы сравниваем эти подходы, а также исследуем влияние различных способов организации вычислительного процесса на производительность приложения. В работе приводится описание алгоритмов и их программных реализаций. Разработана методика проведения экспериментальных исследований производительности разработанных приложений, с помощью которой произведено сравнение предложенных параллельных алгоритмов на представительном наборе тестовых примеров. Которое показало, что все рассмотренные подходы приводят к ускорению вычислений по сравнению с последовательным вариантом. Наилучшие результаты дает использование атомарных переменных для взаимодействия потоков. В качестве вычислительных платформ для проведения экспериментов использовались современные высокопроизводительные вычислительные системы.
doi:10.25559/sitito.14.201801.138-148 fatcat:7gb6c3pq4zfizld33igjf5a4s4