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

0

Ю. И. Кантемиров, А. Петернье

Компания Sarmap (Швейцария) совместно с компанией «Совзонд» провела успешное тестирование ряда функций модулей SARscape для программы ENVI  на кластерных компьютерах.

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

  • графические процессоры (GPU) Nvidia Tesla K80 и Nvidia Tesla K20x;
  • компьютер с двумя параллельными 8-ядерными центральными процессорами (CPU) Intel Xeon E5-2630 v3;
  • компьютер с 60-ядерным сопроцессором Intel 5110p Xeon Phi.

Тесты производительности были выполнены с помощью приложения sarxtest. Sarxtest — это часть пакета SarxTools, разработанного компанией Sarmap S.A. для тестирования аппаратной вычислительной мощности устройств, поддерживающих технологию распределенных вычислений OpenCL. Инструмент sarxtest позволяет оценивать степень реализации технологии OpenCL на конкретном CPU и GPU оборудовании за счет замера скорости обработки радарных данных стандартными алгоритмами обработки, такими как быстрое преобразование Фурье или фильтрация спекл-шума.

Sarxtest автоматически использует при тестах различные циклы разогрева и рабочие нагрузки на аппаратуру для достоверной оценки производительности. Результаты тестов производительности устройств, приведенные на рис. 1, 2, 3, показывают сравнение скорости обработки одних и тех же данных одним и тем же алгоритмом на различных устройствах. Результаты приведены в виде графиков скорости обработки в секундах, затраченных на выполнение серии заданий с возрастающей нагрузкой на систему.

ris_1
Рис. 1. Результаты теста производительности для алгоритма фильтрации амплитудного радарного снимка

 

ris_2
Рис. 2. Результаты теста производительности для алгоритма фильтрации комплексного радарного снимка

 

ris_3
Рис. 3. Результаты теста производительности для алгоритма быстрого преобразования Фурье

 

Тестирование алгоритма фильтрации спекл-шума было основано на фильтрации одного снимка одним алгоритмом фильтрации с возрастающими размерами плавающих окон фильтрации (от 1х1 пиксель до 16×16 пикселей). Размер амплитудного радарного изображения составил 256 Мб, исходного комплексного радарного изображения – 512 Мб. Тестирование алгоритма быстрого преобразования Фурье было основано на возрастающем количестве преобразований (от 1 до 128).

Анализ результатов тестирования производительности различных устройств, приведенных на рис. 1, 2, 3, показал следующее:

  • каждая из двух видеокарт (Nvidia Tesla K20x и K80) значительно (на порядок) превосходит по скорости обработки компьютер с двумя параллельными 8-ядерными CPU процессорами Intel Xeon E5-2630 v3;
  • каждая из двух видеокарт (Nvidia Tesla K20x и K80) значительно (в разы) превосходит по скорости обработки компьютер с 60-ядерным сопроцессором Intel Xeon Phi, который позиционируется как конкурент GPU-решений.
  • видеокарта K80 в два раза превосходит видеокарту K20x для большинства операций фильтрации спекл-шума и быстрого трансформирования Фурье.

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

GPU-кластер для дальнейшего тестирования был предоставлен компанией «Т-Платформы» (Россия; рис. 4). Он был оборудован 8 чипами GPU Nvidia Tesla K80 и 4 чипами GPU Nvidia Tesla K20x (всего 12 чипов GPU). Они были установлены на 4 физических GPU-узла:

  • Узел s01, оборудованный двумя видеокартами Nvidia Tesla K20x (в каждой видеокарте по 1 чипу GPU);
  • Узел s02, оборудованный двумя видеокартами Nvidia Tesla K20x (в каждой видеокарте по 1 чипу GPU);
  • Узел s03, оборудованный двумя видеокартами Nvidia Tesla K80 (в каждой видеокарте по 2 чипа GPU);
  • Узел s04, оборудованный двумя видеокартами Nvidia Tesla K80 (в каждой видеокарте по 2 чипа GPU).
ris_4
Рис. 4. Кластер компании «Т-Платформы»

 

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

Постоянно возрастающий размер радарных снимков в пикселях (от 25 000 х 5000 пикселей у данных ERS-1/2 до 25 000 х 35 000 пикселей у данных ALOS-2 и Sentinel-1A), а также большое количество исходных снимков (не менее 30), требуемое для работы функции SARscape Persistent Scatterers Interferometry, обусловили необходимость разработки в первую очередь версии этой функции, использующей преимущества распределенной обработки.

Тестирование модуля SARscape Persistent Scatterers Interferometry проводилось на данных 30-проходной интерферометрической серии радарных снимков со спутников COSMO-SkyMed-1–4. В связи с выявленными узкими местами системы (скорость записи на жесткий диск), тест был выполнен на вырезанной области размерами 5000×10 000 пикселей. Тестирование было выполнено для операции first inversion step модуля SARscape Persistent Scatterers в связи с тем, что операция first inversion step наиболее подходит для оценки производительности GPU-кластера, поскольку она с максимальной нагрузкой задействует OpenCL и дает наибольшее преимущество в скорости обработки при задействовании возрастающего количества узлов GPU-кластера.

