<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Параллельные вычислительные технологии (ПаВТ'2016) || Parallel computational technologies (PCT'2016) agora.guru.ru/pavt</article-title>
      </title-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>678</fpage>
      <lpage>684</lpage>
      <abstract>
        <p>Задача моделирования климата не теряет своей актуальности, что способствует активизации научного сообщества в области создания новых и развития имеющихся численных моделей. Данные моделирования, например для арктического региона, позволяют уточнить детали масштабных строительных проектов на данной территории. Изучаемая область знаний настолько велика, что разработчики и конечные пользователи заинтересованы в расширении коллективов исследователей, для того, чтобы охватить более обширный круг задач, сравнить климатические прогнозы и оценить их достоверность. Для достижения прогресса в проблеме моделирования климата необходим обмен информацией, а также, расширение доступа к вычислительным мощностям и моделям. В работе показаны особенности развертывания европейской климатической модели (MPI-ESM) на базе суперкомпьютеров «Ломоносов» и «К-100». Ключевые слова: совместная модель климата, MPI-ESM, построение климатического прогноза, вычислительные кластеры, инструменты параллельного программирования, развертывание кода.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Архитектура европейской климатической модели:
опыт установки на суперкомьютерах в России \ast
2. Структура кода европейской климатической модели
Развитие методов прогнозирования, методов программирования и вычислительных
платформ неизбежно влечет появление новых модификаций исходных кодов, реализуемых
усилиями различных коллективов разработчиков. Все вышесказанное наложило серьезный
отпечаток на архитектуру европейской климатической модели [3]. MPI Earth System model
MPIESM(ECHAM6/MPIOM/JSBACH/HAMOCC) — современная крупномасштабная
совместная модель «океан-земля-атмосфера» европейского метеорологического сообщества.
Оригинальная версия авторами модели настроена на кластерную систему в DKRZ (German
Climate Computing Center, Германский центр климатических исследований), которая
используется преимущественно в рамках исследований в области численного моделирования
климата. Основные блоки модели и их взаимосвязь показаны на рис. 1., где ECHAM6 –
модель динамики атмосферы, блок MPIOM – модель динамики океана, включающей
динамику льда, блок OASIS3-MCT – специальный интерфейс обмена «океан-земля-атмосфера»,
HAMOCC – блок газообмена, включающего динамику карбонных соединений и блок
JSBACH (включающий стоки крупнейших рек планеты).</p>
      <p>Рис. 1. Компоненты модели MPI-ESM
Сетка океанской части модели имеет следующую структуру:
b\ulet биполярная (GR) с двумя полюсами, например, по Гренландии и Антарктиде,
b\ulet трехполюсная (TP) с тремя полюсами, например, по Северной Америке, Сибири и
Антарктиде.</p>
      <p>В океанской части совместной модели обычно используются конфигурации (CR, LR,
MR, STORM) с разрешением 3 град, 1.5 град, 0.4 град и 0.1 град, соответственно и 40
уровней по вертикали. Для выделенной подобласти может использоваться заданное разрешение.</p>
      <p>В новой версии модели используется программное ядро ICON (разработка German
Weather Service и Max Planck Institute for Meteorology), которое позволяет решать системы
уравнений модели в пространстве двадцатигранной сетки с квази-изотропическим
горизонтальным разрешением по сфере, и ограничениями на региональные области.
Здесь:
b\ulet CR (GR30L40) 3 град. – грубое разрешение для отладочных целей;
b\ulet LR (GR15L40) 1.5 град. – разрешение по-умолчанию для численного моделирования,
в соответствии с рекомендациями Международной рабочей группы по моделированию
климата на основе совместных моделей (WGCM,CMIP5);
b\ulet MR (TP04L40) 0.4 град. – высокое разрешение для учета вихревых потоков (по
рекомендации WGCM,CMIP5 для сравнения с другими совместными моделями);
b\ulet STORM (TP6ML40/80) 0.1 град. – очень высокое разрешение для учета вихревых
потоков.
Сетка для атмосферной части также реализуется в разных конфигурациях для 47 и 95
уровней по высоте:
b\ulet CR (T031L47) – для отладочных целей;
b\ulet LR (T063L47) – разрешение по умолчанию для океанской маски GR15 (указана выше);
b\ulet MR (T063L95) – высокое разрешение для средних атмосфер для океанской маски</p>
      <p>TP04;
