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

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

CC BY
283
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЛАЧНЫЙ СЕРВИС / ВИРТУАЛИЗАЦИЯ / УПРАВЛЕНИЕ РЕСУРСАМИ / ЗАДАЧИ НАНОТЕХНОЛОГИИ / МНОГОМАСШТАБНОЕ КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ НЕЛИНЕЙНЫХ ГАЗОДИНАМИЧЕСКИХ ПРОЦЕССОВ В МИКРОКАНАЛАХ / CLOUD SERVICE / VIRTUALIZATION / CONTROL OF RESOURCES / NANOTECHNOLOGY PROBLEMS / MULTISCALE COMPUTER SIMULATION OF NONLINEAR GAS-DYNAMIC PROCESSES IN MICRO-CHANNELS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якобовский Михаил Владимирович, Бондаренко Алексей Алексеевич, Выродов Алексей Витальевич, Григорьев Сергей Константинович, Корнилина Марина Андреевна

В настоящее время научно-технический прогресс связан с решением актуальных проблем нанотехнологии. Большая часть задач нанотехнологии исследуется методами математического моделирования с помощью высокопроизводительной вычислительной техники. В последние годы такое моделирование проводится в рамках облачных технологий. Во всем мире создаются платные и бесплатные облачные сервисы, предоставляющие широкие возможности для моделирования свойств микрои наносистем, имеющих перспективы применения в различных отраслях промышленности. В данной работе представляется облачный сервис, предназначенный для решения на кластерных и суперкомпьютерных системах многомасштабных задач нанотехнологии актуальных для развития современной электроники. Мотивацией к созданию облачного сервиса была необходимость интеграции идей и знаний по данной прикладной проблеме, специалистов по решению задач данного класса на суперкомпьютерных системах, различных технологий моделирования и множества пакетов прикладных программ, а также различных вычислительных ресурсов, имеющихся у авторов и их партнеров. В результате создан прототип облачной среды, реализованный в виде сервиса KIAM Multilogin и прикладного программного обеспечения доступного из виртуальных машин пользователей. Первым приложением сервиса стал комплекс параллельных программ для суперкомпьютерного моделирования нелинейных газодинамических процессов в микроканалах технических систем. На его примере удалось исследовать проблемы и определить пути реализации систематических суперкомпьютерных расчетов задач данного класса. Предложенная реализация сервиса позволила обеспечить отказоустойчивые масштабные вычисления нескольких вариантов задачи на множестве кластеров и суперкомпьютеров, имеющих различное месторасположение и архитектуру, а также провести детальный анализ полученных численных результатов. Разработанные средства позволяют выполнять расчеты с минимальным вмешательством пользователя. Обеспечивается автоматическая миграция данных между вычислительными кластерами и перезапуск программ в целях продолжения расчета. Промежуточные и результирующие данные с активной вычислительной системы передаются в фоновом режиме в централизованное хранилище. Контрольные точки дополнительно копируются на все дополнительные вычислительные системы. Анализ работы среды управления KIAM Job_Control показал, что потери времени, связанные с передачей данных между кластерами и перезапуском задач, сократились примерно в 2.5-3 раза по сравнению с ручным управлением со стороны пользователя.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Якобовский Михаил Владимирович, Бондаренко Алексей Алексеевич, Выродов Алексей Витальевич, Григорьев Сергей Константинович, Корнилина Марина Андреевна

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

CLOUD SERVICE FOR SOLUTION OF MULTISCALE NANOTECHNOLOGY PROBLEMS ON CLUSTERS AND SUPERCOMPUTERS

Nowadays a scientific and technical progress is connected with the solution of topical problems of nanotechnology. A great part of nanotechnology problems is studied the methods of mathematic modeling with the help of high-performance computers. In recent years such modeling is conducted within the framework of cloud technologies. Created are paid and free cloud services which provide great capabilities for modeling the properties of microand nanosystems having perspectives for application in different industries. The cloud service intended for the solution of multi-scale problems of nanotechnology on clusters and supercomputer systems is presented. The need of integration: (a) ideas and knowledge on this applied problem, (b) experts in this scientific field and programmers for the supercomputer systems, (c) various technologies of modeling and a set of packages of applied programs, (d) various computing resources which are available for the authors and its partners, was motivation to creation of the cloud service. The prototype of the cloud environment was realized in the form of the KIAM Multilogin service and the applied software available from virtual machines of users became a result of this work. The first application of created service is the parallel software tool aimed to supercomputer simulations of nonlinear gas-dynamics processes in micro-channels of technical systems. On its example it was a success to investigate problems and define ways of realization of systematic supercomputer calculations of problems of this class. The offered realization of service has allowed: (a) to provide fault-tolerant scale computation of several versions of the task on a set of clusters and supercomputers having different location and architecture; (b) to carry out the detailed analysis of the received numerical results. The developed tools allow performing calculations with minimal user intervention. The data transfer between computer clusters and programs restarting in order to continue the calculation is provided automatically. Both supplementary and resulting data of the running computer system is transferred to the main store in the background mode. Checkpoints are also backed up to all complementary computer systems. Analysis of KIAM Job_Control management environment operation showed that the time loss associated with data transfer between clusters and tasks restarting decreased by approximately 2.5-3 times compared with manual-controlled operation.

