Алгоритмы анализа действий операторов радиотехнического комплекса в наземной системе обработки информации

Автор: Волчихин Владимир Иванович, Пащенко Дмитрий Владимирович

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Технологии компьютерных систем и сетей

Статья в выпуске: 2 т.10, 2012 года.

Бесплатный доступ

Приведено сравнение последовательного и параллельных алгоритмов обработки больших массивов информации для повышения оперативности выполнения анализа действий операторов радиотехнического комплекса в наземной системе обработки информации, рассмотрено повышение быстродействия при чтении данных с диска с использованием конвейера.

Авиационный комплекс радиолокационного дозора и наведения, радиотехнический комплекс, объективный контроль, массив данных, менеджер параллельной обработки, многоядерный процессор, контроль действий операторов

Короткий адрес: https://sciup.org/140191544

IDR: 140191544

Текст научной статьи Алгоритмы анализа действий операторов радиотехнического комплекса в наземной системе обработки информации

Важную роль в обеспечении обороноспособности страны играют авиационные комплексы радиолокационного дозора и наведения (АК РЛДН). Данная система представляет из себя самолет с установленным на борту радиолокационным комплексом. АК РЛДН – сложнейшая радиотехническая, электронная и информационно-вычислительная система, надежная и точная работа которой обеспечивается в том числе и наземной системой обработки информации.

Поэтому в состав РЛК входят средства объективного контроля (СОК), обеспечивающие анализ состояния технических средств АК РЛДН, радиолокационной обстановки и действий операторов. Условия, предъявляемые СОК АК РЛДН, требуют особых подходов при проектировании архитектуры такой системы и алгоритмов обработки данных. В условиях интенсивной летной эксплуатации (обеспечение непрерывного дежурства в воздухе) актуальным является сокращение времени, необходимого для послеполетной обработки зарегистрированной информации. При этом наибольшее время занимает процесс контроля действий операторов.

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

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

Объективный контроль действий оператора боевого расчета

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

В качестве примера рассмотрим работу оператора боевого расчета АК РЛДН. Оператор боевого расчета наводит истребитель на определенную цель, при этом он постоянно корректирует действия истребителя с учетом изменения местоположения цели либо переводит корректировку в автоматический режим, когда команды наведения на цель выдает аппаратура комплекса [2]. При обнаружении цели истребителю назначаются исходные данные для наведения на цель. После сообщается координата вертикали, на которую следует выйти для поражения цели. Завершение процесса наведения должно подтвердиться приходом команды «Конец атаки».

Каждая запись действия оператора содержит номер рабочего места, номер трассы по бортовой системе управления наведением (БСУН), номер трассы по радиолокационному контролю, идентификатор выполняемого действия и набор служебных параметров (координаты по каждой цели, курс, скорость и т.д.).

Как правило, на борту АК РЛДН выполняют боевую задачу несколько штурманов наведения. Можно сказать, что существует такой момент времени, когда все они будут заняты решением боевых задач.

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

Следующим этапом формализации является построение алгоритма контроля действий лиц боевого расчета АК РЛДН. Эффективность данного алгоритма можно сформулировать в задаче разработки такого алгоритма контроля, который позволит за определенное время обрабатывать весь объем информации, полученной при максимальной нагрузке на систему, за весь период эксплуатации АК РЛДН

Задачу анализа действий оператора можно разбить на две подзадачи:

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

  • -    контроль порядка действий, выполняемых оператором.

Модель анализа действий операторов

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

Пусть R – множество упорядоченных по времени записей, которое можно представить как множество, состоящее из элементов r :

r = {t,x,pA,p2,p3,...,pn}, (1)

где t – время записи; x – команда оператора; pvp2,p3,...,pn – дополнительные поля записи, используемые при ее фильтрации и анализе, где n – количество информационных полей в записи r .

Для дальнейшего анализа записи введем понятие сценария проверки. Как следует из опыта применения ДРЛО предыдущих поколений, любая боевая задача, выполняемая ими, строго формализована и состоит из конечного набора команд, используемых в различных режимах работы. Для анализа входной последовательности необходимо провести фильтрацию элементов множества r (1). Для этого вводится понятие фильтра F , состоящего из элементов множества L имеющего поля эквивалентные одноименным полям множества r :

/ЦРрР2’Рз’--”РгА- (2)

Статистическая оценка порядка выполнения команд будет осуществляться с использованием сценариев проверки. Под сценариями проверки будем понимать упорядоченное множество сценариев S, состоящее из Sj xstart ’

{P = { kortA, kort2,..., kortn } }, ^E = \kortstopA,...>rtsto^y {/ = {^1,...,/),,,}}, где P – множество, состоящее из n кортежей промежуточных условий сценария Sj ; Xstart -стартовая команда сценария S-; E – множество, состоящее из l кортежей kortstop условий завершения сценария Sj ; f – элемент множества F, где F – фильтр входной последовательности, состоящий из m фильтруемых полей (2), а kort является кортежем условий kort =< x, y, ^t > ,

