Научная статья на тему 'К вопросу о расчете метеорологических условий в облачной инфраструктуре Amazon'

К вопросу о расчете метеорологических условий в облачной инфраструктуре Amazon Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
129
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГНОЗ ПОГОДЫ / WEATHER FORECAST / ОБЛАЧНЫЕ ТЕХНОЛОГИИ / CLOUD TECHNOLOGIES / МЕЗОМАСШТАБНАЯ МЕТЕОРОЛОГИЧЕСКАЯ МОДЕЛЬ / MESOSCALE METEOROLOGICAL MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Полонский А.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A methodology has been developed and tested in practice that allows forecasting meteorological conditions in the Amazon cloud infrastructure and after adaptation in other modern cloud infrastructures.

Текст научной работы на тему «К вопросу о расчете метеорологических условий в облачной инфраструктуре Amazon»

УДК 528.9

А.А. ПОЛОНСКИЙ*

К ВОПРОСУ О РАСЧЕТЕ МЕТЕОРОЛОГИЧЕСКИХ УСЛОВИЙ В ОБЛАЧНОЙ ИНФРАСТРУКТУРЕ AMAZON

'Институт проблем математических машин и систем НАН Украины, г. Киев, Украина

Анотаця. Розроблено i опробувано на практиЦ методику, що дозволяе прогнозувати метеоролог1чт умови у хмартй iнфраструктурi Amazon, а також тсля адаптацИ' в тших сучасних хмарних тфраструктурах.

Ключовi слова: прогноз погоди, хмарш технолога, мезомасштабна метеорологiчна модель.

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

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

Abstract. A methodology has been developed and tested in practice that allows forecasting meteorological conditions in the Amazon cloud infrastructure and after adaptation in other modern cloud infrastructures. Keywords: weather forecast, cloud technologies, mesoscale meteorological model.

1. Введение

В Украине в последнее время разработаны и внедрены специализированные системы прогнозирования метеорологических условий с высоким пространственным разрешением для прогнозирования паводков [1], обеспечения систем ядерного аварийного реагирования данными численного прогноза погоды [2, 3] и др. Для получения численного прогноза погоды используется модель WRF [4]. Она представляет собой программу на языке Fortran, которая компилируется компилятором Intel Fortran для OC Linux с использованием библиотек MPICH и NetCDF. В работе [5] отмечено, что WRF можно скомпилировать один раз, создать архив, включив в него все динамические библиотеки, исполняемые файлы и файлы данных, затем легко распаковывать и запускать этот архив на произвольном компьютере под управлением OC Linux. На практике частые расчеты с применением WRF требуют больших вычислительных ресурсов, а доступные в Украине вычислительные ресурсы сильно ограничены. В последнее время приобретают популярность облачные сервисы, которые, в частности, можно использовать для расчета метеорологических моделей. Например, в работе [6] разработаны сервисы для прогноза погоды в облачной инфраструктуре Google.

Целью данной работы является разработка методики расчета модели WRF в облачной инфраструктуре Amazon.

2. Возможности инфраструктуры Amazon для метеорологических расчетов

Как показано в статье [4], WRF может запускаться на виртуальных серверах, так называемых инстансах, облачной инфраструктуры Amazon AWS. Это не бесплатная инфраструктура, однако она позволяет платить только за время работы инстанса. К примеру, если один час работы инстанса стоит один доллар США, а расчет выполняется с учетом загрузки входных данных и выгрузки результатов три часа, то такой расчет обойдется в три доллара. С переходом облачной инфраструктуры на посекундную тарификацию времени работы инстансов в октябре 2017 года появилась возможность существенно снизить расходы. Например, теперь, если расчёт выполняется не один час, а

© Полонский А.А., 2018

ISSN 1028-9763. Математичш машини i системи, 2018, № 2