Текст научной работы на тему «Облачный сервис для решения многомасштабных задач нанотехнологии на кластерах и суперкомпьютерах»

Kadochnikov Ivan Sergeevich - e-mail: kadivas@jinr.ru; software engineer.

Korenkov Vladimir Vasilevich - e-mail: korenkov@jinr.ru; director of the laboratory; dr. of eng. sc.; senior researcher.

Kutovskiy Nikolay Alexandrovich - e-mail: kut@jinr.ru; researcher; cand. of phis.-math. sc. Nechaevskiy Andrey Vasilevich - e-mail: nechav@jinr.ru; software engineer. Pelevanyuk Igor Stanislavovich - e-mail: pelevanyuk@jinr.ru; software engineer.

УДК 519.687:519.688:519.673:519.63 DOI 10.18522/2311-3103-2016-12-103114

М.В. Якобовский, А.А. Бондаренко, А.В. Выродов, С.К. Григорьев, М.А. Корнилина, А.И. Плотников, С.В. Поляков, И.В. Попов, Д.В. Пузырьков,

С.А. Суков

ОБЛАЧНЫЙ СЕРВИС ДЛЯ РЕШЕНИЯ МНОГОМАСШТАБНЫХ ЗАДАЧ НАНОТЕХНОЛОГИИ НА КЛАСТЕРАХ И СУПЕРКОМПЬЮТЕРАХ*

В настоящее время научно-технический прогресс связан с решением актуальных проблем нанотехнологии. Большая часть задач нанотехнологии исследуется методами математического моделирования с помощью высокопроизводительной вычислительной техники. В последние годы такое моделирование проводится в рамках облачных технологий. Во всем мире создаются платные и бесплатные облачные сервисы, предоставляющие широкие возможности для моделирования свойств микро- и наносистем, имеющих перспективы применения в различных отраслях промышленности. В данной работе представляется облачный сервис, предназначенный для решения на кластерных и суперкомпьютерных системах многомасштабных задач нанотехнологии актуальных для развития современной электроники. Мотивацией к созданию облачного сервиса была необходимость интеграции идей и знаний по данной прикладной проблеме, специалистов по решению задач данного класса на суперкомпьютерных системах, различных технологий моделирования и множества пакетов прикладных программ, а также различных вычислительных ресурсов, имеющихся у авторов и их партнеров. В результате создан прототип облачной среды, реализованный в виде сервиса KIAM Multilogin и прикладного программного обеспечения доступного из виртуальных машин пользователей. Первым приложением сервиса стал комплекс параллельных программ для суперкомпьютерного моделирования нелинейных газодинамических процессов в микроканалах технических систем. На его примере удалось исследовать проблемы и определить пути реализации систематических суперкомпьютерных расчетов задач данного класса. Предложенная реализация сервиса позволила обеспечить отказоустойчивые масштабные вычисления нескольких вариантов задачи на множестве кластеров и суперкомпьютеров, имеющих различное месторасположение и архитектуру, а также провести детальный анализ полученных численных результатов. Разработанные средства позволяют выполнять расчеты с минимальным вмешательством пользователя. Обеспечивается автоматическая миграция данных между вычислительными кластерами и перезапуск программ в целях продолжения расчета. Промежуточные и результирующие данные с активной вычислительной системы передаются в фоновом режиме в централизованное хранилище. Контрольные точки дополнительно копируются на все дополнительные вычислительные системы. Анализ работы среды управления KIAM JobControl показал, что потери времени, связанные с передачей данных между кластерами и перезапуском задач, сократились примерно в 2.5-3 раза по сравнению с ручным управлением со стороны пользователя.

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

*

Работа выполнена при поддержке Российского фонда фундаментальных исследований (проекты №№ 15-29-07090-офи_м, 15-07-06082-а, 16-07-00519-а).

M.V. Yakobovskiy, A.A. Bondarenko, A.V. Vyrodov, S.K. Grigoriev,

M.A. Kornilina, A.I. Plotnikov, S.V. Polyakov, I.V. Popov, D.V. Puzyrkov,

S.A. Soukov

CLOUD SERVICE FOR SOLUTION OF MULTISCALE NANOTECHNOLOGY PROBLEMS ON CLUSTERS AND SUPERCOMPUTERS

Nowadays a scientific and technical progress is connected with the solution of topical problems of nanotechnology. A great part of nanotechnology problems is studied the methods of math-ematic modeling with the help of high-performance computers. In recent years such modeling is conducted within the framework of cloud technologies. Created are paid and free cloud services which provide great capabilities for modeling the properties of micro- and nanosystems having perspectives for application in different industries. The cloud service intended for the solution of multi-scale problems of nanotechnology on clusters and supercomputer systems is presented. The need of integration: (a) ideas and knowledge on this applied problem, (b) experts in this scientific field and programmers for the supercomputer systems, (c) various technologies of modeling and a set ofpackages of applied programs, (d) various computing resources which are available for the authors and its partners, was motivation to creation of the cloud service. The prototype of the cloud environment was realized in the form of the KIAM Multilogin service and the applied software available from virtual machines of users became a result of this work. The first application of created service is the parallel software tool aimed to supercomputer simulations of nonlinear gas-dynamics processes in micro-channels of technical systems. On its example it was a success to investigate problems and define ways of realization of systematic supercomputer calculations of problems of this class. The offered realization of service has allowed: (a) to provide fault-tolerant scale computation of several versions of the task on a set of clusters and supercomputers having different location and architecture; (b) to carry out the detailed analysis of the received numerical results. The developed tools allow performing calculations with minimal user intervention. The data transfer between computer clusters and programs restarting in order to continue the calculation is provided automatically. Both supplementary and resulting data of the running computer system is transferred to the main store in the background mode. Checkpoints are also backed up to all complementary computer systems. Analysis of KIAM Job_Control management environment operation showed that the time loss associated with data transfer between clusters and tasks restarting decreased by approximately 2.5-3 times compared with manual-controlled operation.

