Научная статья на тему 'УСКОРЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧ УПРАВЛЕНИЯ КОСМИЧЕСКИМИ АППАРАТАМИ'

УСКОРЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧ УПРАВЛЕНИЯ КОСМИЧЕСКИМИ АППАРАТАМИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
61
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОСМИЧЕСКИЕ АППАРАТЫ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / УСКОРЕНИЕ / МНОГОПОТОЧНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Скворцов С. В., Фетисова Т. А., Фетисов Д. В., Скворцова Т. С.

Космические исследования занимают важное место в современной науке, поэтому скорость работы алгоритмов является значимым показателем. Для этой цели была разработана эффективная двухуровневая параллельная модель генетического алгоритма.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Скворцов С. В., Фетисова Т. А., Фетисов Д. В., Скворцова Т. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ACCELERATION OF THE GENETIC ALGORITHM FOR SOLVING THE PROBLEMS OF SPACECRAFT CONTROL

Space research occupies an important place in modern science, so the speed of the algorithms is a significant indicator. For this purpose, an effective two-level parallel model of the genetic algorithm was developed.

Текст научной работы на тему «УСКОРЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧ УПРАВЛЕНИЯ КОСМИЧЕСКИМИ АППАРАТАМИ»

УДК 303.732.4

УСКОРЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧ УПРАВЛЕНИЯ КОСМИЧЕСКИМИ АППАРАТАМИ

С. В. Скворцов1, Т. А. Фетисова1*, Д. В. Фетисов1, Т. С. Скворцова2

1Рязанский государственный радиотехнический университет Российская Федерация, 390005, г. Рязань, ул. Гагарина, 59/1 E-mail: s.v.skvor@gmail.com, pyurova_ta@mail.ru , morzitko@gmail.com 2Академия права и управления Федеральной службы исполнения наказаний Российская Федерация, 390000, г. Рязань, ул. Сенная, 1 E-mail: t.s.skvortsova@yandex.ru

Космические исследования занимают важное место в современной науке, поэтому скорость работы алгоритмов является значимым показателем. Для этой цели была разработана эффективная двухуровневая параллельная модель генетического алгоритма.

Ключевые слова: космические аппараты, генетический алгоритм, ускорение, многопоточ-ность,CUDA.

ACCELERATION OF THE GENETIC ALGORITHM FOR SOLVING THE PROBLEMS OF SPACECRAFT CONTROL

S. V. Skvortsov1, T. A. Fetisova1*, D. V. Fetisov1, T. S. Skvortsova2

1Ryazan State Radio Engineering University 59/1, Gagarin St., Ryazan, 390005, Russian Federation E-mail: s.v.skvor@gmail.com, pyurova_ta@mail.ru , morzitko@gmail.com 2The Academy of Law Management of the Federal Penal Service of Russia 1, Sennaya St., Ryazan, 390000, Russian Federation E-mail: t.s.skvortsova@yandex.ru

Space research occupies an important place in modern science, so the speed of the algorithms is a significant indicator. For this purpose, an effective two-level parallel model of the genetic algorithm was developed.

Keywords: spacecraft, genetic algorithm, acceleration, multithreading, CUDA.

Введение. Космические объекты, технологии и летательные аппараты всегда являлисьприо-ритетными направлениями исследования в нашей стране, а потому на них выделяется финансирование независимо от экономического состояния государства. Проектирование и управление космическими аппаратами являются достаточно актуальными аспектами в настоящее время, среди которых можно выделить задачи освоения космического пространства, изучение Марса, производство и вывод на орбиту спутников. Однако проведение практических экспериментов на реальных объектах требует не малых денежных вложений, что способствует развитию математических имитационных моделей на суперкомпьютерах или ЭВМ высокой производительности. Соответственно, важной составляющей являются методы и алгоритмы, позволяющие проводить экспериментальные исследования и решать задачи автоматизированного проектирования, среди которых особенно выделяют генетические алгоритмы [3]. Ихэффективность можно повысить засчет использования параллельных вычислений. Потому цель данной работы заключается в анализе существующих и разработке новых методов ускорения генетических алгоритмовпутемих

Актуальные проблемы авиации и космонавтики - 2019. Том 2

многопоточной реализации средствами графического процессора фирмы NVIDIA для решения задач управления космическими аппаратами.

Теоретические положения и текущая реализация. Генетический алгоритм является широко известным алгоритмом, который применяют в различных прикладных космических задачах, что делает актуальной задачу повышения скорости ихработы путем многопоточной реализации. Многопоточные генетические алгоритмы могут использовать различные модели, например, островная модель, модель «хозяин-рабочий», модель диффузии и другие. Ранее была выбрана и реализована модель островов, поскольку она полностью задействует вычислительные мощности компьютера [1]. Программный модуль также содержитразличные способы реализации операторов селекции и кроссинговера средствами графического процессора с помощью технологии CUDA. Данный подход предполагает использование блочного подхода к распараллеливанию. Для него характерно выделение блоков данных (островов), обрабатываемых независимо друг от друга [4]. При этом в каждом блоке имеются объединенные в варпы потоки [2] для работы с особями (их наборами хромосом), каждой из которых определяется свое значение фитнес-функции.