b\ulet HR (T127L95) – высокое разрешение;
b\ulet XR (T255L95) – экспериментальное очень высокое разрешение;
Модель MPIESM представляет собой набор программ фортран-90, которые
используют для параллельных вычислений стандарт MPI версии 2.1 и стандарт OpenMP версии
2. Каждая программа отвечает за свой компонент модели, например атмосфера, океан и
т.д. (см. рис. 1). Фортран-программы запускаются при помощи mpiexec и передают данные
друг другу средствами MPI. Есть выделенный компонент OASIS-MCT (написан на
языке программирования С++), который отвечает за сопряжение данных между остальными
компонентами, а также дирижирует общим процессом расчета.</p>
      <p>
        Параметры запуска (моделируемый период, задание начальных данных, и т.д.) и
конкретная выборка из истории метеонаблюдений образуют понятие эксперимента (данное
управление реализовано при помощи текстовых файлов специального формата, так
называемых namelists ). Расчет производится по шагам, один шаг соответствует одному месяцу
(для нашей задачи [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ]). Процесс счета устроен так, что производится несколько шагов
интеграции, затем в файловую систему кластера сохраняются промежуточные результаты,
после чего сама MPI-программа завершается и ее нужно еще раз запускать, с учетом
полученных промежуточных результатов. Промежуточные результаты могут проходить стадию
постобработки и потенциально визуализироваться при помощи внешних по отношению к
MPI-приложению программных средств.
      </p>
      <p>Синхронизация вычислительных процессов в соответствии с выбранным сценарием
численного эксперимента поддерживается с помощью блока OASIS3-MCT. Блок OASIS3-MCT
осуществляет совмещение двумерных полей в процессе передачи полей переменных между
подмоделями. Совмещение неструктурированных сеток и 3D-сеток также поддерживается,
используя одномерное представление 2D или 3D структур. При запуске описание
конфигурации модели для блока OASIS3-MCT задается в специальном файле namcouple. Блок
OASIS3-MCT служит также для обеспечения масштабируемости модели на большое число
процессорных ядер и для работы с неструктурированными сетками. Схематически
взаимодействие внутри модели на каждом шаге интеграции представлено на рис. 2.</p>
      <p>Из за того, что MPI-приложение постоянно завершается и запускается снова, а так же
вследствие наличия этапа постобработки в систему ведения очередей вычислительного
кластера, по сути, ставится довольно сложно устроенный shell-скрипт, который сам запускает
MPI-программы, когда необходимо, а также утилиты постобработки. Однако такой стиль
организации задачи, для вычислительного кластера не вполне традиционен и на практике
вызывает множество технических проблем.
3. Адаптация с суперкомпьютерам «Ломоносов» и «К-100»
Климатическая модель в своем первом параллельном исполнении разрабатывалась для
вычислительного кластера в DKRZ. Это кластер IBM, работающий под управлением
операционной системы AIX и системой ведения очередей LoadLeveler. Однако в России
такого рода систем немного, в частности на начальном этапе использовалась IBM pSeries 690
Regatta (ВМК в МГУ имени М.В. Ломоносова). Для большей части вычислительных систем
Рис. 2. Сдадии выполнения кода; показаны стадия инициации и стадия вычисления; пропущены
стадии препроцессинга, поспроцессинга, визуализации
в России в настоящее время используется архитектура Intel под управлением операционной
системы Linux. Это обстоятельство определило стратегию реализации совместной
климатической модели: адаптировать исходный код под новую платформу, создать окружение,
частично переписывать скрипты запуска и компиляции.</p>
      <p>Авторами модели для облегчения этого процесса предложен скрипт написанный с