Cloud service; virtualization; control of resources; nanotechnology problems; multiscale computer simulation of nonlinear gas-dynamic processes in micro-channels of technical systems.

Введение. В настоящее время научно-технический прогресс связан с решением актуальных проблем нанотехнологии [1-3]. Данное направление исследований приобретает решающее значение и при создании инновационного потенциала России. Большая часть задач нанотехнологии исследуется методами математического моделирования с помощью высокопроизводительной вычислительной техники [4-10]. В последние годы такое моделирование проводится в рамках облачных технологий [11-20]. Данная работа лежит в русле этих тенденций и посвящена развитию распределенных облачных вычислений для решения актуальных задач нанотехнологии. Разрабатываемый в её рамках облачный сервис предназначен для многомасштабного моделирования нелинейных процессов в полидисперсных многокомпонентных средах с помощью гетерогенных кластеров и суперкомпьютеров. Фундаментальность и актуальность общей проблемы состоит в том, что в настоящее время, в связи с внедрением нанотехнологий во многих отраслях промышленности, существует острая необходимость объединения различных математических подходов, информационных и вычислительных ресурсов в единый аппарат суперкомпьютерного моделирования. Удачным способом такого объединения является создание облачных сред и сервисов, в которых каждый пользователь сможет иметь доступ ко всем возможным информационным материалам, моделирующим программам, вычислительным ресурсам и индустриальным САПР.

Результатом проведенных исследований стал прототип облачного сервиса KIAM Multilogin на базе кластеров ИПМ им. М.В. Келдыша РАН, ориентированный на суперкомпьютерное моделирование многомасштабных задач нанотехнологии методами механики сплошной среды и молекулярной динамики [21, 22]. Как известно, решение задач данного класса связано с необходимостью распределенной параллельной обработки на кластерах и суперкомпьютерах больших объемов данных, описывающих моделируемую среду как на макро-, так и на микроуровне. В качестве первого приложения сервиса была выбрана задача многомасштабного моделирования процессов взаимодействия газовых смесей со стенками металлических каналов [22-28]. Для ее решения был проведен ряд детальных вычислительных экспериментов, касающихся определения как свойств отдельных веществ (металлов и газов) [24, 25], так и свойств результирующих многокомпонентных течений газа в металлических микроканалах технических систем [22, 23, 27, 28]. Проведение подобных вычислительных экспериментов невозможно без привлечения высокопроизводительной компьютерной техники, эффективное использование которой требует создания интегрирующих сред и сервисов, например, средствами облачных технологий.

Поставленная общая задача создания облачного сервиса решалась поэтапно.

На первом этапе была осуществлена техническая реализация облачной среды KIAM Multilogin на одном из кластеров ИПМ им. М.В.Келдыша РАН. В рамках этой деятельности было создано виртуальное пространство пользователей, состоящее из web-портала и хранилища индивидуальных виртуальных машин, разработан удобный интерфейс доступа к удаленным компьютерным и суперкомпьютерным системам, определяющийся персональным профилем.

Для решения выбранной прикладной проблемы был разработан комплекс параллельных программ Flow_and_Particles, предназначенный для проведения расчетов течений газовых смесей в металлических микроканалах с учетом процессов взаимодействия газа с металлом на микроуровне в рамках пограничного слоя (см. [22, 23, 27, 28]). Данный комплекс был развернут в облаке и стал доступен всем пользователям, занимающимся подобными исследованиями.

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

Результаты реализации первого этапа опубликованы в работах [22-26].

На втором этапе проводились исследования в следующих направлениях:

♦ модернизация аппаратно-программной облачной среды и интерфейса пользователей;

♦ дальнейшая разработка файлового интерфейса параллельных приложений;

♦ разработка API-интерфейса для связи параллельного приложения пользователя с облачными сервисами;

♦ модернизация облачной системы хранения и обработки геометрических и многомасштабных неоднородных данных;

♦ модернизация облачной системы визуализации данных;

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

♦ проведение тестирования облачной среды на модельных задачах.

Результаты реализации второго этапа частично опубликованы в работах [27-29].

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

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