где y является элементом множества выполненных команд Y эквивалентным множеству X зарегистрированных команд оператора (X~Y); A? – интервал времени между командами.

Такое описание удобно при заполнении сценариев проверки экспертом для дальнейшего ис- пользования в работе продукционными правилами.

Так как обработка информации осуществляется сразу по нескольким сценариям, необходимо ввести понятие диагностической последовательности D , которая будет использоваться при работе продукционной системы (5). Диагностическая последовательность является динамически изменяемым, помеченным множеством D , состоящим из элементов d :

D = $xdv,d2,...d^. (5)

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

Алгоритм параллельной обработки данных с разбивкой общего массива

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

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

Реализация такой схемы представлена на рис.1. В ней можно выделить менеджер параллельной обработки, который необходим для обеспечения двух важных задач:

  • -    одновременно не должно выполняться потоков больше, чем процессор содержит ядер;

  • -    ни одно ядро не должно простаивать, если хотя бы один поток находится в режиме ожидания выполнения.

Менеджер проверяет наличие свободных критических ресурсов (процессов в системе).Если свободные ресурсы есть, то производится поиск самого загруженного потока из очереди и менеджер разгружает его, передавая часть данных на обработку освободившемуся потоку. Если очередь потоков пуста, то менеджер находится в режиме ожидания поступления новых потоков (см. рис. 2).

Рис. 1 Схема параллельного алгоритма

Рис. 2 Алгоритм работы менеджера параллельной обработки

Однако у данного параллельного алгоритма есть недостаток – если начало последовательности окажется в данных одного потока, а окончание в данных другого (см. рис. 3), то алгоритму обработки потока придется анализировать уже обработанные другими потоками записи. При больших объемах информации этим недостатком можно пренебречь, так как время ожидания новой записи превысит время текущей и сценарий обработки будет удален из списка.

Работу с жестким диском целесообразно организовать разделением области памяти на три части:

  • -    рабочая память (текущие обрабатываемые данные);

  • -    освобождаемая память (обработанные данные, которые необходимо удалить из оперативной памяти);

  • -    подгружаемая память (данные, читаемые с диска в асинхронном режиме).

Данные 1-го потока ачало последовательности

Данные 2-го потока

Данные n-го потока кончание последовательности

Рис. 3. Коллизия параллельного алгоритма

Такое разделение позволит избежать простоя всей системы в случае медленного чтения с диска. Чтение диска в асинхронном режиме обеспечивается средствами операционной системы. При этом среднее время работы с диском будет прямо пропорционально обработке данных на самой медленной части конвейера:

~ max(f

X чтение

^обработка ^осеобож дение

). (6)

В случае медленного чтения с диска значительно (до нескольких раз) сократить время этой операции можно, используя аппаратно-инкрементный подход – быструю систему долговременной памяти (например RAID-массив из высокопроизводительных жестких дисков SAS/SATA с энергонезависимым буфером на запись).

Алгоритм параллельной обработки данных с динамическим распределением данных по потокам обработки

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

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

Проверка выдвинутых гипотез

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

В таблицах 1-2 представлены результаты оценки производительности системы, основанной на одноядерном процессоре, и системы, основанной на двух аппаратных платформах: с двух- и четырехъядерным процессором при обработке тестовых массивов малого (11 Мб) и большого (1,1 Гб) объема данных.

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

Таблица 1. Оценка производительности для объема данных 11 Мб

Алгоритм

Среднее время выполнения этапа, мин:С на процессоре с числом ядер

1

2

4

Последовательный

0:52

0:50

0:50

Параллельный с разбивкой общего массива данных на части

0:52

0:48

0:46

Параллельный с динамическим распределением данных по потокам обработки

0:57

0:54

0:52

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

Таблица 2. Оценка производительности для объема данных 1,1 Гб

Алгоритм

Среднее время выполнения этапа, мин:С на процессоре с числом ядер

1

2

4

Последовательный

87:20

86:13

85:30

Параллельный с разбивкой общего массива данных на части

87:13

75:41

79:51

Параллельный с динамическим распределением данных по потокам обработки

87:23

69:17

63:14

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

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

Список литературы Алгоритмы анализа действий операторов радиотехнического комплекса в наземной системе обработки информации

  • Верба В.С. Тенденции развития авиационных средств разведки и дозора//Наукоемкие технологии. 2004, №8-9, 2004. -С. 53-62.
  • Пащенко Д.В., Васильев А.В., Васильев С.А., Конов Н.Н. Методика контроля показателей точности сопровождения целей радиолокационным комплексом//Радиотехника. №8, 2009. -С. 116-119.
  • Мачалин В.А., Токарев А.Н., Трокоз Д.А., Пащенко Д.В., Синев М.П. Стратегия параллельной обработки массивов данных в системе объективного контроля радиотехнического комплекса радиолокационного дозора и наведения//Радиотехника. №8, 2010. -С. 51-55.
Статья научная