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

ФИСУН1 Владислав Андреевич, кандидат физико-математических наук, старший научный сотрудник

ОБРАБОТКА ВИДЕОДАННЫХ В СИСТЕМАХ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ СРЕДСТВАМИ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ С ОГРАНИЧЕННЫМИ РЕСУРСАМИ

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

Для реализации параллельной многопоточной схемы обработки видеоданных и ускорения их обработки предлагается использовать HTT-технологию и ресурсы потоковых команд ЭВМ.

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

The peculiarities of processing video data in computing environments with limited resources. To implement parallel thread processing circuit video and speed of processing is proposed to use the technology and resources HTT streaming commands a computer.

Keywords: image processing, HTT technology, graphics processors, the stream team.

В некоторых центрах специального назначения задача обработки видеоданных [1] может быть одной из многих задач центра и для своей работы получать ограниченные вычислительные ресурсы. Цена оборудования для обработки видеоданных в виде отдельного многоядерного микропроцессора с интегрированными в него графическими процессорами пока еще высока для массового тиражирования. Однако реализацию современных многопоточных задач обработки видеоданных и ускорение их работы можно проводить средствами параллельной обработки данных современных микропроцессоров с использованием аппарата потоковых команд и НТТ-технологии.

Многопоточность - характерное свойство приложений обработки видеоданных, состоящее в том, что процесс обработки разделяется на нескольких параллельных программных потоков. Такие приложения реализуются обычно на SMP системах — многоядерных и мультитредовых микропроцессорах. Однако работу многопоточные приложений на SMP можно выполнять также на обычных микропроцессорах с применением гиперпоточной технологии. Гиперпоточность, а точнее Hyper-Threading Technology (HTT) -это торговая марка фирмы Intel для реализованной в архитектуре Pentium IV, а затем в процессорах Intel Xeon и многих других технологии «одновременной мультипоточности». При этом

1 - старший научный сотрудник ИПМ им. М.В.Келдыша РАН

процессор РепИиш IV определяется операционной системой как два логических, работающих параллельно. Информация о состоянии, требуемая для поддержки работы каждого логического процессора, копируется при совместном использовании или разделении ресурсов физического ядра процессора. Поскольку ресурсы обычного процессора, как правило, недостаточно полно используются большинством приложений, то процессоры, использующие гиперпоточную технологию, позволяют повысить общую производительность приложений, по заявлению фирмы 1Ме1, на 30%. Показано, например в [2], как многопоточные приложения, работающие на системах ЯМР, можно эффективно выполнять

011 SPT.indd 62

25.07.2011 12:00:36

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

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

Для ускорения обработки видеоданных широко используются потоковые команды ЭВМ с архитектурой Single Instruction Multiple Data - это одна команда, много данных. Одной из первых серий таких команд была SSE (Streaming SIMD Extension) процессора Pentium III. В архитектуре ЭВМ добавились 8 новых регистров размером в 128 байт, в которых можно записать 4 числа с плавающей точкой

стандартной длины в 32 бита. С парой этих регистров возможны арифметические действия (сложение, вычитание, умножение, деление) как с четырехмерными векторами, то есть операции производятся поэлементно. Основа оптимизации программы под ЯЯЕ — это такая организация кода, при которой происходило бы частое выполнение одной арифметической операции над четырьмя независимыми парами чисел. Использование команд ЯЯЕ позволяет получать ускорение работы программ из области обработки видеоданных на порядок. В работе [3] исследовалась реализация типичной задачи обработки видеоданных: когерентная трасси-

ровка лучей с использованием возможностей команд ЯЯЕ. Они позволяют трассировать несколько лучей параллельно одним потоком команд, причем лучи одного набора, трассируемые одновременно, выбираются так, чтобы при работе с ними в большинстве случаев требовались одни и те же (или отстоящие недалеко друг от друга) данные сцены. Реализовано несколько Я1МБ-расширений команд, например: 3Б№эш! - Я1МБ-расшире-ние от АМБ. Регистры ЗБ^ш! двухэлементные, а не четырехэлементные, как в ЯЯЕ. 3БNowProfessiona1 -продолжение 3Б^ш! в процессорах АМБ — АШ1опХР, АШ1опМР, в это расширение включено и ЯЯЕ. Добавлены также команды, облегчающие работу с регистрами 3Б^ш! в случае их интерпретации как комплексные числа. Комплексные числа используются в преобразованиях Фурье, а преобразования Фурье - в кодировании звука и изображения. Расши-

рение MMX (Multi Media Extensions) стало стандартным для персональных компьютеров. Это расширение, предназначенное для работы с мультимедийными данными, изображением и звуком. В процессорах с технологией MMX есть 8 MMX-регистров, каждый размером в 64 бит, поддерживаются данные размером в 1, 2, 4 или 8 байт. Данные в MMX-регистрах можно поэлементно складывать, умножать, вычитать, производить логические операции с битами, а также выполнять специфические операции: сложение без переполнения, вычисление среднего арифметического. Многие операции при этом будут выполняться на порядок быстрее, чем на штатном АЛУ. Под MMX оптимизируются разнообразные кодеки аудиофайлов, алгоритмы которых хорошо сочетаются с MMX.

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

Механизм потоковых команд, позволяющий выполнять одновременно до 8 бинарных операций одной командой ЭВМ, входит в состав всех современных микропроцессоров; он востребован в ряде характерных алгоритмов обработки видеоданных

Литература

1. В.А.Сойфер и др. Методы, компьютерной обработки изображений. - М.: Физматлит, 2003. - 874 с.

2. http://www.rsdn.rU/articIe/baseserv/RUThreadingMethodoIogy.xml#E3VAE

3. А. Айдинец. Применение ББЕ для. вычисления, значений ДФОС в когерентном трассировщике лучей. / Сетевой журнал. Компьютерная, графика и мультимедиа, 2005. - Выпуск №3 (2).

03 2011 SPT.indd 63