В рамках облачной среды KIAM Multilogin предложено внедрять в прикладные параллельные программы, использующие MPI, дополнительные средства отказоустойчивости, реализованные в пакете ULFM (User Level Failure Mitigation) [30]. ULFM является дополнением разрабатываемого открытого стандарта OpenMPI и позволяет восстанавливать MPI среду после сбоя и обрабатывать отказы в системе на уровне пользователя. При этом у пользователя появляется возможность восстановления расчета без перезапуска задачи, что очень важно при использовании публичных ресурсов, эксплуатирующихся в пакетном режиме и управляющихся с помощью системы очередей заданий. Однако такое восстановление "на лету" таит в себе множество внутренних проблем. Одной из них является выбор стратегии восстановления расчета на основе механизма контрольных точек.

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

С этой целью разработанный в [31] подход к обеспечению отказоустойчивости параллельных вычислений был внедрен в приложение Flow_and_Particles, связанное с многомасштабными расчетами течений газа вблизи твердых поверхностей [29]. Его особенностью является учет в пограничных слоях взаимодействий частиц газа и металлической стенки, реализующееся методом молекулярной динамики.

Для сравнения различных реализаций механизма контрольных точек на основе исходной программы молекулярного моделирования взаимодействия газовой смеси с металлической поверхностью в пограничном слое Particles_Near_Surface были разработаны две ее дополнительные параллельные версии: Parti-cles_Near_Surface_CPS_V1(2). Во всех трех параллельных программах распределение расчетных данных выполнено на основе принципа геометрического параллелизма. Поэтому каждый вычислитель анализирует моделируемый процесс лишь в своей части среды. В результате во время выполнения одного шага расчетного цикла происходят обмены данными между различными вычислителями, связанные

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

В первой дополнительной программе сохранение контрольных точек осуществляется в оперативную память вычислительных узлов. Схема сохранения описана в работе [31] и учитывает время выполнения одного шага цикла, объем контрольной точки, размер оперативной памяти, приходящейся на один МР1-процесс, а также ожидаемую частоту отказа системы. В рамках схемы для каждого MPI-процесса определяются номера МР1-процессов, которым следует передавать данные для сохранения. Для возобновления расчетов в данной программе необходимо дублирование локальных контрольных точек, что реализуется с помощью специальной схемы сохранения [31].

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

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

Тестирование разработанных дополнительных программ проводилось на кластере 1ММ6 (ИПМ им. М.В. Келдыша РАН), где возможно было осуществить физическое выключение узлов, принимающих участие в расчете задачи. В качестве исходных данных были выбраны параметры взаимодействия газ-металл, представленные в работах [24, 26]. Моделируемая микросистема содержала пластинку никеля с размерами 288*288*24 (измерения даны в длинах ребер кристалла никеля при нормальных условиях); число атомов никеля составляло 8128512; число молекул азота в микросистеме составляло 423 840; размер контрольной точки одного МР1-процесса был равен примерно 4 Мб, количество MPI-процессов было равно 256.

Время тестового расчета исходной программы, реализованной без средств обеспечения отказоустойчивости, составляло 225 минут. Первая и вторая программы запускались при разных значениях среднего времени между отказами MTBF = 30, 60, 90, 120, 150, 180 мин. Соответствующее количество модельных отказов составило - 7, 4, 2, 2, 1, 1. В данном примере моделировались только одиночные отказы. Времена выполнения расчета с учетом отказов представлены на рис. 1.

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

Рис. 1. Времена выполнения программ, реализующих различные техники отказоустойчивости, при различных значениях ЫТБЕ; время работы программы без сбоев и без средств обеспечения отказоустойчивости

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

В среде KIAM Multilogin предпринята попытка решения данной проблемы на примере одного параллельного приложения Particles_Near_Surface. Для этого была разработана система управления и мониторинга приложений пользователей KIAM Job_Control. Одной из ее функций стала поддержка выполнения длительных расчетов на множестве разнотипных кластеров и суперкомпьютеров, доступных конкретному пользователю. Система KIAM Job_Control позволяет автоматически переносить промежуточные расчетные данные с кластера, на котором очередной выделенный квант времени закончен, на кластер, предоставляющий следующий квант использования вычислительных ресурсов. Рассмотрим подробнее предлагаемое решение.

Системы KIAM Job_Control построена на клиент-серверной архитектуре. В состав системы входят:

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

♦ CLI интерфейс (Command Line Interface - интерфейс командной строки) kiamjobctlm - основной способ взаимодействия с системой, который предоставляет командный интерфейс для настройки параметров пользовательского окружения, регистрации задач и управления ресурсами;

♦ веб-интерфейс, предоставляемый приложением kiamjobtlweb, который позволяет пользователям работать с системой в окне браузера, удобно отображать статистику и управление задачами.

Заметим, что серверное приложение kiamjobtld можно установить как на общий сервер в режиме многопользовательского доступа, так и на локальную рабочую станцию в однопользовательском режиме. Все управление, настройки и пользовательские действия выполняются через HTTP REST API. Такая схема позволяет легко использовать в качестве клиента к этой системе как веб-интерфейс, так и CLI, установленный локально.

Схема взаимосвязей и взаимодействия компонент системы показана на рис. 2.

Рис. 2. Компоненты системы KIAM Job Control и их связи

