Баннер
Баннер
22.01.2014 00:39

Моделирование спуска с орбиты на GPU

Автор  А. Кашковский, А. Шершнёв, П. Ващенков
Оценить
(2 голоса)

Наш журнал представляет победителей конкурса «GPU: серьезные ускорители для больших задач». Выбор журнала – два проекта: «Моделирование течения разреженного газа методом ПСМ на ГПУ», авторы – А. В. Кашковский, А. А. Шершнёв, П. В. Ващенков, и «GPU для решения СЛАУ: ускорение инженерных расчетов», авторы – Б. И. Краснопольский, А. В. Медведев.

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

fly001_mini2

Поэтому объем вычислений при разработке КА стремительно возрастает и требует более точного моделирования природных явлений и быстрого получения результатов. На высотах 70–100 км атмосфера сильно разрежена и постулат о непрерывности газового течения не выполняется, что не позволяет пользоваться методами, основанными на решении уравнений Эйлера или Навье-Стокса, и вынуждает применять кинетические подходы, трактующие течение как поток отдельных молекул газа.

«Лаборатория вычислительной аэродинамики» ИТПМ СО РАН давно занимается численными исследованиями течений разреженного газа на основе кинетических методов. Программные продукты, созданные в этой лаборатории, используются как в российских космических организациях (в частности, в РКК «Энергия»), так и за рубежом. Опыт моделирования течений на этапе запуска, нахождения на орбите и спуска с орбиты (станции «Мир», «МКС», КА «Прогресс», «Союз», «Клипер», ППТС и многие другие) отчетливо показал необходимость значительного увеличения скорости вычислений при сохранении точности расчетов. Только в этом случае за разумное время обеспечивается большое количество расчетных вариантов, необходимых для оптимизации конструкции КА и траектории движения.

Метод прямого статистического моделирования (ПСМ, в английской литературе – Direct Simulation Monte-Carlo, DSMC) является наиболее известным из кинетических методов и ставшим «стандартом де-факто» для исследования течений разреженного газа. Метод ПСМ – это стохастический (вероятностный) численный метод решения кинетического уравнения Больцмана для конечного числа Кнудсена. Традиционно рассматривается как метод компьютерного моделирования движения большого количества частиц, представляющих газовое течение. Каждая частица является компонентой газа, имеет координаты в пространстве и скорость. Моделирование ведется по времени, дискретными интервалами ∆t, на каждом из которых выполняется:

• перенос каждой частицы с ее скоростью на шаг ∆t;

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

Расчетная область прямоугольная и разбивается равномерной сеткой на достаточно малые  ячейки. Сталкиваться могут только частицы, находящиеся в одной ячейке. Кроме того, в ячейках собирается статистическая информация о поле течения. Использование такой сетки существенно облегчает поиск ячейки, в которой находится частица. Вычисления методом ПСМ проводятся методом установления: начинаются с равномерного поля течения, которое, взаимодействуя с телом, изменяет свою структуру и постепенно приходит к стационарному течению. После выхода на стационарное состояние можно накапливать статистическую информацию. Например, на рисунке ниже представлена эволюция частиц при моделировании обтекания двумерного цилиндра 3-компонентным потоком разреженного газа на скорости 7500 м/с и высоте 90 км. Частицы N2 имеют черный цвет, O2 – красный, O – зеленый.

fly002_mini

Метод ПСМ позволяет довольно подробно моделировать физико-химические процессы, происходящие при обтекании КА (неравновесность внутренней энергии молекул, диссоциацию, ионизацию и т. д.), но является чрезвычайно затратным по вычислительным ресурсам.   Для моделирования течений газа вокруг КА на высотах менее 100 км требуются параллельные вычисления с использованием 500 и более процессоров. Такие вычисления можно проводить только на больших вычислительных серверах. Фактически, каждый такой расчет становится уникальным, что мешает массовости использования метода ПСМ. В связи с этим любые алгоритмы ускорения или повышения эффективности параллелизации всегда остаются актуальными.

Графические процессорные устройства (GPU, или Graphic Processor Unit) – один из наиболее перспективных подходов к увеличению скорости вычислений. GPU использует вычислительную технологию SIMD (одна команда – множество данных), которая подразумевает, что одна и та же инструкция одновременно применяется к множеству данных.

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

Вычисления на GPU, разработанных компанией NVIDIA, удобнее производить с использованием программно-аппаратной архитектуры CUDA (Compute Unified Device Architecture – унифицированная архитектура вычислительных устройств). Эта архитектура предоставляет программисту высокоуровневый интерфейс, скрывая от него низкоуровневые драйверы к реальным видеопроцессорам. Это позволяет работать с унифицированным виртуальным устройством и управлять вычислениями посредством широко распространенных языков (C/C++, Fortran), что существенно облегчает разработку программ.