Перспективыразвития. Однако анализ рассмотренной модели позволяет реализовать еще один уровень распараллеливания, предоставляемый платформой CUDA - поточный уровень, при котором используется модель распараллеливания «рабочий-хозяин». В данном случае роль процессора-хозяина выполняет не центральный, а графический процессор (на блочном уровне обработки данных), который реализует центральную часть алгоритма, в то время как вычисление значений фитнес-функции для всех особей реализуется также средствами ГП (процессорами-рабочими), но на более низком уровне параллелизма - на поточном. Так, для каждой особи, передаваемой в блок, выделяется свой поток, который будет обрабатываться параллельно с другими аналогичными потоками.

В конце каждого из этапов алгоритма помещаются точки синхронизации. Когда процессор-хозяин достигает эти точки, он переходит в режим ожидания, пока все рабочие процессоры не закончат свои задания, что гарантирует глобальную корректность алгоритма. При этом работа между процессором-хозяином и рабочими распределяется следующим образом.

Процессор-хозяин:

- выполняет все входные и выходные операции, читает задание и записывает результаты;

- первоначально запускает «рабочие» процессы в блоке на графическом процессоре;

- распределяет задания каждому рабочему потоку;

- организует управление процессом поиска решения в блоке и по мере необходимости посылает соответствующие сообщения активации рабочих процессоров;

- по окончании выполнения рабочим процессором задания, процессор-хозяин принимает полученные результаты и соответственно изменяет глобальные структуры данных (общий список заданий, значения фитнес-функции для особей и т. п.).

Каждый «рабочий» принимает задание от «хозяина» и определяет значение фитнес-функции для особей, а полученный результат посылает «хозяину» и ожидает следующего задания.

Предложенная модель организации вычислений генетического алгоритма с использованием двухуровневого распараллеливания представляет собой оригинальную модификацию модели островов, отличающуюся новизной за счет применения в ней модели «рабочий-хозяин». Использование такого решения позволит не только сохранить качество решения, но и в большинстве случаев несколько улучшить его при существенном сокращении времени поиска.

В целом данная модель позволяет с минимальными изменениями программы и достаточно быстро выполнить дополнительное (более глубокое) распараллеливание генетического алгоритма с целью ускорения процесса поиска решения. Данную модель организации вычислений не сложно реализовать средствами графического процессора с использованием технологии CUDA и экспериментально оценить эффективность предложенной модели на практике.

Выводы. Генетические алгоритмы позволяют решать широкий спектр космических задач.

Разработанная перспективная многопоточная модель может быть использована как при решении задач управления космическими аппаратами, так и при проектировании космических транспортных систем. Разработанная многоуровневая параллельная модель генетического алгоритма в дальнейшем будет исследована с аналитической и практической точек зрения с учетом резуль-

татов испытаний на графическом процессоре фирмы NVIDIA. Эффективность многоуровневого распараллеливания генетического алгоритма зависит отего структуры и реализации основных операторов. Однако в целом, высокая эффективность рассмотренного алгоритма не вызывает сомнений, так как ранее учеными неоднократно проводилось множество экспериментов в оптимизационной постановке, в том числена задачах управления космическими аппаратами [5].

Бнблнографнческиессылкн

1. Darrel Whitley, An Overview of Evolutionary Algorithms: Practical Issues and Common Pitfalls, Journal of Information and Software Technology 43:PP. 817-831, 2001.

2. Skvortsov S.V., Fetisova T.A., Bakuleva M.A. Improving the Performance of Software Applications for Sort and Search Data by Means of GPUs // 7th Mediterranean Conference on Embedded Computing (MECO), 2018 - pp. 153-156

3. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы [Текст] // Под ред. В.М. Курейчика. — 2-е изд., испр. и доп.— М.: ФИЗМАТЛИТ, 2006. — 320 с.

4. Карпенко А.П. Современные алгоритмы поисковой оптимизации: учебное пособие. М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. 446 с.

5. Strotov V.V., Fetisov D.V., Kolesenkov A.N., Fetisova T.A. Improving the Aerospace Image Quality Using Subpixel Processing for the Earth's Distance Monitoring // Proceedings Collections from SPIE Remote Sensing, 2018, Berlin, Germany, Paper 10792-17. 6 pp.

© Скворцов С. В., Фетисова Т. А., Фетисов Д. В., Скворцова Т. С., 2019

i Надоели баннеры? Вы всегда можете отключить рекламу.