Вычислить путь звезды: что программисты делают в астрофизике

Астрофизику сегодня невозможно представить без компьютерного моделирования: ученые воссоздают на ЭВМ космические процессы, не доступные для наблюдения, чтобы ставить эксперименты и подтверждать теории. Математики из новосибирского Академгородка пишут программы, которые решают такие задачи в несколько раз эффективнее, чем зарубежные аналоги.
Вычислить путь звезды: что программисты делают в астрофизике

Автор текста — Александра Федосеева

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

«Задачами астрофизики я занимаюсь с самого начала своей научной жизни, уже примерно 15 лет. За это время мы моделировали самые разные объекты: от звезд и галактик до космической паутины крупномасштабной структуры Вселенной», — рассказывает старший научный сотрудник Института вычислительной математики и математической геофизики СО РАН доктор физико-математических наук Игорь Михайлович Куликов. Сейчас он руководит проектом по суперкомпьютерному моделированию сверхновой типа 1а. Недавно статья об этом вышла в сборнике Supercomputing издательства Springer.

Постановка задачи

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
При взрыве сверхновой разлетаются продукты термоядерного синтеза, происходившего на протяжении существования звезды, — все жизненно важные химические элементы тяжелее гелия. Это причина эволюции химических веществ: из остатков сверхновых состоит практически все во Вселенной, включая людей.

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

«Сверхновая типа 1а рождается в результате взрыва белого карлика — старой звезды, от которой осталось только ядро. У белого карлика есть определенный предел массы, при котором он может существовать, — предел Чандрасекара, равный примерно 1,44 солнечных масс. Если масса белого карлика становится больше, его ядро начинает сжиматься, температура растет, запускается термоядерная реакция. В итоге — взрыв сверхновой, — говорит Игорь Куликов. — Это происходит в том случае, если у белого карлика есть звезда-компаньон, с которой он может слиться, и в результате увеличить свою массу».

Один из сценариев образования сверхновой типа 1а — это так называемый сценарий не центрального взрыва. «Предположительно, белый карлик может взорваться до того, как полностью срастется со своим компаньоном. В таком случае взрыв происходит на периферии, и остатки звезды будут распространяться преимущественно в одном направлении», — поясняет ученый. Эту идею высказал главный научный сотрудник Института астрономии РАН доктор физико-математических наук Александр Васильевич Тутуков, а коллектив ИВМиМГ СО РАН создал компьютерную модель такого сценария. Недавно она нашла подтверждение: в ноябре 2018 года в остатках взрыва сверхновой обнаружили остатки звезды-компаньона.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Ресурсы

Космические вычисления требуют мощной техники. Игорь Куликов, сидя в своем кабинете, использует ноутбук для доступа к суперкомпьютерам, расположенным несколькими этажами ниже. «Современные технологии позволяют работать на расстоянии. Многие научные сотрудники удаленно заходят на наш кластер, передают данные, задача считается, и полученный результат они уже анализируют на своих персональных компьютерах. Можно отправлять задачи в наш центр, находясь как на рабочем месте, так и в командировке или на отдыхе», — рассказывает руководитель Сибирского суперкомпьютерного центра ИВМиМГ СО РАН кандидат физико-математических наук Игорь Геннадьевич Черных. «Это Игорь нас имеет в виду, — улыбается его тезка. — Мы оба даже в отпуск берем рабочие ноутбуки».

Основных вычислительных кластеров в суперкомпьютерном центре два. Новый и пока еще небольшой НКС-1П — современная вычислительная система, мощностью 100 терафлопсов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Новый кластер потребляет совсем не много электроэнергии: вычислительная часть — 15 кВт, а система охлаждения — всего 500 Вт (в четыре раза меньше, чем электрический чайник). НКС-1П построен на базе серверных процессоров Intel Xeon и специализированных процессоров Intel Xeon Phi. Каждый процессор содержит 72 ядра.


«Старичок» НКС-30Т 2012 года не настолько энергоэффективен. С кондиционерами этот компьютер потребляет порядка 100 кВт. Он производит довольно много шума, а из системы охлаждения вырывается мощный поток воздуха. Но сегодня и без этой машины не обойтись.

«Когда мы ввели в строй новый кластер, то думали, что на год-два немного снизим нагрузку старого компьютера, но уже через две недели поняли, что надо еще увеличивать вычислительную мощность, потому что сразу захотелось считать более сложные задачи. Современные исследования уровня мегасайнс должны производиться на оборудовании класса мегасайнс, как минимум в пять раз мощнее того, что есть у нас», — говорит Игорь Черных.

Сейчас совокупная мощность суперкомпьютеров центра — порядка 0,2 петафлопса. Для сравнения: пиковая вычислительная мощность самого производительного на сегодняшний день суперкомпьютера Summit (США) составляет 200 петафлопсов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Технологии

Юлия Позднякова

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

«Мы применяем векторизацию. Это увеличивает производительность кода примерно в 10—20 раз, — объясняет Игорь Куликов. — Грубо говоря, если считать задачу лучшими зарубежными или российскими программами, то это займет примерно неделю или десять дней, а такие же вычисления с использованием нашего кода — около одного дня. На данный момент в мире мы единственные: для задач астрофизики нет других программ, которые используют векторизацию».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Векторизация — это вид параллельных вычислений, то есть таких, когда программа выполняет несколько вычислительных процессов одновременно. Суперкомпьютеры оснащены многоядерными процессорами, поэтому, чтобы использовать их эффективно, последовательной программы недостаточно: нужно распределить работу между ядрами процессора. Приложения, которые выполняют операции последовательно, при векторизации модифицируются таким образом, чтобы выполнять одновременно несколько однотипных операций.