Трехмерная программа моделирования разреженных течений методом ПСМ на GPU – наша инициативная разработка. В дальнейшем она была поддержана контрактом с ЦНИИмаш. Программа написана на языке C++/CUDA и рассчитана на применение на гетерогенном кластере, в составе которого имеется несколько вычислительных узлов; на каждом из них имеется несколько GPU. Между отдельными GPU используется метод параллелизации «разделение области» (domain decomposition). Вся расчетная область разбивается на подобласти по числу GPU. Если в процессе перемещения частицы перелетают в подобласть другого GPU, они накапливаются в буфере, и после переноса всех частиц осуществляется отправка и прием буферов. Для GPU на одном узле пересылка осуществляется через память CPU, а между узлами – посредством MPI. Управление несколькими GPU в пределах одного узла осуществляется с помощью OpenMP. В пределах одного GPU параллелизация делается методом «распараллеливания по данным» (data parallelism).

fly003_mini

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

Например, в процессе проектирования Перспективной Пилотируемой Транспортной Системы (ППТС) с помощью вычислительного программного комплекса SMILE был произведен расчет аэродинамических характеристик (АДХ) этого КА для высоты 80 км на 128 процессорах Intel Xeon E5420 @ 2.50GHz. Параллелизация в этом комплексе построена на методе «разделения области» с обменом частиц с помощью MPI. На рисунке ниже показано распределение чисел Маха в поле течения. Необходимо отметить, что данный расчет выполнялся в 2006 году на доступном оборудовании, и поэтому сильно загрублен: число ячеек и частиц примерно в 100 раз меньше от требуемого количества. Но тем не менее погрешность в АДХ не превышает 5–7%, что в любом случае точнее, чем использование инженерных методов. Данный расчет был повторен с использованием 24 GPU Tesla M2090. В таблице дано сравнение используемых ресурсов.

fly004_mini

На CPU использовалось больше памяти, потому что часть информации (геометрическая модель и т. п.) на всех процессорах дублируется. Большее число ячеек на GPU связано с различием алгоритмов адаптации сетки в CPU- и GPU-программах. Использование GPU позволило вместо более чем 2-суточных вычислений получить результат менее чем за 8 часов (одна ночь). При этом использовалось в 5 раз меньшее число вычислительных устройств. Экономия в процессоро-часах – почти в 36 раз. Расчеты других практических задач показали, что один GPU оказался эквивалентен 30–40 CPU. Таким образом, вычисления на GPU существенно ускоряют численные исследования высотной аэродинамики.

Использование GPU имеет ряд других принципиальных преимуществ.

1. Традиционно параллелизация метода ПСМ строится на принципе «разделения области» с пересылкой частиц с помощью MPI-протокола. Особенностью такого подхода является то, что число частиц в каждой подобласти постоянно меняется: они двигаются, перелетая из одной подобласти в другую. Поэтому вычислительная загрузка в одной и той же подобласти на каждом шаге разная, и всегда есть ожидание каким-либо процессором завершения работы всех остальных процессоров. Причем вполне возможно, что на одном шаге процессор 1 ожидает завершения работы процессора 2, а на следующем шаге, наоборот, процессор 2 ожидает завершения работы процессора 1. С увеличением частиц в подобласти уменьшается статистическая флуктуация числа частиц (время ожидания), увеличивается вычислительная загрузка процессора по отношению к времени обмена. Это увеличивает эффективность параллелизации. Так как число GPU меньше, а число частиц на них больше, то большая скорость вычислений методом ПСМ обеспечивается не только за счет мощности мультипроцессоров, но и благодаря более высокой эффективности параллелизации.

2. Для корректного расчета рассмотренной выше задачи необходимо порядка 4 миллиардов ячеек и 20 миллиардов частиц. Экстраполируя данные, представленные в таблице, эту задачу можно было бы решить, используя 1600 CPU за 17 суток или 560 GPU за 32 часа. Видно, что, используя CPU, такую задачу более-менее реально можно решить, если бы они были в
8–10 раз быстрее – иначе время счета слишком велико для инженерного применения.

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

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

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

Использование GPU позволит при относительно небольших финансовых затратах получить возможность проводить численные исследования аэродинамики КА.

4. Видеокарта с 1 Гб памяти в составе офисного компьютера способна проводить вычисления методом ПСМ, используя до 2 миллионов частиц. Это позволит осуществлять моделирование течений от 90–95 км и выше, вообще не прибегая к услугам вычислительных центров. Это позволяет высвободить ресурсы вычислительных кластеров для других задач.

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

 

Изменено 23.01.2014 23:25

Добавить комментарий


Защитный код
Обновить

Новости

Календарь материалов

« Апреля 2017 »
Пн Вт Ср Чт Пт Сб Вс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30