использованием korn Shell (ksh), python, perl, который должен облегчать настройку всех
компонент на конкретный вычислительный кластер и конкретную систему ведения очередей.
Однако на практике оказалось, что для суперкомпьютеров «Ломоносов» и «К-100», данные
скрипты нужно частично переписать. Также потребовалось устанавливить определенные
версии библиотеки MKL и компиляторов Intel. Оказалось необходимо создавать локальную
установку Python определенной версии, куда пришлось встраивать сторонний компонент,
который не входит в стандартную библиотеку языка Python. Нами были проделаны
следующие действия:
1. Поскольку раздел файловой системы на вычислительном узле где происходит запуск
задачи часто не совпадает с каталогом пользователя на интерфейсной машине, нами
был создан каталог _scratch/opt в который затем устанавливается все программное
обеспечение и библиотеки, как в корневой каталог файловой системы UNIX. Этот
каталог должен находится в части файловой системы доступной узлам кластера.
2. Модифицировались переменные окружения в файлах .profile так, чтобы
динамически подгружаемые библиотеки и программы искались из каталогов _scratch/opt/bin
и _scratch/opt/lib. Также здесь производится настройка на опеределенные версии
компиляторов Intel, реализаций MPI и версии библиотеки MKL.
3. В домашнем каталоге компилировались необходимые компоненты так, что
установка их производится в _scratch/opt. Пришлось отдельно скомпилировать следующий
набор компонент: afterburner-4.5.1, cdo-1.6.5.2, grads-2.0.2, jinja2-2.8, nco-4.4.4,
netcdf4.3.1.1, pdksh-5.2.14, tif-4.0.3, ed-1.9, hdf5-1.8.12, libgeotif-1.4.0, nco-4.4.7,
netcdf-fortran4.2, Python-2.7.10, libsz, szip-2.1.
4. Резвернут git репозиторй, в который помещается исходный код модели скачаный с
сайта разработчиков. В дальнейшем в репозиторий вносятся измения необходимые
для того, чтобы скомпилировать код модели c помощью Intel компилятора.
5. Вносятся изменения в заголовочный скрипт configure (это вручную написанный скрипт,
а не созданный autoconf-ом). А так же в некоторые Makefile и файлы отвечающие за
интерфейс языка C и языка Фортран-90. (Для C в этом месте требуется включение
поддержки стандарта C99).
6. Запускается настройка кода с параметрами указанными на рис. 3 и после нее
компиляция. После компиляции весь каталог с моделью копируется в _scratch, в дальнейшем
вся работа ведется именно там.</p>
      <p>CDIROOT = $HOME / _scratch / opt \
OASIS3MCTROOT =" $HOME / _scratch / model_v1_1 " \
FORT_REAL_LEN =8 \
CC = mpiicc FC = mpiifort F77 = mpiifort MPIFC = mpiifort MPIFC =" mpiifort " \
FCFLAGS_ECHAM =" -mkl -no - ipo -cpp -O2 - I$HOME / _scratch / opt / include " \
FCFLAGS_MPIOM =" -cpp -mkl -no - ipo -O2 - I$HOME / _scratch / opt / include " \
FCFLAGS =" -cpp -mkl - I$HOME / _scratch / opt / include " \
CFLAGS =" -std = c99 -no - ipo -mkl - I$HOME / _scratch / opt / include " \
prefix =" $HOME / _scratch / model_v1_1 " \
FCLIBS =" -mkl -no - ipo - L$HOME / _scratch / opt / lib - lnetcdff - lnetcdf " \
./ configure -- prefix =" $HOME / _scratch / model_v1_1 " \
-- host = x86_64 - unknown - linux - gnu</p>
      <p>Рис. 3. Параметры для настройки и компиляции программного кода
7. производится адаптация скриптов, под конкретную систему ведения очередей, для
этого необходимо модифицировать файлы «функции» находящиеся в каталоге
util/running/functions в частности файл function_submit.
8. Запускается python код util/mkexp с файлом, описывающем параметры численного
эксперимента. Он создает структуру каталогов для обеспечения жизненного цикла
эксперимента. Там создается набор символических ссылок на данные и исполняемые
файлы MPI-программ, а также набор скриптов, для запуска и взаимодействия с
системой ведения очередей.
9. Если настройка на систему ведения очередей была произведена правильно, то в
дальнейшем, командой постановки в очередь (для «Ломоносов» sbatch) ставится скрипт
имя_эксперимента.run_start .
4. Заключение</p>
      <p>Опыт, полученный при реализации новой версии модели на суперкомпьютерах