«Представьте, что есть два набора из четырех элементов: четыре цифры с одной стороны и четыре с другой. Нам нужно поэлементно их сложить. В обычных, последовательных вычислениях мы сначала складываем и записываем первый результат в первую ячейку, потом второй во вторую, третий в третью, четвертый в четвертую. У нас получается четыре инструкции вычисления (сложения) и четыре инструкции записи, то есть всего восемь инструкций. Векторизация позволяет это сделать за две инструкции. За одну — сложить и за одну — записать. А векторы, с которыми мы работаем на процессоре Intel Xeon Phi, — это уже даже не четыре, а восемь элементов двойной точности», — рассказывает Игорь Куликов.

Ученые начинают писать программу с уровня математической реализации, с уравнений для той или иной задачи. Игорь Куликов поясняет: «Еще на этапе постановки задачи, когда мы только записываем уравнение в тетрадке, мы уже должны понимать, на чем будем считать. Разработка конечного программного обеспечения сразу должна учитывать архитектуру, то есть общее устройство кода. Мы называем это содизайном (co-design)».

Для расчетов используются уравнения гидродинамики — раздела физики, который изучает движение идеальных жидкости и газа. Это может показаться странным, ведь межзвездное пространство характеризуется очень низкой плотностью и давлением и приближено к абсолютному вакууму. «В космосе тоже есть газ. В среднем плотность галактики — примерно один атом водорода на 1 см3. Это, конечно, крайне мало, но пока атом из одной части галактики перелетит в другую, он столкнется с другими атомами много раз. Если спроектировать эти столкновения на меньший объем, объем обычного воздуха, то количество атомов и количество столкновений будет сопоставимо с такими параметрами у идеального газа. Поэтому в астрофизических масштабах представление всей видимой материи как идеального газа — это вполне адекватная модель», — объясняет Игорь Куликов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Реализация

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

«Как происходят вычисления: мы берем какую-то область пространства, делим ее по всем направлениям на кубики, и каждый кубик начинаем обсчитывать по нашим уравнениям. Известно, что если производительность, память, энергоэффективность, программное обеспечение компьютеров будут развиваться так же, как в последние десятилетия, то компьютер, достаточно мощный для того, чтобы при моделировании всей Вселенной достичь разрешения, когда один кубик по размеру равен такой звезде, как Солнце, появится примерно через 60 лет. И даже такого разрешения не всегда достаточно. Например, в нашей задаче взрыва сверхновой типа 1а фронт горения углерода очень мал по сравнению с самой звездой», — говорит Игорь Куликов.

Чтобы преодолеть этот барьер, ученые, во-первых, используют вложенные сетки — получают как бы кубик в кубике: дробят участки на более мелкие в тех местах, где необходимы более точные вычисления (в областях горения углерода и фронта ударной волны). А во-вторых, разработали метод с рабочим названием «спутниковые вычисления».

«Мы вырезаем тот маленький кубик, который выделили внутри кубика, расширяем его фактически на отдельную задачу, на новую сетку, и снова запускаем суперкомпьютер. А затем полученный результат возвращаем в основную сетку. Это позволило смоделировать ядерное горение углерода, а также достаточно хорошо оценить выделившуюся энергию. И мы достаточно адекватно смогли воспроизвести сам взрыв сверхновой типа 1а», — говорит Игорь Куликов.

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

«Задачи астрофизики, как мне кажется, — одни из самых интересных научных задач. В конечном итоге, они призваны ответить на вопрос, который всегда волновал человечество: откуда мы появились и как, а также что будет со Вселенной дальше. Поэтому нам интересна эволюция химических веществ: хочется понять те факторы, которые способствуют возникновению простейшей органики, основы жизни. Благодаря суперкомпьютерным вычислениям появилась возможность обрабатывать большие данные, полученные с современных радиотелескопов, с отдаленных галактик, искать закономерности и использовать эти данные для моделирования», — говорит Игорь Черных.

«Мы не претендуем на открытия в астрофизике, у нас другое направление — высокопроизводительные вычисления, но все расчеты мы делаем качественно: от записи уравнения до решения конкретных задач на компьютере», — добавляет Игорь Куликов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Сибирский суперкомпьютерный центр ИВМиМГ СО РАН для научной работы используют около 200 человек из 30 организаций, главным образом Сибирского отделения РАН. Все институты новосибирского Академгородка подсоединены к суперкомпьютерам 10-гигабитной сетью. Возможна удаленная работа из других городов и стран.

Основные пользователи центра — химические институты. Почти половину вычислительного времени потребляет ФИЦ «Институт катализа им. Г.К. Борескова СО РАН». Здесь используют квантово-химические вычисления в разработке новых катализаторов, а также применяют численное моделирование химических реакторов, которые планируется построить.

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

В рамках проекта «Академгородок 2.0» на базе ССЦ планируется создать Сибирский национальный центр высокопроизводительных вычислений и обработки данных (СНЦ ВВОД) с мощностью минимум 10 петафлопсов. Это совместный проект ИВМиМГ СО РАН, Института вычислительных технологий СО РАН и Новосибирского государственного университета.

Работа выполняется при поддержке гранта РНФ 18-11-0044.