Эффективное сканирование пространства параметров в Desktop Grid для идентификации модели разложения гидридов металлов

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ т. 9, №4(39), с. 35-52 УДК 004.75

И. А. Чернов, Н. Н. Никитина

Эффективное сканирование пространства параметров в Desktop Grid для идентификации модели разложения гидридов металлов

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

Ключевые слова и фразы: Desktop Grid, планирование заданий, BOINC, Enterprise Desktop Grid, высокопроизводительные вычисления, распределенные вычисления, моделирование разложения гидридов металлов.

1. Введение

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

Работа выполнена при финансовой поддержке РФФИ в рамках научных проектов №16-07-00622-А и №18-07-00628-А.

© И. А. Чернов, Н. Н. Никитина, 2018

© Институт прикладных математических исследований КарНЦ РАН, 2018 © Программные системы: теория и приложения (дизайн), 2018

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

Модель — это функция М, которая преобразует набор параметров (область значений О из конечномерного пространства Дк) в кривую (непрерывную функцию или, в случае численной модели, массив). В материаловедении физические явления описываются дифференциальными уравнениями, обыкновенными или в частных производных. Некоторая функция от фазовых переменных описывает измеряемую величину как функцию от времени.

Оценка этой функции М в заданной точке области О — это прямая задача. Обратная задача, называемая также идентификацией параметров, заключается в поиске таких точек из О, которые приближают заданные экспериментальные кривые. Если кривые сравниваются в пространстве Ъ^, то используется метод наименьших квадратов, хотя могут применяться и другие подходящие метрические пространства. Набор параметров в € Дк, который приближает заданную кривую / с заданной точностью е, т.е.

называется решением обратной задачи. Точность е также называется порогом.

Не существует общепринятых методов решения обратных задач. Эти задачи обычно нелинейны, даже если прямая задача линейна, поскольку решения даже линейных дифференциальных уравнений — нелинейны. Кроме того, такие задачи обычно являются некорректными [1,2]. Существующие методы обеспечивают, в лучшем случае, локальную сходимость, поэтому существование альтернативных решений остается открытым вопросом. Различные попытки обеспечить уникальность решения требуют на практике знания о решении.

Качество решения измеряется его способностью приближать ряд кривых с разумной точностью. Кроме того, решение должно быть физически обоснованным, т. е. соответствовать общему физическому смыслу и основным свойствам. Для вероятностей или долей некоторой величины заданы очевидные неравенства. Иногда физические оценки не являются строгими; например, известно, что некоторая скорость намного ниже скорости звука, но отсутствуют более точные оценки. Такие мягкие оценки приводят к необходимости проверки потенциальных априори маловероятных решений.

Область D допустимых значений параметров может содержать гораздо больше, чем одно решение обратной задачи. Если размерность пространства параметров k не слишком высока, то плотный поиск (также называемый сканированием) на сетке внутри D может оказаться плодотворным. Узлы с наилучшими решениями могут служить в качестве начальных приближений для алгоритмов спуска или аналогичных.

Такая задача хорошо подходит для выполнения в распределенных вычислительных системах [3,4], включая Desktop Grid, благодаря следующим свойствам:

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

(2) Задачи требуют умеренного количества вычислительной мощности, оперативной памяти и дискового пространства.

(3) Объем данных, необходимых для решения задачи, мал: k-мерный массив значений и экспериментальных кривых (отправляется один раз).

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

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

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

Статья имеет следующую структуру. Сначала мы описываем модель и обратную задачу, которую нужно решить. Затем мы обсуждаем Desktop Grid на базе BOINC в качестве инструмента для решения задачи и показываем, что политика запроса заданий может

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

2. Разложение гидридов металлов

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

В этой работе мы не касаемся вопросов моделирования разложения металлогидридов; см [6, 7]. Отметим только, что требования высокой скорости и большого содержания водорода ставят под вопрос относительно простые подходы типа Аврами-Ерофеева, выделение для анализа отдельных участков кинетических кривых (например, приблизительно линейного), рассмотрение единственного лимитирующего процесса и т.п. Сложность модели должна соответствовать информативности экспериментальных результатов. Модель, как минимум, должна удовлетворять законам сохранения и описывать конкуренцию реакции разложения гидрида и десорбции водорода.