двадцать минут, платить придется не за час, а за двадцать минут, то есть в три раза меньше. Кроме того, на протяжении 2017 года Amazon внес ряд усовершенствований в систему так называемых Spot-инстансов, что позволяет снизить расходы еще больше. Spot-инстансы используют простаивающие вычислительные мощности дата-центров Amazon в режиме биржи, где текущая цена постоянно меняется в зависимости от спроса и предложения, и час их работы стоит в два-пять раз меньше, чем у обычного инстанса. При этом, однако, нет гарантии, что инстанс не будет насильно выключен в любой момент с уничтожением всех данных на его жестком диске. Поскольку расчёты WRF длятся в среднем недолго, порядка нескольких часов, а часто даже меньше часа, эта угроза на практике не должна сильно мешать работе. В настоящей статье описывается, как создать и запустить WRF на Spot-инстансе Amazon.

3. Методика расчета

Процесс создания Spot-инстанса с помощью веб-консоли AWS подробно описан в документации [7]. После логина в консоль и выбора региона надо щелкнуть по ссылке Spot Requests в левой части экрана и на загрузившейся странице нажать кнопку Request Spot Instances. На странице создания Spot-инстанса очень много параметров (рис. 1-4), большинство из которых можно оставить равными значениям по умолчанию. В данном примере в поле AMI выбирается образ Ubuntu 16.04 (рис. 1), а в качестве типа инстанса выбирается c5.18xlarge - инстанс, в котором 36 физических ядер процессора Intel Xeon одного из последних (на 2017 год) поколений. Для выбора типа инстанса надо нажать на кнопку Select (рис. 2) и в открывшемся диалоговом окне отметить галочкой c5.18xlarge (рис. 2). В этом окне видно, что на момент написания статьи цена одного часа работы инстанса с 36-ю ядрами составляла чуть больше $0,52 в час с посекундной тарификацией. Как уже говорилось, цена за час работы Spot-инстанса постоянно меняется, и график ее изменений в прошлом можно посмотреть, нажав на кнопку Pricing History.

Рис. 1. Окно выбора дистрибутива Linux, типа инстанса и объема жесткого диска

Рис. 2. Выбор типа инстанса

На рис. 3 нужно поменять два параметра. Во-первых, надо указать группу безопасности, в которой будет запущен инстанс, с тем, чтобы можно было подключиться к нему по SSH. Группу сначала нужно создать. Процесс создания и редактирования групп безопасности подробно описан в документации, а также проиллюстрирован в обучающих видео на youtube, поэтому здесь не рассматривается. Далее, нужно заполнить поле User data. Это поле представляет собой Bash-скрипт, который будет автоматически выполнен на только что созданном инстансе. Скрипт устанавливает и настраивает несколько вспомогательных программ, делающих процесс работы в SSH-сессии более удобным и быстрым, а также создает учетную запись пользователя Linux с известным именем и паролем:

#!/bin/bash

# Ubuntu 16.04 EC2 User data.

# apl's password is standard.

BASEURL=http://ukr.pw

# Install software that is missing in Ubuntu by default and that makes work more comfortable:

apt-get update

apt-get -y install screen vim-nox mc traceroute psmisc

# Configure vim:

wget -O - $BASEURL/vimrc.txt > /etc/vim/vimrc

# configure color prompt with clock: cd /root

wget -O - $BASEURL/ub/dotbashrc.txt > .bashrc cp -f .bashrc /etc/skel

sed -i -e 's/APS1/#PS1/' /etc/bash.bashrc

wget -O - $BASEURL/ub/prompt.txt >> /etc/bash.bashrc

# Configure password auth in SSH and create a user to log in as:

sed -i -e "s/APasswordAuthentication no/PasswordAuthentication yes/"

/etc/ssh/sshd config

systemctl restart sshd.service

sed -i -e "s/:100:/:99:/" /etc/passwd

useradd -u 100 -g 27 -d /home/apl -c "Sasha Polonsky" -s /bin/bash -m -p

'$6$1TLo1Ure$L3hqJ5 5 4iyv/nI08i6Lkbf4fT7Yh3cRsgYMxS0FK0feRh4cR9qn/HY2EHm n7gxjaSMwaByk6t3HLKK7KKD06F0' apl

