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

Автор: Свинарчук Андрей Александрович, Калиниченко Сергей Владимирович, Нечай Александр Анатольевич

Журнал: Вестник Российского нового университета. Серия: Сложные системы: модели, анализ и управление @vestnik-rosnou-complex-systems-models-analysis-management

Рубрика: Информатика и вычислительная техника

Статья в выпуске: 4, 2017 года.

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

Постановка проблемы. Климатические изменения, влекущие за собой появление экстремальных значений метеоэлементов, в частности температурных аномалий, создают угрозу устойчивому развитию Российской Федерации. Современные гидродинамические модели позволяют рассчитывать эти аномалии, но требуют больших вычислительных мощностей. Так, имеющаяся на вооружении Росгидромета кластерная система состоит из 96 вычислительных узлов, каждый из которых содержит по два наиболее высокопроизводительных процессора Intel Xeon 5680 с тактовой частотой 3,33 ГГц (всего 192 процессора) с производительностью 15,33 TFLOPS (триллионов операций в секунду). Существующие компактные гидродинамические модели, например WRF, позволяют обойтись меньшими вычислительными ресурсами, но скорость вычислений значительно падает. Предложено ускорить вычисления за счет использования распределенных вычислений на нескольких компьютерах, используя возможность параллельных вычислений за счет графических процессоров этих компьютеров. Показано, что при совместном использовании мощности центрального процессора компьютера и его графического процессора время, требуемое на расчеты экстремальных значений температуры при использовании модели WRF, ядро которой устанавливается на серверной части системы, сокращается в 8 раз. Предложена возможная конфигурация такой системы, которая может состоять из двух вычислительных машин: высокопроизводительного сервера, например ASUS ESC4000 G3 c процессором Intel Xeon E5-2600 и клиентской станции для отображения результатов расчетов и ввода исходных данных в систему. Предложено использовать на сервере четыре мощных видеокарты фирмы AMD Radeon HD 7970 DDR5 с объемом памяти до 3 Гбайт и производительностью до 3 TFLOPS в каждой. Предложено программное обеспечение, позволяющее организовать распределённые вычисления в системе клиент - сервер и распараллелить вычисления на графических процессорах. Предложены технические решения по особенностям построения такой системы, требующей мощного источника питания и охлаждения. Предложенная схема построения распределенных вычислений экстремальных значений метеоэлементов может быть полезна в оперативных прогнозах для авиации, МЧС, МО и др. служб.

Еще

Распределенные вычисления, gpu-вычисления, гидродинамические модели, wrf-модель, прогноз экстремальных значений температуры воздуха

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

IDR: 148160327

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

ВЕСТНИК 2017

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

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

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

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

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

Сегодня гидродинамическое моделирование (ГДМ) атмосферных процессов является одним из основных методов прогноза погоды. Наиболее важной областью применения атмосферных гидродинамических моделей является оперативный прогноз экстремальных значений метеорологических величин в отдельных регионах.

На сегодняшний день в Гидрометцентре России действуют две глобальные ГДМ, выпускающие кроме всего и месячные прогнозы погоды:

  • 1)    конечно-разностная полулагранжева модель общей циркуляции атмосферы (ПЛАВ), развитая совместно Гидрометцентром России и Институтом вычислительной математики РАН;

  • 2)    спектральная модель Т41L15.

Расчет глобальных прогнозов по упомянутым моделям в ансамблевом виде стал возможным с внедрением в рамках проекта модернизации Росгидромета нового вычислительного комплекса SGI ICE 8200 на 16 TFlops (триллионов операций в секунду), который состоит из

96 вычислительных узлов, каждый из которых содержит по два наиболее высокопроизводительных процессора Intel Xeon 5680 с тактовой частотой 3,33 ГГц (всего 192 процессора). В системе реализован большой объем оперативной памяти на один узел – 48 Гбайт (суммарный объем оперативной памяти всей системы составляет 4 608 Гбайт) [3].

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

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

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

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

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

Графический процессор (англ. graphics processing unit, GPU) – отдельное устройство персонального компьютера, выполняющее графический рендеринг. Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Современные CPU содержат не- сколько ядер, тогда как графический процессор GPU изначально создавался как многопоточная структура с множеством ядер. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации с максимальной производительностью, то GPU исторически предназначался для обработки компьютерной графики и рассчитан на «тяжелые» параллельные вычисления.