Модель, используемая в этой работе, описана в [8], см. также ссылки в этой статье. Моделируется одна частица порошка металлогидрида единичного радиуса. Дегидрирование проходит по сценарию сжимающегося ядра: новая фаза металла формирует корку на поверхности частицы и затем продвигается к центру. Модель легко обобщается на случай других форм с подходящей группой симметрий (в том числе длинный тонкий цилиндр, тонкая чешуйка и несколько экзотических форм) [9], но показано, что влияние формы на кинетику несущественно.

ООО

Рис. 1. Формирование корки и сценарий сжимающегося ядра; светло-серым выделена фаза гидрида.

Обозначим толщину сферического слоя корки через Н = 1 — р(£), где р — радиус ядра старой (гидридной) фазы, см. рис. 1. Формирующаяся модельная корка состоит из симметричных зародышей, полностью описываемых полной площадью на поверхности и толщиной Н; взаимное распределение зародышей в таких предположениях не играет роли.

Физические предположения:

• диффузия растворенного в решетке металла водорода быстрая (в микроскопических частицах порошка), поэтому градиентами концентрации водорода можно пренебречь;

• отсутствует ре-адсорбция водорода: десорбция в вакуум;

• десорбция из металлической фазы идет через поры и трещины материала;

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

• размер частицы порошка не меняется в ходе реакции;

• доля V потока водорода из фазы металла обусловлена сжатием ядра, остальное — за счет расширения корки.

Обозначая плотности потоков водорода для фаз гидрида и металла через 3' и 3, соответственно, запишем выражение для полного потока водорода:

3'(1 — Б{Ь))  4п + 3Б(г)4пр2. Локальный баланс вещества дает уравнение для размера гидридного ядра:

(2) ^р = —V(Б)3 Р> 0.

Здесь v(Б) = V при Б < 1, т.е. если корка не занимает еще всей поверхности; V(1) = 1.

Глобальный закон сохранения вещества дает второе уравнение:

(3) ^ Цт = - 5 +(1 - ^

Измеряется относительный объем прореагировавшего вещества, т.е. доля объема новой фазы:

/ (г) = (1 - р3 (г))Б (г).

Модель (2)—(3) содержит пять параметров:

(1) плотности потоков водорода с поверхности двух фаз J' и J;

(2) начальное состояние корки: Бо и ро (активация способна порождать активные центра десорбции, формально создавая кору новой фазы);

(3) фактор V, характеризующий рост корки («вглубь» или «вширь»). Все параметры неотрицательны; также Бо < 1, ро < 1, V < 1. Плотности потоков не могут быть слишком велики и потому «мягко» ограничены сверху: точная верхняя грань неизвестна.

Таким образом, мы имеем параллелепипед в пятимерном пространстве Д5, на котором будем искать оптимумы среднеквадратичной (или иной) невязки двух кривых: модельной зависимости /(г) и экспериментальных измерений. нормируем эту невязку на среднеквадратичную норму экспериментальной кривой, чтобы оптимизируемая функция была безразмерной (мы опускаем некоторые технические подробности).

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

Простейший метод типа предиктор-корректор (метод Хейна) реализован на стандартном Фортране-90 и может быть запущен на любой платформе.

3. Вычислительная среда и численные эксперименты

Первоначально порог для выбора хороших результатов (1) был установлен в 6%. Мы вручную нашли набор параметров, обеспечивающих хорошую подгонку (6%) в качестве эталонного решения: J = .1' = 10, ро = 88, Бо = 2 и Р = 50 (значения потока выражены в удобных абстрактных единицах, другие параметры выражены в %). Сетка была однородной вдоль каждой оси с 5 узлами для Бо (0-4) и 10 узлами для каждого из остальных параметров: 2-20 для

плотности потока, 80-98 для До и 0-90 для v. Таким образом, сетка состояла из 50 тыс. точек, что составило 250 тыс. заданий для пяти экспериментальных кривых.

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

Численное сканирование области параметров выполнялось в локальной Desktop Grid на базе BOINC [10] Карельского научного центра 1. Наша цель состояла не только в нахождении кинетических параметров для разложения гидрида алюминия, но и в изучении возможности использования Desktop Grid для решения таких задач и поиске способов улучшения процесса поиска, чтобы решать задачи с большими размерностями быстрее и при меньших затратах.

BOINC является одним из самых популярных промежуточных ПО с открытым исходным кодом для систем Desktop Grid, как для добровольных вычислений, так и для Enterprise Desktop Grid [11]. Такая система использует простаивающие возможности настольных компьютеров и других неспециализированных вычислительных ресурсов (таких как серверы и даже мобильные устройства [12]).

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

BOINC имеет двухуровневую архитектуру клиент-сервер: сервер создает задания; клиентские узлы, имеющие свободные ресурсы, запрашивают задания и получают их. После выполнения задания узел возвращает ответ на сервер.

1http://cluster.krc.karelia.ru/

Таблица 1. Распределение решений на сетке параметров: (а) — хорошие (%); (б) — наилучшие (%).

3

2 17.5 92.6 2 7.4 7.49 80 9.4 14.0 10 13.8 29.4 0 19.6 22.8

4 13.7 7.25 4 3.8 2.64 82 9.6 13.6 20 13.5 26.0 1 19.8 25.0

6 11.0 0.08 6 3.5 2.72 84 9.9 12.7 30 13.2 21.0 2 20.1 21.0

8 9.2 0.04 8 8.9 4.02 86 10.2 11.8 40 12.4 14.2 3 20.2 19.0

10 8.4 0 10 11.7 7.81 88 10.5 10.9 50 10.6 6.76 4 20.3 12.2

12 8.3 0 12 12.9 11.4 90 10.7 9.66 60 8.0 1.02

14 8.2 0 14 13.4 14.9 92 10.8 8.52 70 6.1 0.51

16 8.1 0 16 13.2 16.2 94 10.6 7.69 80 6.7 0.39

18 8.0 0 18 12.9 16.9 96 9.9 6.46 90 7.8 0.44

20 7.6 0 20 12.3 15.9 98 8.4 4.73 100 7.9 0.47

В ходе экспериментов, описанных в [5], мы использовали один настольный компьютер, два сервера, контрольный узел и три вычислительных узла кластера Карельского научного центра (каждый узел кластера имеет два 4-ядерных процессора).

Общее время сканирования составило около часа, что было более чем в 23 раза быстрее по сравнению с одним персональным компьютером. Сканирование обнаружило гораздо больше решений, чем ожидалось. 85 988 результатов были лучше предопределенного порога 6%. Поэтому мы уменьшили порог до 1.6% и получили более 2 537 решений.

Заметим, что дальнейшее снижение порога качества невозможно на данном наборе данных, поскольку у некоторых экспериментальных кривых отсутствуют решения, хотя у других их много. Например, уменьшение порога до 1% дает 220 решений, все — для одной и той же экспериментальной кривой. Это критическое значение неизвестно заранее, поэтому пост-обработка результатов очень важна, и может потребоваться повторить сканирование. Также заметим, что локально сходящиеся методы могут вообще не найти лучшего решения, обнаруживая локально минимальное 6%-ное решение.

Далее в статье будем называть результаты, выбранные при пороге 6%, хорошими, а результаты, выбранные при пороге 1.6%, наилучшими. Будем использовать эти два понятия для оценки и обсуждения политик планирования заданий.

Таблица 1 иллюстрирует распределение физически различимых решений на сетке параметров.

4. Методы поиска

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

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

Простое планирование .заданий. Мы использовали простое остаточное кодирование сетки параметров для генерации заданий. Каждый набор (и, следовательно, каждое задание) был связан с натуральным числом п < 250000, которое было получено из номера экспериментальной кривой и одномерных индексов отдельных сеток каждого параметра как остатки (плюс 1) деления на число кривых (5) и размеры отдельных сеток (10 четыре раза, а затем 5). Этот подход меняет . быстрее, чем другие параметры, а таблица 1 показывает, что большая часть работы была расточительной, потому что все наилучшие решения относятся к области низких значений ..

Аналогичная ситуация с V, хотя этот параметр изменяется медленнее, чем другие (кроме Бо). С другой стороны, наилучшие параметры распределены достаточно однородно (таблица 1), поэтому порядок поиска не имеет значения. Наибольшие порядковые номера хороших и наилучших решений были соответственно 249 970 и 242 535 из 250 000. Поэтому перед тем, как собрать все хорошие и наилучшие результаты, необходимо проверить почти все точки сетки. 90% хороших и наилучших результатов были получены после выполнения заданий 246 531 и 96 534 соответственно, что составляет 98% и 46%: к счастью, многие из наилучших результатов относятся к блоку . = 2 сетки.

Случайный поиск. Другая возможность — случайный поиск с некоторым вероятностным распределением на области В. Выбор

этого распределения — интересный вопрос. Самый простой выбор — это равномерное распределение. Для его корректировки можно использовать некоторые априорные предположения: например, можно было бы предположить, что граничные значения с меньшей вероятностью обеспечивают хорошую подгонку (это предположение оказалось неверным). Другое предположение, также неверное, заключалось в том, что хорошие решения маловероятны при низких V и нулевом Бо. Третье предположение заключалось в том, что вероятность выше в середине области Б (в соседней окрестности эталонного решения); это тоже оказалось неверным. Таким образом, полагаться на априорные догадки рискованно с точки зрения производительности: в случае неправильного предположения случайный поиск может быть еще медленнее, чем поиск в фиксированном порядке. Оценим среднее время, необходимое для сбора всех хороших результатов.

Для того чтобы получить Д% хороших результатов, необходимо проверить, в среднем, Д% всех заданий.

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

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

5. Теоретико-игровая модель

Рассмотрим вычислительную систему, состоящую из т вычислительных узлов (которые являются игроками) С\,..., Ст, которая

решает набор заданий B. Каждый узел Cn характеризуется производительностью en: средним числом операций в единицу времени. Множество заданий B разобьем на n непересекающихся блоков B = Bi U ... U Bn с размерами N1,..., Nn.

Чтобы определить приоритет блока, необходимо оценить качество решений, которые можно в нем, предположительно, обнаружить. Выберем порог е и определим хорошие решения как удовлетворяющие неравенству F(s) < е, где s G D — точка сетки.

Тогда для каждого блока Bi можно определить его качество pi как

(4) pi = ^ (1 - F(s)/e) + , (x)+ =max(x, 0), 0 < i < n.

seBi s is computed

Если ни одна точка из Bi еще не посчитана, pi =0 по определению.

Приоритет блока Bi положим равным

1 + pi

-- -n--- 0 < ач < 1.

1 + р1 + ... + р„'

Предположим, что все задания в данном блоке В имеют одинаковую среднюю сложность т.е. одно и то же фиксированное число операций требуется для расчета задания. Узлы принимают решения в дискретные моменты времени 0, т, 2т,.... На каждом шаге каждый узел выбирает ровно один блок заданий. Когда узел завершает выделенный ему набор заданий, он возвращает результат на сервер и готов к принятию новой порции заданий. Пусть выигрыш узла С на шаге т есть количество полезной работы, выполненной за этот шаг. Оно зависит от числа выполненных заданий из выбранного блока, сложности этих заданий, приоритета блока и числа узлов, выбравших этот блок. Чем меньше узлов исследуют блок В одновременно, тем ценнее их работа. Пусть щ — число узлов, выбравших блок В на заданном шаге. Определим коэффициент заполненности £(щ) блока как

) = т + 1 — щ мг,