Доступ и управление ресурсами в системе KIAM Job_Control на низком уровне осуществляется посредством модулей, написанных на языке Python и поддерживающих необходимый функционал, например, разворачивание задачи, сборка приложения, запуск приложения на счет, мониторинг за приложением и др. В случае с Linux-ресурсами, доступными по SSH, это модуль, использующий библиотеку Paramiko и разворачивающий на целевой системе специальные bash-скрипты, которые выполняют компиляцию, запуск и автономный мониторинг. Через эти же API система KIAM Job_control получает информацию о возможностях конкретного вычислителя.

Для того чтобы пользователь мог запускать какие-либо приложения на доступных ресурсах, он должен описать задачу и ее особенности. Структура описания пользовательской задачи представляет собой директорию, в которой находятся исходные коды приложения или бинарный файл, все необходимые для задачи исходные данные, а также текстовый файл с описанием задачи на языке YAML. В таком файле пользователю нужно переопределить установленные по умолчанию параметры задачи, а также указать систему сборки, например, GNU Make или CMake.

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

Управление задачами на вычислительном ресурсе осуществляется с помощью системы управления кластером. В нашем распоряжении была система управления SLURM, а также стандартная система управления процессами Linux. В будущем планируется дополнить систему управления KIAM Job_Control специальной библиотекой, которая позволит давать команды на останов, сохранение данных и другие через файловый интерфейс приложения.

Приложение kiamjobtld по истечению некоторого таймаута проверяет квоты и возможности текущей вычислительной системы, а также других доступных ВС. На основе этих данных решается вопрос о продолжении расчета или его останова. По истечении заданной (или определенной автоматически) квоты система KIAM Job_Control инициирует штатный или упреждающий останов задачи на текущей ВС и при необходимости мигрирует задачу на другой вычислительный ресурс. Таким же образом реализован механизм обратных вызовов: если развернутые скрипты имеют http доступ к управляющему серверу, они до истечения таймаута могут инициировать какое-либо действие, например, перекачку рассчитанных данных в удаленное хранилище.

Тестирование системы управления KIAM Job_Control проводилось с использованием суперкомпьютера МВС-10П (МСЦ РАН), кластера К1 с сетью Ангара (АО "НИЦЭВТ") и кластера IMM6 (ИПМ им. М.В. Келдыша РАН). В качестве расчетной задачи также использовалось приложение Particles_Near_Surface из комплекса Flow_and_Particles с указанными выше параметрами. Расчеты проводились до установления термодинамического равновесия в микросистеме азот-никель при различных температурах газа. Для визуализации и анализа расчета требовалось рассчитать и хранить около 3 ТБ данных на один расчетный вариант. При этом имелись довольно жесткие квоты по процессорному времени и дисковому пространству:

♦ суперкомпьютер МВС-10П был доступен от 16 до 48 часов в неделю (в зависимости от состояния системы очередей) с 0.5 ТБ дисковой квоты;

♦ кластер K1 был доступен 94 часа в неделю (ночной режим счета) с 10 ТБ дисковой квоты;

♦ кластер IMM6 был доступен 168 часов в неделю (круглосуточный режим счета) с дисковой квотой в 60 ТБ.

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

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

Анализ работы среды KIAM Job_Control показал, что потери времени, связанные с перекачкой данных между кластерами и перезапуском задач, сократились примерно в 2.5-3 раза по сравнению с ручным управлением со стороны пользователя. В основном этот выигрыш связан с тем, что у пользователя не всегда имеется необходимое время и возможности для анализа ситуации, принятия правильного решения и производства необходимых манипуляций с данными и

приложениями (например, когда квант расчета на одном вычислителе заканчивается в ночное время, и в это же время возникает возможность запуска на счет на другом вычислителе).

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Пул Ч., Оуэнс Ф. Нанотехнологии. - М.: Техносфера, 2006. - 260 с.

2. Балабанов В.И. Нанотехнологии. Наука будущего. - М.: Эксмо, 2008. - 256 с.

3. Актуальные проблемы нанотехнологий - курс лекций в Научно-образовательном центре по нанотехнологиям МГУ им. М.В. Ломоносова. - URL: http:// http://nano.msu.ru/ education/courses/actual.

4. Karniadakis G., Beskok A., Aluru N. Microflows and Nanoflows: Fundamentals and Simulation. - Springer, 2005. - 824 p.

5. King M., Gee D. Multiscale Modeling of Particle Interactions: Applications in Biology and Nanotechnology. - John Wiley & Sons, Inc., Hoboken, New Jersey, 2010. - 388 p.

6. Massobrio C., Bulou H., Goyhenex C. Atomic-Scale Modeling of Nanosystems and Nanostructured Materials. - Springer-Verlag Berlin Heidelberg, 2010. - 371 p.

7. Eom K. Simulations in Nanobiotechnology. - Taylor & Francis Group, 2012. - 552 p.

8. Musa S.M. Computational Finite Element Methods in Nanotechnology. - CRC Press, 2012. - 640 p.

9. Schmauder S., Schafer I. Multiscale Materials Modeling: Approaches to Full Multiscaling.

- Walter de Gruyter GmbH, Berlin/Boston, 2016. - 347 p.

10. Bromley S.T., ZwijnenburgM.A. Computational Modeling of Inorganic Nanomaterials. - Taylor & Francis Group, LLC, Boca Raton, FL, USA, 2016. - 429 p.

11. Jennings R. Cloud Computing with the Windows Azure Platform. - Wiley Publishing, 2009.