Существуют три метода, чтобы добавить в приложение GPU-ускорение.

  • 1.    Использовать GPU-оптимизированные библиотеки.

  • 2.    Добавить директивы, или «подсказки», компилятору для автоматического распараллеливания кода.

  • 3.    Использовать расширения для языков программирования, например C++ и Fortran.

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

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

Флагманами использования графических процессоров для параллельных вычислений выступают фирмы NVIDIA и AMD.

Компания NVIDIA разработала программноаппаратную архитектуру параллельных вычислений CUDA (Compute Unified Device Architecture). Архитектура CUDA позволяет реализовать неграфические вычисления на графических процессорах NVIDIA.

В основе API CUDA лежит упрощенный диалект языка Си. Архитектура CUDA SDK обеспечивает программистам реализацию алгоритмов, выполняемых на графических процессорах NVIDIA, и включение специальных функций в

ВЕСТНИК 2017

ВЕСТНИК 2017

текст программы на Cи. Для успешной трансляции кода на этом языке в состав CUDA SDK входит собственный Си-компилятор командной строки nvcc компании NVIDIA.

CUDA – это кросс-платформенное программное обеспечение для таких операционных систем, как Linux, Mac OS X и Windows.

Компания AMD также разработала свою версию технологии GPGPU, которая ранее называлась AТI Stream, а теперь – AMD Accelerated Parallel Processing (APP). Основу AMD APP составляет открытый индустриальный стандарт OpenCL (Open Computing Language). Стандарт OpenCL обеспечивает параллелизм на уровне инструкций и на уровне данных и является реализацией техники GPGPU. Это полностью открытый стандарт, его использование не облагается лицензионными отчислениями.

Исследование вычислительных возможностей аппаратных средств от компаний NVIDIA и AMD показало, что наиболее выгодным для проведения расчетов по гидродинамическим моделям будет использование продукции фирмы AMD. Это связано с особенностями реализации расчетов на графических процессорах этой фирмы и сопутствующем программном обеспечении [3].

В качестве свободно распространяемой и хорошо документированной для проведения расчётов будем использовать модель WRF – Weather Research and Forecasting modeling system. Эта модель разработана в Национальном центре атмосферных исследований США [6; 7]. WRF может использоваться при решении широкого круга задач в масштабах от сотен метров до тысяч километров, включая идеализированные течения (например, LES, конвекция, бароклинные волны), для исследования возможности применения различных схем параметризации; для сравнения с данными наблюдений; при численном предсказании погоды в реальном времени. Кроме того, WRF-модель может использоваться как динамическое ядро в компьютерных моделирующих системах. Она учитывает конфигурацию многих современных многопроцессорных систем и поэтому является эффективной для использования на таких системах.

К основным недостаткам модели WRF можно отнести: потребность в больших вычислительных мощностях и большое количество вводимых начальных параметров. Модульная структура этой модели делает модельную систему удобной как для оперативной работы, так и для исследований.

В настоящее время WRF содержит два динамических ядра – Advanced Research WRF ARW)

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

Каждая область моделирования представляет собой прямоугольник в заданной картографической проекции и задаётся в системе подготовки данных WPS. В ARW версии 3.0 поддерживаются 4 типа картографических проекций: коническая конформная проекция Ламберта, проекция Меркатора, полярная стереографическая проекция и широтно-долготная проекция с возможностью поворота полюсов. Широтно-долготная проекция является новой для ARW и позволяет проводить глобальное моделирование атмосферы. Каждая картографическая проекция также характеризуется собственным набором параметров, таким, как, например, две стандартные широты и центральная долгота для конической конформной проекции Ламберта. В NMM используется исключительно широтно-долготная проекция.

В обоих динамических ядрах поддерживается моделирование с использованием вложенных расчётных сеток. В исходной области моделирования системой подготовки входных данных формируется базовая расчётная сетка с указанным пространственным шагом по горизонтали (в метрах или градусах). От величины шага напрямую зависит точность моделирования и круг воспроизводимых в модели атмосферных процессов. В то же время, с уменьшением шага сетки в 2 раза необходимое количество вычислений возрастает как минимум в 4 раза, а с учётом необходимости адекватного уменьшения шага интегрирования по времени – в 8 раз. Таким образом, шаг сетки определяется компромиссом между требуемой точностью и доступными вычислительными ресурсами.