т

где Ма — число доступных заданий в блоке.

Выигрыш узла выбравшего блок В, определим как

иы = ^¿(^) тг.

у»

ТАБЛИЦА 2. Истинные доли «хороших» и «лучших» результатов в блоках; ИиЬ обозначают область «высоких» или «низких» значений.

HH • • HL • • LH • • LL • •

•• HH 0.047, 0.000 0.025, 0.000 0.070, 0.008 0.038, 0.003

•• HL 0.083, 0.000 0.045, 0.000 0.125, 0.269 0.067, 0.090

•• LH 0.047, 0.000 0.025, 0.000 0.070, 0.014 0.038, 0.005

•• LL 0.083, 0.000 0.045, 0.000 0.125, 0.458 0.067, 0.153

Отметим, что

(5) U-r = e-Uir Vr, 1 < r < n.

ei

Итак, на каждом шаге мы имеем игру заполнения (singleton congestion game) G = (C, B,U), где C — множество игроков (вычислительных узлов), B — множество блоков, из которых каждый игрок выбирает ровно один, а U — множество функций выигрыша. Стратегии — это векторы s = (si,..., sm), где компонента si = j задает номер блока Bj, выбранного игроком Ci.

Такие игры хорошо изучены. Существование по крайней мере одного равновесия по Нэшу в чистых стратегиях доказано для случая идентичных игроков в [13] и для случая идентичных блоков [14]. Равновесие означает, что ни один игрок не может увеличить свой выигрыш, в одиночку отклонившись от распределения. Предложены схемы, сходящиеся к равновесию за полиномиальное время [14,15].