- 363 p.

12. Furht B., Escalante A. Handbook of Cloud Computing. - Springer, 2010. - 655 p.

13. Ahson S.A., IlyasM. Cloud Computing and Software Services. Theory and Techniques. - CRC Press, 2011. - 458 p.

14. Buyya R., Broberg J., Goscinski A. Cloud Computing. Principles and Paradigms. - John Wiley, 2011. - 675 p.

15. Calheiros R.N., Ranjan R., Beloglazov A., De Rose C.A.F., Buyya R. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms // Software - Practice and Experience. - 2011. - Vol. 41. - P. 23-50.

16. Мизгулин В., Гольдштейн С., Кадушников Р. "Облачная" платформа для проведения НИОКР в нанотехнологиях // Наноиндустрия. - 2011. - В. 5. - C. 60-64.

17. MahmoodZ. Cloud Computing Methods and Practical Approaches. - Springer, 2013. - 353 p.

18. Cayirci E. Modeling and simulation as a cloud service: a survey // Proceedings of the 2013 Winter Simulation Conference: Simulation: Making Decisions in a Complex World. - Washington, D.C., IEEE Press, December 08-11, 2013. - P. 389-400.

19. Yang C., Huang Q. Spatial Cloud Computing: A Practical Approach. - CRC Press, 2014. - 375 p.

20. Safonov V.O. Trustworthy cloud computing. - John Wiley & Sons, 2017. - 337 p.

21. Поляков С.В., Выродов А.В., Пузырьков Д.В., Якобовский М.В. Облачный сервис для решения многомасштабных задач нанотехнологии на суперкомпьютерных системах // Труды Института системного программирования РАН. - 2015. - Т. 27. - Вып. 6. - С. 409-420.

22. Карамзин Ю.Н., Кудряшова Т.А., Подрыга В.О., Поляков С.В. Многомасштабное моделирование нелинейных процессов в технических микросистемах // Математическое моделирование. - 2015. - Т. 27, № 7. - С. 65-74.

23. Подрыга В.О., Поляков С.В., Пузырьков Д.В. Суперкомпьютерное молекулярное моделирование термодинамического равновесия в микросистемах газ-металл // Вычислительные методы и программирование. - 2015. - Т. 16, № 1. - С. 123-138.

24. Подрыга В.О., Поляков С.В. Молекулярно-динамическое моделирование установления термодинамического равновесия в никеле // Математическое моделирование. - 2015.

- Т. 27, № 3. - С. 3-19.

25. Подрыга В.О. Определение макропараметров реального газа методами молекулярной динамики // Математическое моделирование. - 2015. - Т. 27, № 7. - С. 80-90.

26. Подрыга В.О., Поляков С.В., Жаховский В.В. Атомистический расчет перехода в термодинамическое равновесие азота над поверхностью никеля // Математическое моделирование. - 2015. - Т. 27, № 7. - С. 91-96.

27. Подрыга В.О., Поляков С.В. Молекулярно-динамический расчет макропараметров газа в потоке и на границе // Препринты ИПМ им. М.В. Келдыша. - 2016. - № 80. - 24 с.

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

28. Подрыга В.О., Поляков С.В. Параллельная реализация многомасштабного подхода для расчета микротечений газа // Вычислительные методы и программирование. - 2016.

- Т. 17. - Вып. 3. - С. 147-165.

29. Бондаренко А.А., Подрыга В.О., Поляков С.В., Якобовский М.В. Отказоустойчивая реализация метода молекулярной динамики на примере одного приложения // Параллельные вычислительные технологии (ПаВТ'2016): Труды Международной научной конференции (28 марта - 1 апреля 2016 г., г. Архангельск). - Челябинск: Издательский центр ЮУрГУ, 2016. - С. 463-471.

30. ULFM-1.1 Release. - URL: http://fault-tolerance.org/2015/11/14/ulfm-1-1-release/.

31. Бондаренко А.А., Якобовский М.В. Обеспечение отказоустойчивости высокопроизводительных вычислений с помощью локальных контрольных точек // Вестник ЮжноУральского государственного университета. Серия «Вычислительная математика и информатика». - 2014. - Т. 3, №. 3. - С. 20-36.

REFERENCES

1. Pul Ch., Ouens F. Nanotekhnologii [Nanotechnology]. Moscow: Tekhnosfera, 2006, 260 p.

2. Balabanov V.I. Nanotekhnologii. Nauka budushchego [Nanotechnology. Science of the future]. Moscow: Eksmo, 2008, 256 p.

3. Aktual'nye problemy nanotekhnologiy - kurs lektsiy v Nauchno-obrazovatel'nom tsentre po nanotekhnologiyam MGU im. M.V. Lomonosova [Current challenges of nanotechnology - a course of lectures at Scientific and educational centre for nanotechnologies, Moscow state University. M.V. Lomonosov]. Available at: http://nano.msu.ru/education/courses/actual.

4. Karniadakis G., Beskok A., Aluru N. Microflows and Nanoflows: Fundamentals and Simulation. Springer, 2005, 824 p.

5. King M., Gee D. Multiscale Modeling of Particle Interactions: Applications in Biology and Nanotechnology. John Wiley & Sons, Inc., Hoboken, New Jersey, 2010, 388 p.