Тест был выполнен с использованием одного комплекта данных, которые обрабатывались возрастающим количеством параллельно работающих видеокарт (от 1 до 12), чтобы оценить фактор ускорения обработки и масштабируемость системы. Отдельный процесс SARscape Persistent Scatterers (программный узел) выделялся на один чип GPU (каждая карта K20x имеет один чип GPU, каждая карта K80 имеет два чипа GPU). Таким образом, на каждый узел с двумя картами K20x выделялось по 2 программных узла, а на каждый узел с двумя картами K80 выделялось по 4 программных узла. Всего тестируемый кластер обеспечил работу 12 программных (вычислительных узлов). Результаты тестирования приведены на рисунке 5.

ris_5
Рис. 5. Время (в минутах) выполнения операции SARscape Persistent Scatterers First Inversion для 30-проходной серии снимков COSMO-SkyMed-1–4 (вырезка 5000 х 10 000 пикселей)

 

Распределение программных узлов по физическим узлам для 4 точек, по которым построен график на рис. 5, приведено в табл. 1.

Таблица 1. Распределение программных узлов по физическим узлам

Кол-во программных узлов SARscape

Кол-во физ. компьютеров

Кол-во чипов GPU на 1 физ. компьютер

1 1 1 (K80)
2 2 1 (K80)
6 2 3 (K80)
12 4 4 (K80), 2 (K20)

Сопоставление графика, приведенного на рис. 5, с табл. 1 показало следующее:

  • При переходе от одного программного узла к двум время обработки уменьшилось почти в два раза (как и ожидалось, ведь мы перешли от одного компьютера (1 комплект GPU/HD) к двум компьютерам (2 GPU/HD);
  • При увеличении количества программных узлов в 3 раза (с двух до шести) фактор ускорения составил менее трех раз (более пологий участок графика). Это связано с тем, что в этом тесте количество программных узлов увеличилось в три раза, но количество жестких дисков HD осталось прежним, так как использовались как и в первом случае всё те же два физических компьютера;
  • При увеличении количества программных узлов с 6 до 12 — график зависимости скорости обработки от количества программных узлов стал еще более пологим. Это объясняется тем, что количество программных узлов увеличилось на 6, а количество компьютеров (и жестких дисков HD) — на 2. Также на данном шаге 4 из 6 добавленных узлов – это более медленные GPU K20x (на предыдущих шагах использовались только GPU K80).

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

Стандартные локальные диски на используемом кластере имели скорость считывания данных около 100 Мб/сек и скорость записи около 30 Мб/сек. Это стандартные параметры для большинства обычных жестких дисков. Скорость обработки радарных данных в модуле SARscape Persistent Scatterers может быть значительно увеличена при использовании дисков со скоростью записи 500 Мб/сек (SSD диски или RAID массивы).

Анализ результатов тестирования позволил сделать следующие выводы:

  • GPU-кластер, предоставленный для тестирования компанией «Т-Платформы», практически идеально подходит (за исключением отсутствия быстрых дисков SSD- или RAID-массивов) для эффективной обработки больших массивов радарных данных дистанционного зондирования Земли большинством алгоритмов обработки, реализованных в SARscape.
  • Задействование для обработки радарных данных новейших видеокарт Nvidia Tesla (K20x и K80) обеспечивает значительно более высокую скорость обработки по сравнению с альтернативными high-end решениями (таким как Intel Xeon Phi сопроцессоры и компьютеры со сдвоенными многоядерными CPU (Dual CPU)).
  • Поскольку алгоритм интерферометрии постоянных рассеивателей (SARscape Persistent Scatterers) и другие алгоритмы SARscape интенсивно задействуют не только память системы и GPU/процессоры/сопроцессоры, но и жесткие диски, рекомендуем для обработки радарных данных ДЗЗ использовать кластер данной или аналогичной конфигурации, но оборудованный SSD-дисками или RAID-массивами со значительно большими скоростями чтения с диска и записи на диск.
  • Использование всех 12 чипов GPU используемого кластера ускорило обработку в 8 раз по сравнению с использованием лишь 1 GPU. Время обработки сократилось с 15 часов 35 минут до 1 часа 55 минут.

Таким образом, результаты тестирования работы модуля SARscape Persistent Scatterers на GPU-кластере можно признать полностью успешными и рекомендовать использовать кластерную версию SARscape для пользователей, регулярно обрабатывающих большие массивы данных радарных космических съемок. В настоящее время разработчиками SARscape, компанией Sarmap S.A.,ведется доработка остальных функций SARscape для использования на кластерах.