Неоднородность системы усложняет модель: выигрыш игрока зависит не только от его производительности, но и сложности заданий в блоке. Однако при выбранном виде функций выигрыша и впол-нении условия (5) игра G имеет хотя бы одно равновесие в чистых стратегиях [16].

6. Приложение к обратной задаче

Разобьем диапазон изменения каждого параметра, кроме So, на две равные части: высокихи низких значений. Так, например, значения J < 11 низкие, а J > 11 — высокие. Диапазон So не разбивается. Тогда получается 16 блоков Bi,..., Bi6, отвечающих всевозможным комбинациям высоких и низких областей четырех параметров.

Для простоты предположим, что все узлы имеют одинаковую вычислительную мощность, принимаемую за единицу: ei = 1, а все

задания имеют одинаковую сложность в* = 1. Тогда функции выигрыша и г* = и* зависят только от блока.

Упомянутые выше схемы, сходящиеся к равновесию [14,15], могут применяться блоком принятия решений клиента для запроса заданий из выбранного блока от сервера. Рассмотрим другой подход, основанный на том, что выигрыши узлов в каждом блоке в равновесной ситуации совпадают: в противном случае узлы перейдут в более выгодный блок, выравнивая нагрузку. Выигрыши всех игроков и» все равны величине С/т; тогда

С

п* = т +1--——.

Сумма всех п* равна т, поэтому

(т + 1)п — т

C =

j=l *

При этом некоторые п*, возможно, окажутся отрицательны; это означает, что соотвествующие блоки настолько плохи, что требуемый выигрыш на них недостижим даже при минимальной нагрузке п* = 0. Выбирать эти блоки не имеет смысла, поэтому их исключаем из рассмотрения, уменьшаем п и пересчитываем п*. Алгоритм вычисляет неотрицательные, возможно, дробные загрузки блоков п*, которые могут использоваться сервером для распределения узлов по блокам. Также округленные значения могут служить приближениями решения. Мы тестировали упрощенное приближение: приравняв отрицательные п* нулю, положительные перенормируются:

т

Е n

n*>0

7. Результаты имитационного моделирования

Имитационное моделирование проводилось на основе статистики поиска, произведенного в работе [5].

В в таблице 3 представлены величины р*, оцененные после обработки всех узлов сетки и нормализованных по размеру блоков, далее обозначаемые р*. Очевидно, что некоторые блоки лучше других; также отметим, что есть блоки, которые хороши в целом, но имеют относительно низкое количество лучших результатов (ЬНЬН). Это дополнительная сложность для работы алгоритма, потому что хороший

Таблица 3. Средние значения качества блоков p^.

HH • • HL •• LH • • LL • •

•• HH 0.85 0.65 0.66 0.68

•• HL 0.77 0.54 0.78 0.61

•• LH 0.74 0.84 0.93 0.85

•• LL 0.85 0.77 0.92 0.70

блок «привлечет внимание», хотя в итоге не даст много наилучших результатов.

Мы оцениваем эффективность алгоритма в среднем, т. е. в предположении, что pi, полученные на основе завершенных заданий, соответствует статистическому среднему: pi = pJiNidone, где Ndone — число выполняемых заданий в блоке i.

