В интересах определения требования к объёму памяти и быстродействию цифровой системы обработки сигналов спутниковых радионавигационных систем разработано исследование определения количества выполняемых операций в алгоритме управления беспилотным летательным аппаратом.
Ключевые слова: объём памяти, беспилотный летательный аппарат, количество операций, цифровая вычислительная машина.
Интеллектуальным ядром беспилотных летательных аппаратов являются высоконадежные вычислительные системы обработки сигналов и управляющие комплексы, которые реализуются на основе микропроцессорной техники. БПЛА в качестве обязательного элемента содержат бортовую цифровую вычислительную машину БЦВМ, что обусловлено многообразием режимов работы, необходимостью обработки больших массивов информации и формирования большого числа команд управления. Режим обработки данных в БПЛА должен производиться в темпе, соизмеримом со скоростью протекания внешних регистрируемых процессов, то есть в режиме реального времени. Это накладывает высокие требования на быстродействие БЦВМ [1].
Основные проблемы выбора характеристик БЦВМ, вводимой в структуру управления, определяются непосредственно только особенностями исполняемого программного алгоритма. Поскольку наряду с аппаратной частью от данного алгоритма очень сильно зависит быстродействие системы, выбор микропроцессорных средств невозможно осуществить в отрыве от задачи управления и ее алгоритмического обеспечения [2].
В действительности единственной подходящей и надежной единицей абсолютно точного измерения производительности является время выполнения реальной микропрограммы на конкретной БЦВМ. Но для проведения оценки этой производительности корректно использовать стандартные единицы измерения.
В настоящее время широко распространены две альтернативные единицы измерения производительности процессора:
MIPS — один миллион команд в секунду (по отношению ко времени выполнения);
MFLOPS — один миллион чисел — результатов вычислений с плавающей точкой в секунду, или один миллион элементарных арифметических операций над числами с плавающей точкой, выполненных в секунду.
У нас есть три оценки/измерения FLOPS: теоретическая, бенчмарк и программа. Рассмотрим особенности вычисления FLOPS для первого случая. Принцип этого измерения заключается в определении операций сложения и умножения в алгоритме, затем эти два значения складываются. Следующий пример показывает применение этого измерения:
Если у нас 8 операций умножения (MUL) и 8 операций сложения (ADD), мы можем получить следующие результаты [3]:
8 MUL (32-bit) и 8 ADD (32-bit): 16 SP FLOP/cycle, то есть 16 операций с плавающей точкой одинарной точности за один такт.
Теоретическое пиковое значение FLOPS для доступного мне 1-сокетного Xeon E3–1275 (4 cores @ 3.574GHz) составляет:
16 (FLOP/cycle)*4*3.574 (Gcycles/sec) = 228 GFLOPS SP(1)
Допустим что, общее количество операций с плавающей точкой одинарной точности за один такт равно:
MUL + ADD = (2)
Предполагая, что у нас следующие условия , для различных количеств получаем количество операций MUL + ADD, как показано в таблице 1.
Таблица 1
Количество операций умножения и сложения в алгоритме
Количество |
N |
||
5 |
7 |
9 |
|
MUL + ADD |
1470 |
1840 |
2210 |
В качестве операционной системы реального времени (ОСРВ) используется «БагрОС 4000», разработки ПАО «Компания «Сухой» для встраиваемых систем (бортовых вычислителей). Специальные программные адаптеры операционной системы были разработаны на процессорах «Эльбрус‑2С», «Эльбрус‑4С», в составе которых прошли продолжительную опытную эксплуатацию, а также на других платформах [4]. Таблица 2 включает список процессоров семейства Эльбрус [5].
Таблица 2
Список процессоров
Наименование процессора |
Эльбрус-2С |
Эльбрус-4С |
Эльбрус-16С |
Эльбрус-32С |
Год выпуска |
2011 |
2014 |
2022 |
В планах 2025 |
Количество ядер |
2 |
4 |
16 |
32 |
Тактовая частота, МГц |
500 |
800 |
2000 |
2500 |
Согласно уравнению (1) и для каждого типа процессора получаем количество операций с плавающей точкой, как показано в таблице 3.
Таблица 3
Количество операций с плавающей точкой
Наименование процессора |
GFLOPS SP |
|||
Эльбрус-2С |
Эльбрус-4С |
Эльбрус-16С |
Эльбрус-32С |
|
|
1470 |
4704 |
47040 |
117600 |
|
1840 |
5888 |
58880 |
147200 |
|
2210 |
7072 |
70720 |
176800 |
Таким образом, использование процессора Эльбрус-16С приведет к увеличению скорости выполнения операций в десять раз по сравнению с использованием процессора Эльбрус-4С. Но использование процессора Эльбрус-32С (в планах 2025 г.) увеличит скорость выполнения операций в двадцать пять раз.
Пока значения с одиночной точностью и типом float имеют 4 байта, можно определить соответствующий объём памяти для каждого из ранее указанных процессоров, как показано в таблице 4.
Таблица 4
Объём памяти для каждого процессора
Наименование процессора |
Объём памяти Тбайт |
||
|
|
|
|
Эльбрус-2С |
5,88 |
7,36 |
8,84 |
Эльбрус-4С |
18,816 |
23,552 |
28,288 |
Эльбрус-16С |
188,16 |
235,52 |
282,88 |
Эльбрус-32С |
470,4 |
588,8 |
707,2 |
Время, затрачиваемое цифровой системой обработки на обработку сигналов с помощью разработанного алгоритма при заданной производительности , может быть найдено из соотношения [6]:
,(3)
где — общее число операций сложения и умножения. В таблице 5 показано время обработки сигналов.
Таблица 5
Время обработки сигналов
Наименование процессора |
мс |
|||
Эльбрус-2С |
Эльбрус-4С |
Эльбрус-16С |
Эльбрус-32С |
|
|
1 |
0.3125 |
0.0313 |
0.0125 |
|
1 |
0.3125 |
0.0313 |
0.0125 |
|
1 |
0.3125 |
0.0313 |
0.0125 |
Таким образом, при решении задачи совместного обнаружения и оценивания необходимо время:
.(4)
Анализ зависимости показывает, что реальная производительность БЦВМ при выполнении целевой задачи должна обеспечивать выполнение необходимых алгоритмов в режиме реального времени, в этом случае необходимо достичь пиковой производительности не менее 1012 операций/с. Ожидаемое время обработки данных в БЦВМ оценивается величиной 12,5 Микросекунд, и практически не зависит от числа каналов в приёмной аппаратуре (количестве значений энергетического параметра N). А объем памяти для хранения данных информации — 5…28 Тбайт.
Таким образом, разработанные алгоритмы могут быть реализованы на базе современных бортовых ЦВМ. С учётом времени, затрачиваемого на выполнение алгоритма, возможна обработка сигналов СРНС в реальном масштабе времени.
Литература:
- Илюхин, С. Н., Оценка производительности бортового вычислителя беспилотного летательного аппарата при реализации процесса наведения / С. Н. Илюхин, А. Н. Клишин // Инженерный журнал: наука и инновации. — 2018. — № 7(79). — С. 6.
- Зубов Н. Е., Микрин Е. А., Рябченко В. Н., Пролетарский А. В. Аналитический синтез законов управления боковым движением летательного аппарата. Авиационная техника. Известия вузов, 2015, № 3, с. 14–20.
- Баскаков А. В., Симановский Е. А., Методики оценки эффективности параллельных вычислений и производительности суперкомпьютера / М-во образования и науки РФ, Самар. гос. аэрокосм. ун-т им. С. П. Королева (нац. исслед. ун-т); сост.: А. В. Баскаков, Е. А. Симановский — Электрон. текстовые и граф. дан. (181 Кбайт). — Самара, 2013.
- Гордиенко Р. Г., Федоренко О. Г., Демидов А. А., Федоров А. В., Отладка и мониторинг прикладных программ в операционной системе реального времени «БагрОС‑4000» на базе архитектуры «Эльбрус» // Радиопромышленность. 2019. Т. 29, № 1. С. 16–23.
- Ким А. К., Перекатов В. И., Ермаков С. Г. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». — СПб.: Питер, 2013. — 272 с.
- How to Optimize a Deep Learning Model for faster Inference? [Электронный ресурс] // «Deep Learning». — URL: https://www.thinkautonomous.ai/blog/deep-learning-optimization/#calculating-the-flops-in-a-model (дата обращения 28.03.2023).