6. Massobrio C., Bulou H., Goyhenex C. Atomic-Scale Modeling of Nanosystems and Nanostructured Materials. Springer-Verlag Berlin Heidelberg, 2010, 371 p.

7. Eom K. Simulations in Nanobiotechnology. - Taylor & Francis Group, 2012. - 552 p.

8. Musa S.M. Computational Finite Element Methods in Nanotechnology. CRC Press, 2012, 640 p.

9. Schmauder S., Schafer I. Multiscale Materials Modeling: Approaches to Full Multiscaling. Walter de Gruyter GmbH, Berlin/Boston, 2016, 347 p.

10. Bromley S.T., Zwijnenburg M.A. Computational Modeling of Inorganic Nanomaterials. Taylor & Francis Group, LLC, Boca Raton, FL, USA, 2016, 429 p.

11. Jennings R. Cloud Computing with the Windows Azure Platform. Wiley Publishing, 2009, 363 p.

12. Furht B., Escalante A. Handbook of Cloud Computing. Springer, 2010, 655 p.

13. Ahson S.A., Ilyas M. Cloud Computing and Software Services. Theory and Techniques. CRC Press, 2011, 458 p.

14. Buyya R., Broberg J., Goscinski A. Cloud Computing. Principles and Paradigms. John Wiley, 2011, 675 p.

15. Calheiros R.N., Ranjan R., Beloglazov A., De Rose C.A.F., Buyya R. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithm, Software - Practice and Experience, 2011, Vol. 41, pp. 23-50.

16. Mizgulin V., Gol'dshteyn S., Kadushnikov R. "Oblachnaya" platforma dlya provedeniya NIOKR v nanotekhnologiyakh ["Cloud-based" platform for research and development in nanotechnology], Nanoindustriya [Nanoindustry], 2011, V. 5, pp. 60-64.

17. Mahmood Z. Cloud Computing Methods and Practical Approaches. Springer, 2013, 353 p.

18. Cayirci E. Modeling and simulation as a cloud service: a survey, Proceedings of the 2013 Winter Simulation Conference: Simulation: Making Decisions in a Complex World. Washington, D.C., IEEE Press, December 08-11, 2013, pp. 389-400.

19. Yang C., Huang Q. Spatial Cloud Computing: A Practical Approach. CRC Press, 2014, 375 p.

20. Safonov V.O. Trustworthy cloud computing. John Wiley & Sons, 2017, 337 p.

21. Polyakov S.V., Vyrodov A.V., Puzyr'kov D.V., Yakobovskiy M.V. Oblachnyy servis dlya resheniya mnogomasshtabnykh zadach nanotekhnologii na superkomp'yuternykh sistemakh [Cloud service for solving multiscale problems of nanotechnology on supercomputing systems], Trudy Instituta sistemnogo programmirovaniya RAN [Proceedings of Institute for system programming of Russian Academy of Sciences], 2015, Vol. 27, Issue 6, pp. 409-420.

22. Karamzin Yu.N., Kudryashova T.A., Podryga V.O., Polyakov S.V.Mnogomasshtabnoe modelirovanie nelineynykh protsessov v tekhnicheskikh mikrosistemakh [Multiscale simulation of nonlinear processes in technical Microsystems], Matematicheskoe modelirovanie [Mathematical modeling], 2015, Vol. 27, No. 7, pp. 65-74.

23. Podryga V.O., Polyakov S.V., Puzyr'kov D.V. Superkomp'yuternoe molekulyarnoe modelirovanie termodinamicheskogo ravnovesiya v mikrosistemakh gaz-metall [Supercomputer molecular modeling of thermodynamic equilibrium in gas Microsystems-metal], Vychislitel'nye metody i programmirovanie [Computing methods and programming], 2015, Vol. 16, No. 1, pp. 123-138.

24. Podryga V.O., Polyakov S.V. Molekulyarno-dinamicheskoe modelirovanie ustanovleniya termodinamicheskogo ravnovesiya v nikele [Molecular dynamics simulation of the establishment of thermodynamic equilibrium in Nickel], Matematicheskoe modelirovanie [Mathematical modeling], 2015, Vol. 27, No. 3, pp. 3-19.

25. Podryga V.O. Opredelenie makroparametrov real'nogo gaza metodami molekulyarnoy dinamiki [Definition of macro parameters of the real gas methods molecular dynamics], Matematicheskoe modelirovanie [Mathematical modeling], 2015, Vol. 27, No. 7, pp. 80-90.

26. Podryga V.O., Polyakov S.V., Zhakhovskiy V.V. Atomisticheskiy raschet perekhoda v termodinamicheskoe ravnovesie azota nad poverkhnost'yu nikelya [Atomistic calculation of the transition in the thermodynamic equilibrium of nitrogen over the surface of Nickel], Matematicheskoe modelirovanie [Mathematical modeling], 2015, Vol. 27, No. 7, pp. 91-96.

27. Podryga V.O., Polyakov S.V. Molekulyarno-dinamicheskiy raschet makroparametrov gaza v potoke i na granitse [Molecular-dynamic calculation of macro parameters of the gas in the stream and on the border], Preprinty IPM im. M.V. Keldysha [Preprint IPM im. M.V. Keldysh], 2016, No. 80, 24 p.