Используя предлагаемый алгоритм планирования заданий, 90% лучших результатов находятся с помощью Desktop Grid после выполнения 85% шагов; 75% — 63% шагов; 50% — менее 42% шагов; наконец, 25% результатов найдены после выполнения 21% шагов. Поток наилучших результатов показан на рис. 2. На рисунке предложенный алгоритм сравнивается с двумя другими политиками планирования: случайный поиск на основе распределения качества и «лучший блок выбирается первым».

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

Моделирование показало, что начальное равномерное распределение вычислительных узлов над блоками заданий быстро сходится к стабильной конфигурации. Некоторые блоки остаются неисследованными, а более перспективные становятся пустыми. Лучшие блоки изучаются интенсивнее, так что скоро график становится равномерным на лучших узлах и нулевым на худших. Когда в большинстве изученных блоков больше нет заданий, график меняется и сходится к другому, исследуя менее перспективные блоки. Градиентный скачок на рис. 2

F 0 10 20 30 40 50 60 70 80 90 100 шаги, %

1 — теоретико-игровой подход;

2 — число узлов на блок пропорционально

приоритету блока;

3 — выбирается блок с высшим приоритетом.

Рис. 2. Число хороших результатов, полученных тремя алгоритмами

Таблица 4. Стабильные конфигурации. Номера блоков слева направо, сверху вниз таблица 2.

Блок 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

2-ой шаг 5.0 0.0 0.0 0.0 2.6 0.0 2.9 0.0 1.6 4.7 6.9 5.0 5.0 2.6 6.7 0.2

Равновесие 1 4.3 0.0 0.0 0.0 4.3 0.0 4.3 0.0 4.3 4.3 4.3 4.3 4.3 4.3 4.3 0.0

Равновесие 2 0.0 7.8 7.8 7.8 0.0 7.7 0.0 7.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 7.2

отмечает этот момент: после него интенсивность получения хороших результатов уменьшается.

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

Предлагаемый алгоритм планирования заданий является гибким: он может самостоятельно регулировать свою работу «на лету», когда поступает новая информация, вычислительные узлы покидают или присоединяются к Desktop Grid или меняется конфигурация блоков.

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

Выбор функции полезности является важным вопросом. В изученном примере худшие блоки почти не изучались до тех пор, пока не были закончены лучшие блоки. Кажется более безопасным направить хотя бы несколько узлов на изучение плохие блоков, чтобы накапливать и обновлять статистику. Тем не менее, несколько шагов можно выполнить

в соответствии с равномерным расписанием для сбора информации о качестве блоков.

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

Заключение

В работе мы рассматриваем задачу идентификации параметров и решаем ее методом параллельного сканирования пространства параметров. Чтобы изучить методы эффективного поиска, мы фокусируем внимание на простом, но полезном примере: относительно небольшая сетка в пространстве параметров была проверена в среде Enterprise Desktop Grid небольшого размера.

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

Список литературы

[1] R. C. Aster, B. Borchers, C. H. Thurber. Parameter estimation and inverse problems, Elsevier, 2005, 301 p. t36

[2] А. Н. Тихонов, В. Я. Арсенин. Методы -решения некорректных задач, Наука, М., 1979, 228 с. t36

[3] I. Foster, C. Kesselman. The grid: Blueprint for a new computing infrastructure, Morgan Kaufmann Inc., San Francisco, CA, USA, 1999.

t37

[4] I. Foster, C. Kesselman, S. Tuecke. "The anatomy of the grid: Enabling scalable virtual organizations", International J. Supercomputer Applications, 15:3 (2001), pp. 200-222. I 137

[5] И. А. Чернов, E. E. Ивашко, Н. Н. Никитина, И. Е. Габис. «Численная идентификация модели дегидрирования в грид-системе на базе BOINC», Компьютерные исследования и моделирование, 5:1 (2013), с. 37-45. url;

^37,42,47

[6] I. A. Chernov, I. E. Gabis. "Mathematical modelling of hydride formation", Mathematical Modeling, Clustering Algorithms and Applications, Mathematics

Research Developments, ed. C. L. Wilson, Nova Science Publishers, 2011, pp. 203-246. tas

[7] I. E. Gabis, I. A. Chernov, Kinetics of decomposition of binary metal hydrides, Chemistry Research and Applications, Nova Science Publishers, 2017, 137 p. tas