(■Add new tag

Рис. 3. Группа безопасности и скрипт User data

Рис. 4. Кнопка запуска инстанса

Для создания инстанса надо нажать кнопку Launch (рис. 4). При этом остальные параметры на рис. 4 можно не менять. Консоль выдаст предупреждение о том, что инстансу не присвоен ключ для авторизации по SSH. Это предупреждение можно игнорировать, так как скрипт из поля User data создаст пользователя с паролем, и ключ

будет не нужен. В появившемся окне не надо ставить галочку, подтверждающую согласие на запуск инстанса без ключа, и следует нажать OK. Появится сообщение о том, что запрос на запуск Spot-инстанса успешно создан.

На практике инстанс по запросу обычно создается довольно быстро, в течение минуты. Созданный инстанс сразу же отобразится на странице Instances под ссылкой слева (рис. 5). На этой странице в нижней части экрана будет отображен IP-адрес инстанса, который нужен для подключения к инстансу по SSH. На рис. 5 этот адрес обведен красной рамкой. Кроме адреса, для подключения нужны имя пользователя и пароль, которые задаются в скрипте из поля User data. Рекомендуется использовать уникальное имя пользователя и пароль, чтобы доступ к инстансу «случайно» не получили хакеры.

Resource Groups v * £1 Sasha Polonsky » Ohio " Support »

EC2 Dashboard

Events

Tags

Reports

Limits

E INSTANCES | Instances

Launch Templates Spot Requests Reseived Instances Dedicated Hosts

0 IMAGES AMIS

Bundle Tasks

, ELASTIC BLOCK U STORE

Volumes Snapshots

NETWORK & ^ SECURITY Security Groups Elastic IPs

Launch Instance v

Connect Actions v

m о ф

Q Filter by t: ags and attributes or search by keyword Q 1 to 1 of 1

■ Name ' Instance ID ж Instance Type Availability Zone ■*• Instance State Status Checks Alarm Status Public DNS (IPv4)

■ c5.18xl spot i-0 e8 a6 d31092a c55 b7 c5.18xlarge us-east-2a # running S Initializing Norm ec2-18-219-49-62.u

instance: | ¡-0e8a6d31092ac55b7 (c5.18xl spot) Public DNS: ec2-18-219-49-62.us-east-2.compute.amazonaws.com Description Status Checks Monitoring Tags

В H П

Instance ID i-0e8a6d31092ac55b7

Instance state running

Instance type c5.18xlarge Elastic IPs

Public DNS (IPv4) ec2-18-219-49-62. us-

east-2.compute.amazonaws.com

IPv4 Public IP

18.219.49.62 1

Availabil

ty zone

us-east-2a

Security groups OpenFromEnv. view inbound rules Scheduled events No scheduled events

AMI ID ubuntu/images/hvm-ssd/ubuntu-

xenial-16.04-amd64-server-20171121.1

iami-iWAHacTl

IPv6 IPs Private DNS

Private IPs Secondary private IPs VPC ID Subnet ID

ip-172-31-13-81. us-east-2. compute, internal 172.31.13.81

vpc-9a14abf3 subnet-1 a3fb373

V

Рис. 5. IP-адрес созданного инстанса

К созданному инстансу можно подключиться с помощью SSH-клиента, например, PuTTy. Инстанс выглядит как обычный сервер Ubuntu 16.04, за исключением того, что подсказка для ввода команд содержит в себе серверное время (рис. 6). Такая подсказка позволяет наглядно следить за тем, сколько минут и секунд выполнялась та или иная команда. Это полезное дополнение было создано скриптом из поля User data.

В окне PuTTy можно загружать, распаковывать и запускать WRF привычным способом, выполняя команду за командой. Целесообразно не вводить команды руками, а заранее создать из них скрипт, который выполнится без участия пользователя с максимальной скоростью, ограниченной только возможностями сети, процессора, памяти и жесткого диска. Скрипт можно разместить где-нибудь снаружи, на веб-сервере, откуда его легко загрузить на инстанс. На веб-сервере скрипт можно будет легко менять, запуская WRF на разных областях и с разными разрешениями по пространству и времени.

На рис. 6 показано окно PuTTy, в котором подобный скрипт загружается с вебсервера, автоматически запускается и начинает загружать и распаковывать архив с WRF. На рис. 7 тот же скрипт показан в момент, когда он уже загрузил и распаковал архив с WRF и входными данными и запускает WRF последовательно в четыре, восемь и шестнадцать потоков. По окончании работы важно не забыть уничтожить инстанс, чтобы не платить деньги за лишнее время его работы.

18.219.49.62 - PuTTY

[19:38]:aplBip-172-31-13-81:~:>script 1.txt Script started, file is 1.txt

To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.

[19:38]: a p l(3i p — 17 2 — 31 — 13 — 81: ~ : > wg e t -qO - http://t-ukr.pu/k-txt | bash ./run/

. / run/termuels.asc ./run/RRT M_D fITfl ./run/aerosol_lon.formatted ./run/aerosol_lat.formatted ./run/kernels.asc_s_B_03_0_9 ./run/URBPAR M_U Z E.T B L ./run/LANDUSE.TBL ./run/coeff_p.asc ./run/CLM_EXT_ICE_DFS_DATA ./run/CC H_A C TIUATE-BIN ,/run/tr67t85 . / run/ETAMPHEW_DATA . / run/CLM_ALB_ICE_DFS_DATA ./run/GENPARM.TBL

./run/CAMtr_uolume_mixing_ratio.A1B . / run/bulkradii.asc_s_0_03_0_9 ./run/UEGPARM.TBL

Рис. 6. Подсказка с системным временем и начало работы скрипта автоматизации

Рис. 7. Скрипт автоматизации в стадии запуска WRF в несколько потоков

5. Выводы

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В статье разработана методика расчета метеорологической модели WRF в облачной инфраструктуре Amazon. Методику опробовано на практике и показано, что модель может быть развернута и запущена на счет очень быстро, за время порядка нескольких минут. Это позволяет экономить ресурсы, направленные на разворачивание, конфигурацию, компиляцию WRF на новых вычислительных серверах. Методика с соответствующей адаптацией может быть использована на другой облачной инфраструктуре, такой как Google Cloud, Microsoft Azure, Украинская облачная инфраструктура. На основе представленной методики могут быть разработаны облачные сервисы прогноза погоды в реальном времени.

СПИСОК ИСТОЧНИКОВ

1. Оперативне прогнозування метеоролопчних полiв для систем попередження про паводки у Карпатах / 1.В. Ковалець, О.В. Халченков, С.М. Анутч [та ш.] // Математичш машини i системи. -2015. - № 3. - С. 118 - 125.

2. Впровадження системи ядерного аваршного реагування JRODOS в Укра!ш та И забезпечення даними оперативного метеоролопчного прогнозування / С.М. Анутч, G.O. Gвдiн, 1.В. Ковалець [та ш.] // Зб. праць XI мiжнар. наук.-практ. конф. «Математичне та iмiтацiйне моделювання систем МОДС 2016», (Жукш, 27 червня - 1 липня 2016 р.). - Чертпв: ЧНТУ, 2016. - С. 93 - 96.

3. Халченков А.В. Верификация системы прогнозирования метеорологических полей вокруг Ровенской АЭС на основе использования модели WRF / А.В. Халченков, И.В. Ковалец, А.М. Романенко // Математичш машини i системи. - 2015. - № 1. - С. 130 - 138.

4. [Електронний ресурс]. - Режим доступу: https://journals.ametsoc.org/doi/full/10.1175/BAMS-D-15-00308.1.

5. Полонский А.А. Автоматизация удаленных расчетов метеорологической модели WRF в параллельном режиме / А.А. Полонский, И.В. Ковалец, С.Н. Анулич // Мiжнар. наук.-практ. конф. «Системи шдтримки прийняття ршень. Теорiя i практика», (Кшв, червень 2017 р.). - Кшв, 2017. -С. 54 - 57.

6. [Електронний ресурс]. - Режим доступу: https://journals.ametsoc.org/doi/full/10.1175/BAMS-D-15-00308.1.

7. [Електронний ресурс]. - Режим доступу: https://journals.ametsoc.org/doi/full/10.1175/WAF-D-16-0075.1.

8. Spot Instance Requests / AWS Documentation, Users's Guide [Електронний ресурс]. - Режим доступу: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#using-spot-instances-request.

Cтаття надтшла до редакцп 17.04.2018

i Надоели баннеры? Вы всегда можете отключить рекламу.