28. Podryga V.O., Polyakov S.V. Parallel'naya realizatsiya mnogomasshtabnogo podkhoda dlya rascheta mikrotecheniy gaza [Parallel implementation of the multiscale approach for the calculation of micromachine gas], Vychislitel'nye metody i programmirovanie [Computational methods and programming], 2016, Vol. 17, Issue 3, pp. 147-165.

29. Bondarenko A.A., Podryga V.O., Polyakov S.V., Yakobovskiy M.V.Otkazoustoychivaya realizatsiya metoda molekulyarnoy dinamiki na primere odnogo prilozheniya [Fault-tolerant implementation of a molecular dynamics method on the basis of an application], Parallel'nye vychislitel'nye tekhnologii (PaVT'2016): Trudy Mezhdunarodnoy nauchnoy konferentsii (28 marta - 1 aprelya 2016 g., g. Arkhangel'sk) [Parallel computational technologies (PCT ' '2016): Proceedings of International scientific conference (March 28 - April 1, 2016, Arkhangelsk)]. Chelyabinsk: Izdatel'skiy tsentr YuUrGU, 2016, pp. 463-471.

30. ULFM-1.1 Release. Available at: http://fault-tolerance.org/2015/11/14/ulfm-1-1-release/.

31. Bondarenko A.A., Yakobovskiy M.V. Obespechenie otkazoustoychivosti vysokoproizvoditel'nykh vychisleniy s pomoshch'yu lokal'nykh kontrol'nykh tochek [Fault tolerance for HPC using the local control points], Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya «Vychislitel'naya matematika i informatika» [Bulletin of the South Ural State University, series "Computational mathematics and Informatics"], 2014, Vol. 3, No. 3, pp. 20-36.

Статью рекомендовал к опубликованию д.ф.-м.н., профессор А.П. Афанасьев.

Якобовский Михаил Владимирович - Федеральное государственное учреждение "Федеральный исследовательский центр Институт прикладной математики им. М.В. Келдыша Российской академии наук"; e-mail: lira@imamod.ru; 125047, г. Москва, Миусская пл., 4; тел.: +74992207823; чл.-корр. РАН; д.ф.-м.н.; профессор; зам. директора.

Бондаренко Алексей Алексеевич - e-mail: bondaleksey@gmail.com; тел.: +74997912917; магистр; к.ф.-м.н.; н.с.

Выродов Алексей Витальевич - e-mail: vyrodov.alexey@gmail.com; тел.: +74999730385; системный архитектор.

Григорьев Сергей Константинович - e-mail: sergejgri@gmail.com; тел.: +74997912917; аспирант.

Корнилина Марина Андреевна - e-mail: mary@imamod.ru; тел.: +74992207823; к.ф.-м.н.; с.н.с.

Плотников Артем Игоревич - e-mail: imartemplotnikov@gmail.com; тел.: +74997912917; аспирант.

Поляков Сергей Владимирович - e-mail: polyakov@imamod.ru; тел:. +74999730385; с.н.с., д.ф.-м.н.; зав. сектором.

Попов Игорь Викторович - e-mail: popov@imamod.ru; тел.: +74999730385; доцент; к.ф.-м.н.; с.н.с.

Пузырьков Дмитрий Валерьевич - e-mail: dpuzyrkov@gmail.com; тел.: +74999730385; аспирант.

Суков Сергей Александрович - e-mail: ssoukov@gmail.com; тел.: +74992207823; магистр; к.ф.-м.н.; с.н.с.

Yakobovskiy Mikhail Vladimirovich - Keldysh Institute of Applied Mathematics of Russian Academy of Sciences; e-mail: lira@imamod.ru; 4, Miusskaya square, 125047, Moscow, Russia; phone: +74992207823; corresponding member of Russian Academy of Sciences; dr. of phis.-math. sc.; professor; deputy director.

Bondarenko Aleksey Alekseevich - e-mail: bondaleksey@gmail.com; phone: +74997912917; magister; cand. of phis.-math. sc.; researcher.

Vyrodov Aleksey Vitalievich - e-mail: vyrodov.alexey@gmail.com; phone: +74999730385; system architect.

Grigoriev Sergey Konstantinovich - e-mail: sergejgri@gmail.com; phone: +74997912917; postgraduate student.

Kornilina Marina Andreevna - e-mail: mary@imamod.ru; phone: +74992207823; cand. of phis.-math. sc.; senior scientist.

Plotnikov Artem Igorevich - e-mail: imartemplotnikov@gmail.com; phone: +74997912917; magister; post-graduate student.

Polyakov Sergey Vladimirovich - e-mail: polyakov@imamod.ru; phone: +74999730385; senior scientist; professor; dr. of phis.-math. sc.; head of laboratory.

Popov Igor Viktorovich - e-mail: popov@imamod.ru; phone: +74999730385; associate professor; cand. of phis.-math. sc.; senior researcher.

Puzyrkov Dmitry Valerievich - e-mail: dpuzyrkov@gmail.com; phone: +74999730385; postgraduate student.

Soukov Sergey Aleksandrovich - e-mail: ssoukov@gmail.com; phone: +74992207823; magister; senior researcher.

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