[8] I. E. Gabis, A. P. Voyt, I. A. Chernov, V. G. Kuznetsov, A. P. Baraban, D. I. Elets, M. A. Dobrotvorsky. "Ultraviolet activation of thermal decomposition of Q-alane", International .Journal of Hydrogen Energy, 37:19 (2012), pp. 14405-14412. t38

[9] С. В. Маничева, И. А. Чернов. «Математическая модель гидрид-ного фазового перехода в частице порошка симметричной формы», Компьютерные исследования и моделирование, 4:3 (2012), с. 569-584 (in Russian). ,url 38

[10] D. P. Anderson. "BOINC: A system for public-resource computing and storage", GRID '04 Proceedings of the 5th IEEE/ACM International Workshop on Grid. Computing, IEEE Computer Society, 2004, pp. 4-10.

t41

[11] E. Ivashko. "Enterprise desktop grids", CEUR Workshop Proceedings, vol. 1502, Proceedings of the Second International Conference BOINC-based High Performance Computing: Fundamental Research and Development (BOINC':FAST 2015), 2015, pp. 16-21. url 41

[12] M. A. Khan. "A survey of computation offloading strategies for performance improvement of applications running on mobile devices", .Journal of Network and Computer Applications, 56 (2015), pp. 28-40. I ' 41

[13] R. W. Rosenthal. "A class of games possessing pure-strategy Nash equilibria", International Journal of Game Theory, 2:1 (1973), pp. 65-67. 46

[14] I. Milchtaich. "Congestion games with player-specific payoff functions", Games and Economic Behavior, 13:1 (1996), pp. 111-124. 46 47

[15] S. Ieong, R. McGrew, E. Nudelman, Y. Shoham, Q. Sun. "Fast and compact: A simple class of congestion games", AAAI'05 Proceedings of the 20th national conference on Artificial intelligence. V. 2, 2005, pp. 489-494. url

t46,47

[16] M. Gairing, M. Klimm. "Congestion games with player-specific costs revisited", Algorithmic Game Theory, SAGT 2013, Lecture Notes in Computer Science, vol. 8146, ed. B. Vocking, Springer, Berlin-Heidelberg, 2013, pp. 98-109. > 146

Поступила в редакцию 29.12.2017 Переработана 23.10.2018

Опубликована 01.11.2018

Рекомендовал к публикации Программный комитет

Шестого национального суперкомпьютерного форума НСКФ-2017

Пример ссылки на эту публикацию:

И. А. Чернов, Н. Н. Никитина. «Эффективное сканирование пространства параметров в Desktop Grid для идентификации модели разложения гидридов металлов». Программные системы: теория и приложения, 2018, 9:4(39), с. 35-52. 10.25209/2079-3316-2018-9-4-35-52

URL http://psta.psiras.ru/read/psta2018_4_35-52.pdf

Об авторах:

И. А. Чернов

Кандидат физико-математических наук, старший научный сотрудник ИПМИ КарНЦ РАН. Доцент Кафедры математического анализа ПетрГУ. Эксперт в области математического моделирования физических процессов и краевых задач математической физики. Область научных интересов: вычислительная математика, моделирование разложения гидридов металлов, численное моделирование крупномасштабной динамики моря.

I

e-mail:

0000-0001-7479-9079 chernov@krc.karelia.ru

Н. Н. Никитина

Кандидат технических наук, младший научный сотрудник ИПМИ КарНЦ РАН. Область научных интересов: высокопроизводительные и распределенные вычисления, планирование заданий, Desktop Grid, приложения математической теории игр.

МИ 0000-0002-0538-2939 e-mail: nikitina@krc.karelia.ru

Sample citation of this publication:

Ilya Chernov, Natalia Nikitina. "Effective scanning of parameter space in a Desktop Grid for identification of a hydride decomposition model". Program Systems: Theory and Applications, 2018, 9:4(39), pp. 35-52. (In Russian).

10.25209/2079-3316-2018-9-4-35-52 (url) http: //psta. psiras . ru/read/psta2018_4_35- 52 . pdf

The same article in English: d 10.25209/2079-3316-2018-9-4-53-68