Введение на базовой сетке вложенных расчётных сеток позволяет сфокусировать вычисления с более высоким разрешением на интересующих регионах области моделирования. Область моделирования может включать в себя множество вложенных областей счёта различного масштаба, кроме того, каждая из них также может содержать собственные вложенные области. В каждой области счёта допускается неограниченное число вложенных областей при условии, что области одинакового уровня вложенности не перекрываются. Количество уровней вертикальной координаты в текущих версиях динамических ядер WRF одинаково для всех расчётных сеток, вне зависимости от используемого пространственного шага по горизонтали [6; 7].

Большая часть модели (собственно вся математика) реализована на языке Fortran с использованием библиотеки MPI. На C++ написаны модули для работы с данными. Модель WRF также доступна в исходных кодах.

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

Состав технической платформы:

  • –    один процессор Intel Core i7, от 4-х ядер;

  • –    материнская плата MB Asus Maximus VII;

  • –    16 ГБ оперативной памяти.

Результаты расчётов приведены в таблице 1.

Таблица 1

Результаты расчетов

Шаг, км

Точек

Время вычислений, ч.

5

301 × 301

16

10

151 × 151

10

15

101 × 101

6

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

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

Сократить время расчета можно, применив распределенные вычисления и распараллелив расчеты в модели. Для этого построим систему из двух вычислительных машин, объединив их компьютерной сетью. Одна из них будет выступать в роли сервера, в который будет располагаться ядро модели WRF, а другая будет выступать в роли клиентской машины, с помощью которой можно будет управлять расчетами, вводить исходные данные и выводить результаты расчетов. В качестве сервера использовался высокопроизводительный сервер ASUS ESC4000 G3 c процессором Intel Xeon E5-2600, позволяющий подключать к нему для расчетов несколько графических видеокарт. Для расчетов использовались четыре мощные видеокарты фирмы AMD Radeon HD

7970 DDR5 с объемом памяти до 3 Гбайт и производительностью до 3 TFLOPS в каждой.

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

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

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

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

  • Мирвис В.М., Мелешко В.П. Современное состояние и перспективы развития метеорологических прогнозов на месяц и сезон. Главная геофизическая обсерватория им. А.И. Воейкова//Труды Главной геофизической обсерватории им. А.И. Воейкова. -Выпуск 558. -Санкт-Петербург, 2008.
  • Хан В.М., Садоков В.П., Тищенко В.А., Вильфанд Р.М. Прогнозы погоды на месяц: состояние и перспективы//80 лет Гидрометцентру России. 1939-2010. -2010. -С. 235-246.
  • Пахомов С.А. Вычисления на GPU: мифы и реальность//КомпьютерПресс. -2013. -№ 04. -С. 25-30.
  • Калиниченко С.В., Хомоненко А.Д., Воробьев Е.Г. К вопросу обеспечения интеграции данных в распределенных информационных системах//Международная научно-практическая конференция. -2012. -С. 46.
  • Лохвицкий В.А., Калиниченко С.В., Нечай А.А. Подход к построению системы автоматизированной интеграции информации в базу данных для её своевременной актуализации//Мир современной науки. -2014. -№ 2 (24). -С. 8-12.
  • Sturges, Robert H. Jr. Practical Field Robotics: a System Approach. -John Wiley & Sons, Ltd. Published, 2015. -213 p.
  • Kanabe, C., Hopkins, M. and Hong, D. Team CHARLI: RoboCup 2012 Humanoid AdultSize League Winner//RoboCup 2012: Lecture Notes in Computer Science/eds. X. Chen, P. Stone, L.E. Sucar and T. Van der Zant: Springer. -2012. -Pp. 59-64.
  • Лоскутов А.И., Дуников А.С., Артюшкин А.Б., Нечай А.А. Математическая модель системы символьной синхронизации наземной приемно-регистрирующей станции телеметрической информации в условиях флуктуаций амплитуды сигнала//Вестник Российского нового университета. Серия «Сложные системы: модели, анализ и управление». -2017. -Выпуск 1. -С. 11-19.
  • Новиков А.Н., Нечай А.А., Малахов А.В. О подходе к обоснованию рациональной номенклатуры эталонной базы измерительных комплексов на основе нечетких моделей//Вестник Российского нового университета. Серия «Сложные системы: модели, анализ и управление». -2017. -№ 1. -С. 72-79.
  • Широбоков В.В., Нечай А.А. Алгоритм планирования энергосберегающей параллельной обработки информации с учетом информационной важности и времени поступления задач//Вестник Российского нового университета. Серия «Сложные системы: модели, анализ и управление». -2017. -Выпуск 1. -С. 88-93.
Еще
Статья научная