«Ломоносов» и «К-100», позволяет в будущем рассматривать возможность построения прогноза
по заданному сценарию, как сервис, а также, организации удаленного доступа для
проведения ансамблевых экспериментов и сравнения полученных прогнозов с аналогичными
результатами на отечественных моделях.</p>
      <p>В результате работы по адаптации кода на вычислительных системах в России будет
сделано дополнение к исходной сопроводительной документации, что полезно для авторов
кода модели и потенциальных пользователей.</p>
      <p>Авторы статьи выражают благодарность сотрудникам института Макса Планка по
метеорологии в Гамбурге, в первую очередь Хельмуту Хааку и Карлу-Германну Винеру, за
консультации по внутреннему устройству программного кода и конфигурационных файлов.
Литература
4. Михайлов Г.М., Беляев К.П., Сальников А.Н., Тучкова Н.П., Кирхнер И. Учет
данных наблюдений для анализа динамических процессов в океанской модели
циркуляции // Научный сервис в сети Интернет: труды XVII Всероссийской научной
конференции (21-26 сентября 2015 г., г. Новороссийск). М.: ИПМ им. М.В.Келдыша,
2015. C. 240–243.
European model of climate change: architecture and
features of deployement on Russian supercomputers
Dorodnicyn Computing Centre, FRC CSC RAS 1, Lomonosov Moscow State University 2,</p>
      <p>Institute of Meteorology FU Berlin 3
The problem of climate modeling doesn’t lose its actuality and promotes activity
of scientific community to create new models and to develop the existing numerical
models. Numerical modeling, for example for the Arctic region, allows specifying
the details of large-scale construction projects in this territory. The studied field
of knowledge is so great that developers and end-users are interested in expansion
of groups of researchers to capture more extensive tasks, to compare forecasts and
to estimate their reliability. For achievement of progress in this problem of climate
modeling it is necessary to exchange the information, and also, expand the access of
computing capacities and models. This article shows some aspects of deploying code
of modern European climate model (MPI-ESM) on supercomputers “Lomonosov” and
“K-100”.</p>
      <p>Keywords: couple model, MPI-ESM, climatic forecast, computing clusters, instruments
of parallel programming, code deployement.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mueller</surname>
            <given-names>W.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matei</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bersch</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jungclaus</surname>
            <given-names>J. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haak</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lompo</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sardeshmak</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marotzke</surname>
            <given-names>J.</given-names>
          </string-name>
          <article-title>A twentieth-century reanalysis forced ocean model to reconstruct the North Atlantic climate variation during the 1920s</article-title>
          .
          <source>Climate Dynamics</source>
          ,
          <year>2015</year>
          ,
          <string-name>
            <surname>V.</surname>
          </string-name>
          <year>44</year>
          , I. 7, pp.
          <fpage>1935</fpage>
          -
          <lpage>1955</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Belyaev</surname>
            <given-names>K.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuchkova</surname>
            <given-names>N.P.</given-names>
          </string-name>
          <string-name>
            <surname>On</surname>
          </string-name>
          <article-title>a limit distribution of characteristics in stationary regime for the linear assimilation problem</article-title>
          .
          <source>Informatics and Applications</source>
          ,
          <year>2015</year>
          , V. 9,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <year>2</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>24</lpage>
          .(in Russian).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          4.
          <string-name>
            <surname>Mickhailov</surname>
            <given-names>G.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belyaev</surname>
            <given-names>K.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salnikov</surname>
            <given-names>A.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuchkova</surname>
            <given-names>N.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kirchner</surname>
            <given-names>I.</given-names>
          </string-name>
          <article-title>The observation data using for the analysis of dynamic processes in ocean model circulation // Scientific service in Internet: proceeding of XVII Russian sientific conference</article-title>
          (
          <volume>21</volume>
          -
          <fpage>26</fpage>
          Sept.
          <year>2015</year>
          , Novorossiysk,Russia) (in Russian) Keldysh Institute of Applied Mathematics, Moscow.
          <year>2015</year>
          .pp.
          <fpage>240</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>