СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ В КОСМИЧЕСКОЙ ОТРАСЛИ
ОПТИМИЗАЦИЯ АЛГОРИТМОВ ОРГАНИЗАЦИИ БАЛЛИСТИКОНАВИГАЦИОННОГО ОБЕСПЕЧЕНИЯ В УСЛОВИЯХ УПРАВЛЕНИЯ
большим количеством космических аппаратов
А.Ю. КУТОМАНОВ, инженер ФГУПЦНИИмаш
a.y.kutomanov@gmail. com
ФГУП «Центральный научно-исследовательский институт машиностроения» (ФГУП ЦНИИмаш)
141070, Московская область, г. Королев, ул. Пионерская, д. 4
Баллистико-навигационное обеспечение полета - достаточно долгий и ресурсоемкий процесс, в условиях постоянно увеличивающейся группировки космических аппаратов общее время баллистических расчетов непрерывно растет. При нынешнем темпе увеличения числа объектов, обслуживаемых в Центре управления полетами (ЦУП), фактор увеличения времени на баллистическое обслуживание аппаратов в скором времени станет критичным. На данный момент для каждого космического аппарата разрабатывается собственный программный комплекс, зачастую дублирующий функции аналогичных комплексов для других аппаратов. Такой комплекс ставится на отдельные персональные компьютеры (основной и дублирующий) и работает лишь некоторое время для проведения оперативных расчетов. В остальное время вычислительные мощности персонального компьютера простаивают. Как правило, такие комплексы написаны в однопоточном режиме и не используют все возможности многоядерных центральных процессоров. Для увеличения эффективности работы баллистической службы в условиях постоянно увеличивающейся группировки КА предлагается изменить подход к организации баллистических расчетов. Для этого необходимо объединить программные баллистические комплексы для обслуживания разных КА на одном вычислительном сервере. При организации баллистических расчетов на одной платформе необходимо использовать алгоритм параллельных вычислений. Этот алгоритм позволяет более эффективно использовать ресурсы центральных процессоров, объединенных на сервере, и сократить время простоя вычислительных мощностей. В настоящей статье рассматриваются вопросы снижения времени расчетов баллистической информации для постоянно расширяющейся группировки космических аппаратов, а также представлено сравнение времени стандартных баллистических расчетов по существующим и предложенным методикам.
Ключевые слова: космические аппараты, баллистико-навигационное обеспечение полета, оптимизация вычислений.
Согласно основным положениям государственной политики Российской Федерации в области космической деятельности на период до 2030 г. и дальнейшую перспективу с каждым годом планируется постепенное наращивание космической группировки. Этот факт предполагает модернизацию процесса создания и обслуживания космических аппаратов (КА).
Одной из самых ресурсоемких задач обслуживания КА является задача баллистико-навигационного обеспечения (БНО) полета, поэтому увеличение группировки КА для системы БНО является критическим фактором.
На данном этапе структура БНО полета КА состоит из множества отдельных комплексов программ, зачастую разрабатывающихся для каждого КА отдельно. Основные проблемы такого подхода состоят в следующем:
- дублирование друг друга;
- неспособность к оперативному расширению списка решаемых задач;
- неспособность к адаптации для управления другими КА;
- отсутствие поддержки многозадачности при выполнении расчетов.
На сегодняшний день алгоритмы организации стандартных баллистических расчетов предполагают последовательное выполнение стандартных процедур, синхронизированных в одном потоке, т. е. вся баллистическая информация рассчитывается постепенно. При управлении одним КА такой подход оправдан, так как время последовательного расчета сравнительно небольшого объема баллистических задач, как правило, некритично. Кроме того, при таком подходе нет необходимости контролировать правильную последовательность выполнения расчетов, так как для одного аппарата она всегда неизменна. Однако такой подход предполагает разработку и обслуживание программных комплексов под каждый аппарат отдельно, что с увеличением группировки КА приведет к большим трудозатратам, расширению информационно-вычислительных средств системы БНО и резкому увеличению времени расчетов при попытке сократить количество программных комплексов. На рис. 1 показан анализ загруженности центрального процессора при прогнозировании движения двух объектов
118
ЛЕСНОЙ ВЕСТНИК 3/2015
системный анализ, управление и обработка информации в космической отрасли
Секунды
0 2 4 6 8
РИ Другие процессы
ИИ Системный процесс Использование ЦП
Активность GPU (DirectX)
6-i , ■ . ..............
5-
0- -------------------------------------------------------------
Рис. 1. Загрузка ядер центрального процессора Fig. 1. The load of CPU cores
Идентификатор потока Имя ) 2 4 6 i i i i ; i < i i ; i i i i 1 i i i i
ДискО Чтение
8176 Основной поток
8176 ConcurrencyVisualizer.Marke ЪШКШШШШШШШШШШШШШШШШЗШШШШШШШШШШШШШтяшш
Ядро GPU DirectX 0
Рис. 2. Потоки выполнения Fig. 2. Performance streams
для разного количества витков. Анализ проводился на компьютере с 4-ядерным процессором Intel(R) Xeon(R), частотой 2.66 ГГц. Как видно из рисунка, из четырех процессоров загружен только один (зеленый цвет), остальные процессоры заняты служебными операциями (серый цвет). На рис. 2 зеленым цветом выделены задействованные потоки, а синим выделены времена выполнения операций прогноза (Phase 1 и Phase2). Как видно из рис. 2, для того чтобы запустить операцию прогнозирования движения для второго объекта, сначала необходимо дождаться завершения аналогичной операции у первого.
Такой подход при увеличении количества обслуживаемых КА становится крайне
неэффективным, так как при использовании классического подхода к программированию вся мощность компьютера не используется из-за того, что при последовательном синхронном вычислении процессоры нагружаются по мере увеличения количества задач, т. е. вся полезная нагрузка в основном приходится только на один процессор.
Для решения данной проблемы был доработан алгоритм распределенной организации вычислений [1, 2] для системы БНО полета. Для успешной работы алгоритма (рис. 3) необходимо выполнение всего двух условий:
- возможность выделения независимых задач;
ЛЕСНОЙ ВЕСТНИК 3/2015
119
СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ В КОСМИЧЕСКОЙ ОТРАСЛИ
Рис. 3. Алгоритм организации параллельных вычислений Fig. 3. Algorithm for parallel computing
- наличие свободных вычислительных мощностей.
Под независимыми задачами нужно понимать отдельные баллистические опера-
ции, которые можно проводить без синхронизации друг с другом. Баллистические расчеты для разных КА независимы по определению, поэтому данный алгоритм отлично подходит
120
ЛЕСНОЙ ВЕСТНИК 3/2015
системный анализ, управление и обработка информации в космической отрасли
Рис. 4. Загрузка ядер центрального процессора Fig. 4. The load of CPU cores
Идентификатор потока Имя |Секунды 1 14 15 16 17 18 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ДиекО Чтение
7776 Основной поток
7776 ConcurrencyViswBzer.Marfce Enter task М Enter task
7536 Рабочий поток
6136 Рабочий поток
5440 Рабочий поток
7916 Рабочий поток
7916 SystenvCollecttons.Concurrent ^^Цикл выполнения Push для добавления в ConcutrentSteek выполнен 1 рвз(а).
7336 Рабочий поток
7932 Рабочий поток
6300 Рабочий поток
6588 Рабочий поток
6872 Рабочий поток
7492 Рабочий поток
468 Рабочий поток
7304 Рабочий поток
7420 Рабочий поток
7108 Рабочий поток ■
7236 Рабочий поток
Рис. 5. Потоки выполнения параллельных вычислений Fig. 5. Flows of parallel computing
для управления группировкой КА. Под наличием свободных вычислительных мощностей понимается то, что расчеты должны проводиться на многопроцессорных серверах или персональных компьютерах, что при нынешнем развитии вычислительной техники также не вызывает вопросов. Предполагается, что программный комплекс БНО управления полетами большим количеством КА будет располагаться на основном и дублирующем серверах и будет полностью использовать все их вычислительные мощности.
Для иллюстрации преимуществ использования алгоритма параллельных вычис-
лений была решена та же задача прогнозирования движения для двух объектов. На рис. 4 зеленым цветом показана полезная загрузка ядер центрального процессора. Как можно отметить, для двух задач одновременно используются два процессора. На рис. 5 показаны использующиеся потоки. Синим цветом выделено время выполнения задач, а зеленым -использующиеся ресурсы процессора. Задачи запускаются практически одновременно, и к завершению первой задачи часть второй уже завершена. Дополнительные потери во времени при использовании предложенного алгоритма будут иметь место в случае, если
ЛЕСНОИ ВЕСТНИК 3/2015
121
системный анализ, управление и обработка информации в космической отрасли
Рис. 6. Загрузка ядер центрального процессора для четырех объектов Fig. 6. The load of CPU cores for 4 objects
Рис. 7. Сравнение времени работы двух алгоритмов организации вычислений Fig. 7. Comparison of the time of work of two algorithms of calculation organizing
необходимо вывести данные пользователю, так как для этого нужна дополнительная синхронизация с пользовательским интерфейсом. Дополнительным фактором, влияющим на время проведения вычислений, является собственная продолжительность операций, т.е. время выполнения операции, изолирован-
ной от остальных. Существуют длительные баллистические операции, время выполнения которых больше 5 с, например прогноз эволюции орбиты на длительном промежутке времени, долгосрочное планирование динамических операций и т. д. Вместе с тем, существуют и короткие операции, время вы-
122
ЛЕСНОЙ ВЕСТНИК 3/2015
системный анализ, управление и обработка информации в космической отрасли
полнения которых меньше 1 с - это операции, связанные с вычислениями на очень короткий период времени, расчетом простых преобразований координат и т д. Для таких операций существуют потери во времени при переключении между ядрами процессора, этот эффект будет заметен при проведении большого количества коротких операций, однако из-за небольшого количества таких задач в системе БНО, а также из-за непродолжительности времени их работы этими задачами можно пренебречь.
На рис. 6 зеленым цветом показана загрузка ядер процессора для четырех объектов. Из рисунка видно, что в начале выполнения программы задействованы все вычислительные ресурсы процессора, также можно проследить, как снижается потребляемая вычислительная мощность по мере завершения одновременно запущенных задач.
По результатам работы предложенного алгоритма было проведено сравнение времени выполнения различных задач для разного количества объектов (рис. 7). Как видно из графика, при небольшом количестве объектов эффект от применения алгоритма параллельных вычислений небольшой. однако с увеличением обслуживаемых КА время выполнения отдельных независимых задач существенно сокращается, при этом характер поведения графика при изменении типа задач (прогнозирование движения, расчет зон радиовидимости, расчет баллистического спуска КА) не меняется. Отдельно необходимо заметить, что эффект от использования нового алгоритма организации вычислений проявляется даже при сравнении результатов работы программы, использующей графический интерфейс, с программой, которая занимается только вычислениями без графического вывода.
Заключение
В настоящее время российская космонавтика активно развивается, и в ближайшем будущем темпы ее развития будут только расти. Этот факт предполагает модернизацию практически всех систем обслуживания КА, в том числе и системы БНО полетами. Пос-
кольку баллистическое обеспечение полетами требует привлечения большого количества вычислительных ресурсов, его модернизация невозможна без симбиоза с новыми технологиями в вычислительной технике. На сегодняшний день практически не осталось однопроцессорных вычислительных серверов, однако классические подходы к организации баллистических расчетов не учитывают этот фактор и расчеты проводятся неэффективно относительно используемых ресурсов. Описанный в статье алгоритм проведения баллистических расчетов решает эту проблему, кроме того, данный алгоритм отлично подходит для управления большим количеством КА, так как основное условие независимости операций для разных КА выполняется по умолчанию. Использование алгоритма распределенных вычислений не ограничивается только БНО полетов группировкой КА, его также можно использовать при организации длительных вычислений для одного КА, например, решение задачи выбора безопасной орбиты захоронения КА, где одновременно решаются задачи перевода КА на эту орбиту и его долговременная эволюция. Единственной сложностью тут станет выделение независимых задач, но эта проблема решается грамотным анализом исходных данных. Исследования показали, что наилучшую эффективность алгоритм показывает при проведении длительных расчетов для большого количества КА, что позволяет сделать вывод о необходимости его использования при построении единой системы БНО полетами постоянно расширяющейся группировкой КА.
Библиографический список
1. Харт. Обработка данных: параллелизм и производительность / М. Джонсон // MSDN Magazine, 2011. - № 1.
2. Даан Лейжен. Оптимизация управляемого кода для многоядерных компьютеров Даан Лейжен, Джад Холл // MSDN Magazine, 2007. -№ 10.
3. Жигастова, О.К., Почукаев В.Н. Методика автоматизированного планирования полета автоматических околоземных космических аппаратов / О.К. Жигастова, В.Н. Почукаев // Вестник Московского авиационного института, 2012. - № 3.
4. Кудрявцев, С.И. Алгоритмы оперативного контроля и управления движением КА на конечном участке спуска по внешнетраекторной информации: дис. ... канд. техн. наук: 05.07.09. / С.И. Кудрявцев. - М., 1988.
ЛЕСНОЙ ВЕСТНИК 3/2015
123
системный анализ, управление и обработка информации в космической отрасли
5. Андреевский, В.В. Динамика спуска космических аппаратов на Землю / В.В. Андреевский. - М.: Машиностроение, 1970.
6. Дудар, Э.Н. Управление боковым траекторным движением космического аппарата в атмосфере / Э.Н. Дудар, В.А. Ярошевский // Космические исследования. - Т. XXII. - Вып. 2. - 1984.
7. Иванов, Н.М. Баллистика и навигация ЛА / Н.М. Иванов, А.А. Дмитриевский, Л.Н. Лысенко. - М.: Машиностроение, 1986.
8. Иващенко, Н.Н. Автоматическое регулирование. Теория и элементы систем / Н.Н. Иващенко. - М.: Машиностроение, 1978.
9. Кудрявцев, С.И. Особенности точного наведения пилотируемых космических аппаратов на конечном участке их спуска. ЦНИИмаш / С.И. Кудрявцев // Сб. РКТ. - Сер. IX. - Вып. 1. -1990.
10. Сихарулидзе, Ю.Г. Баллистика летательных аппаратов / Ю.Г Сихарулидзе. - М.: Наука, 1982.
OPTIMIZATION OF BALLISTIC AND NAVIGATION SUPPORT MISSION ORGANIZATION FOR LARGE NUMBER OF SPACECRAFTS CONTROL
Kutomanov A.Yu., FSUE TsNIIMash
Central Research Institute of Machine Building (FSUE TsNIIMash), 4, st. Pioneer, Korolev, Moscow region, 141070, Russia
Ballistic and navigation mission support is a considerably long and resource-taking process. Nowadays the number of spacecraft is constantly growing and thus time for ballistic and navigation calculations is growing too. If the rate of growth of spacecraft number manned by mission control center maintains, the factor of time increase for ballistic and navigation calculations can become critical in near future. At the moment every spacecraft has its own ballistic software complex. In many cases this software complex duplicates many functions performed by another ballistic software complex worked out for another spacecraft. This software complex is installed to separate удалить personal computers (main and replacing) and works for only a limited period of time to make operative calculations. During other time computing powers of personal computers do not work. As a rule such software complexes are developed in a “mono thread” style and they do not use all the resources of multy-core center processors. To increase the efficiency of work of ballistic service in the conditions of constantly growing spacecraft number, it is suggested to change the approach to the organization of ballistic calculations. New approach consists in the integration of all ballistic software complexes developed for different spacecrafts in one computing server. To implement this approach successfully the algorithm of parallel calculations must be used. The use of this algorithm of parallel calculations helps to use the resources of calculation servers in a more efficient way and decreases standstill time of servers’ computing powers. In this article the problems of reduction of time for ballistic and navigation calculations in the conditions of constantly growing spacecraft number are considered. The results of comparison of two calculation algorithms are shown.
Keywords: spacecraft, ballistic and navigation mission support, optimization of calculations.
References
1. Dzhonson M. Khart Obrabotka dannykh:parallelizm iproizvoditel’nost’ [Data Processing: Parallelism and Performance]. MSDN Magazine. 2011. № 1.
2. Daan Leyzhen, Dzhad Kholl Optimizatsiya upravlyaemogo koda dlya mnogoyadernykh komp’yuterov [Optimization of managed code for multicore computers]. MSDN Magazine. 2007. № 10.
3. Zhigastova O.K., Pochukaev VN. Metodika avtomatizirovannogo planirovaniya poleta avtomaticheskikh okolozemnykh kosmicheskikh apparatov [The technique of automated flight planning automatic Earth spacecraft]. Bulletin of the Moscow Aviation Institute, 2012. № 3.
4. Kudryavtsev S.I. Algoritmy operativnogo kontrolya i upravleniya dvizheniem KA na konechnom uchastke spuska po vneshnetraetkornoy informatsii [Algorithms for operational control and motion control spacecraft on final descent on vneshnetraetkornoy information]: dis. ... Candidate. tehn. Sciences: 05.07.09. Moscow, 1988.
5. Andreevskiy V.V. Dinamika spuska kosmicheskikh apparatov na Zemlyu [Dynamics descent spacecraft to Earth]. Moscow: Mashinostroenie [Engineering], 1970.
6. Dudar E.N., Yaroshevskiy V.A. Upravlenie bokovym traektornym dvizheniem kosmicheskogo apparata v atmosfere [Management side trajectory of the spacecraft in the atmosphere]. Kosmicheskie issledovaniya, t. XXII, vyp.2 [Space research, t. XXII, issue.2], 1984.
7. Ivanov N.M., Dmitrievskiy A.A., Lysenko L.N. Ballistika i navigatsiya LA [Ballistics and navigation LA]. Moscow: Mashinostroenie [Engineering], 1986.
8. Ivashchenko N.N. Avtomaticheskoe regulirovanie. Teoriya i elementy sistem [Automatic regulation. Theory and system elements]. Moscow: Mashinostroenie [Engineering], 1978.
9. Kudryavtsev S.I. Osobennosti tochnogo navedeniyapilotiruemykh kosmicheskikh apparatov na konechnom uchastke ikh spuska [Features precision-guided manned spacecraft in the final phase of their descent]. TsNIIMash, Sb. CT, ser.IX. issue 1, 1990.
10. Sikharulidze Yu.G. Ballistika letatel’nykh apparatov [Ballistics aircrafts]. Moscow: Nauka [Science], 1982.
124
ЛЕСНОЙ ВЕСТНИК 3/2015