Информационная поддержка задач многомасштабного моделирования композиционных материалов
К.К.Абгарян, Е.С.Гаврилов, А.М.Марасанов
Аннотация — В работе представлен многокомпонентный программный комплекс иерархической структуры. Он применяется в задачах многомасштабного компьютерного
моделирования структурных свойств
композиционных материалов. Рассматривается архитектура системы информационной поддержки и ее описание. Интеграционная оболочка универсальна, то есть предназначена для обслуживания всех доступных модулей информационной системы со своими адаптерами. Такой подход обеспечивает общий пользовательский интерфейс, поддерживает специфичные для окружения настройки запуска, сервисы работы с базой данных и метаданными, а также позволяет моделировать сценарии запуска нескольких модулей последовательно или параллельно.
Ключевые слова— многомасштабное моделирование, композиционные материалы, иерархическая структура, программный комплекс.
I. Введение
Архитектура системы информационной поддержки многомасштабного моделирования в ресурсоемких приложениях компьютерного моделирования композиционных материалов должна соответствовать функциональным требованиям предметной области и во многом базироваться на представлениях, исходящих от постановки задачи, ее физического смысла и математического подхода к ее решению.
Необходимо отметить, что сама по себе многомасштабность (многоуровневость)
решаемых задач предполагает активное применение иерархических структур для описания базовых объектов системы (узлов
Работа выполнена в ФИЦ ИУ РАН и МАИ при поддержке РФФИ, грант № 15-08-08817 а
К.К.Абгарян работает в ФИЦ ИУ РАН и МАИ (e-mail: kristal83@mail.ru).
Е.В.Гаврилов работает в ФИЦ ИУ РАН и МАИ (e-mail: eugavrilov@gmail. com)
М.А.Марасанов работает в МАИ (e-mail: mar@mai.ru).
абстрактного дерева), установление их подчиненности и последовательности обхода (доступности наследуемых свойств). Действительно, иерархическая модель неплохо описывает организационные структуры, позволяет построить достаточно эффективное управление, неплохо представляет
множественные связи от одного родительского узла к дочерним. Однако известные недостатки такого подхода по полноценному установлению сложных горизонтальных связей и удобного описания связей многие - ко - многим, существенно ограничивают выразительность и гибкость иерархических представлений как элементов и объектов самой предметной области, так и описание средств их информационного обеспечения.
Естественным "улучшением" свойств иерархического представления можно считать сетевую модель. В последней нет четкого разграничения уровней, а значит, возможны сколь угодно сложные горизонтальные связи, узлы (объекты предметной области) -достаточно независимы, а дуги между ними могут быть произвольными, объектными, программируемыми, семантически
нагруженными. Однако сетевое
моделирование предполагает формирование, описание, хранение и обработку значительного объема вспомогательной информации по объектам предметной области. Она потребуется для разрешения конфликтов взаимодействия и циклов при обходе вершин сетевого графа, а также, для глубокого семантического анализа, целью которого является выбор оптимального перехода из одного состояния в другое. Прозрачность сценариев для решения той или иной прикладной задачи в такой сети - не достаточная для принятия однозначного решения, а язык описания и спецификации объектов предметной области может
оказаться, на практике, излишне
усложненным для исследователей. Таким образом, "накладные расходы" могут нивелировать удобства и динамичность сетевого представления.
В настоящее время достаточно часто встречаются исследования [1-3] в которых формальная спецификация информационных объектов предметной области формулируется в терминах конечно-множественных представлений, которые, в частности, могут быть реализованы посредством доменных моделей - конечных наборов(множеств) данных с поддержкой операций по их обработке.
II Архитектура системы
Информационная поддержка
многоуровневого моделирования представляет собой многоступенчатый процесс поэтапного решения прикладной задачи с использованием инструментов интеграционной платформы, которая объединяет и управляет контейнерами вычислительных модулей, потоками локальных и глобальных данных, а также импортом (экспортом) связующих эти этапы параметров.
За основу описания архитектурных решений системы многоуровневого моделирования предлагается взять абстрактную форму взаимодействующих слоев представлений (см. рис.1).
В основе архитектуры (рис. 1) лежит абстрактный слой концептуальных
представлений вычислительных модулей системы. Данное требование определяет как стратегию интеграции приложений, так и расширение круга решаемых задач, т.е. спектра исследований. Основной задачей концептуального представления является описание отдельно взятого вычислительного модуля в контексте его последующего использования как элемента архитектуры системы для реализации многоуровневой вычислительной модели инструментальными средствами интеграционной платформы. Оно объединяет наиболее общие (без деталей реализации) и максимально независимые свойства модуля, которые на логическом уровне могут отображаться, с одной стороны, на машинно- ориентированную реализацию, с другой стороны - работать под управлением различных интерфейсов. Одному
вычислительному модулю может быть поставлено в соответствие несколько различных интерфейсов его использования и технологических настроек на тот или иной аппаратный вычислитель.
Рис. 1 Уровни абстракции
Абстракции внешнего представления определяются множеством интерфейсов максимально приближенных к понятийному базису исследователей. В силу различной специфики могут быть выбраны варианты пакетного, диалогового, ручного или полуавтоматического взаимодействия
пользователей системы с различными приложениями в рамках платформенной стратегии интеграции. Это оказывается достаточно удобно, например, для сочетания рабочих прототипов модулей параллельной отладки и внесения изменений с многочасовыми параметрическими расчетами на графических процессорах или кластерных архитектурах. Диалоговый интерфейс является предпочтительным в случаях проведения исследовательских расчетов с часто варьируемыми параметрами(например
оптимизационных), пакетный режим, помимо отладки, применяется в случаях подключения стандартных библиотек(например VASP), удаленного расчета на
высокопроизводительных ЭВМ или для выполнения серий однотипных расчетов с незначительной вариацией параметров.
Языковый абстрактный слой (рис.1) соответствует представлениям, выражающим тот или иной интерфейс. С одним интерфейсом могут быть связаны несколько языковых представлений. Они подразделяются на внутренние и внешние.
К внутренним относятся, прежде всего, наборы шаблонов интеграции согласно правилам платформы. Цель разработки таких шаблонов - унифицировать операции ввода/вывода, загрузки данных из базы, обработку, визуализацию и сохранение результатов расчетов, т.е. сделать работу с вычислительными модулями более удобной и быстрой, а также обеспечить возможность включения в контур системы новых вычислительных модулей и реализовать связь вычислительных модулей по управлению и данным в процессе многоуровневого моделирования. Внутренними являются также и стили пользовательского интерфейса и шаблоны описания локальных параметров ввода/вывода. В качестве базового языка разметки экранных форм используется XAML, поддерживаемый технологией WPF, а стилем пользовательского языка ввода/ вывода -буферный обмен строго форматированным текстовым контентом. Единого стиля или языка графической визуализации в системе нет, поддерживаются различные
пользовательские предпочтения (HTML 5, Microsoft XNA, OpenGL и др.).
К внешним спецификациям относятся форматы импортируемых в систему файлов с данными из сторонних программных средств. Например, таких как Material Design, Material Studio, пакет Digimat, программный комплекс конечно-элементных расчётов Femap with NX.Nastran, российский комплекс для проведения прочностных расчетов FydeSys и другие. Также распространенные в
предметной области стандарты типа cif или форматы пакета VASP[4-6]. Для распознавания, разбора и загрузки данных из фалов стандартных внешних спецификаций в рамках платформы используются парсеры.
Слой физических представлений (рис. 1) тесно связан с вычислительными ресурсами локального или удаленного
позиционирования, а также с разнообразием современных вычислительных архитектур. Так простые задачи исследователь может решать
на локальном вычислителе(ПК или ноутбук) с ограниченными объемами оперативной памяти и производительности CPU. Реализован вариант CUDA-локализации отдельных вычислительных модулей, хорошо
распараллеливаемых на матричных операциях, в вычислительную среду графических процессоров (GPU). Предусмотрен также запуск вычислительного процесса на удаленных высокопроизводительных серверах, включая кластерные или GRID-архитектуры , а также с использованием вычислительных возможностей пакета VASP.
На рис. 2 представлена обобщенная структура типового вычислительного модуля, удовлетворяющего требованиям
интеграционной платформы и правилам декомпозиции внутренних элементов.
Семантический разбор и идентификация входных (выходных) данных осуществляется на уровне обработчика параметров (рис. 2).
Входные и выходные параметры подразделяются на локальные, общие и управляющие. Локальные параметры обычно необходимы для работы только одного конкретного модуля, они указываются в списке формальных(фактических) параметров или считываются(записываются) из(в) буферного(ый) файл перед началом или концом рабочего сеанса.
Рис. 2 Типовая структура вычислительного модуля системы
Общие данные могут запрашиваться различными вычислительными модулями. Они
декомпозированы в информационные модели и хранятся в базе данных. Их загрузка в систему соответствует вычислительному сценарию, инициируется и контролируется планировщиком.
Управляющие параметры определяют рабочее задание планировщику
вычислительного эксперимента(рис. 2) по построению алгоритмической
последовательности и управлению блоками данных.
Компонента планировщика вычислениями (рис. 2) может быть реализована авторами вычислительного модуля в произвольном стиле и с использованием произвольной технологии, однако она должна удовлетворять интеграционным требованиям и, как правило, содержит три вида управления:
- диспетчеризацию вычислительным процессом согласно логике приложения:
- управление и контроль вызова различных вычислительных алгоритмов внутри модуля:
- управление и контроль над поставщиком локальных и общих данных.
Планировщик интегрируется в платформу информационной системы и в информационную поддержку многоуровневого моделирования посредством управляющих параметров и подчиняется правилам внутренней и внешней логики организации вычислений.
Многопотоковая шина (рис. 2) является логическим связующим элементом между различными программными компонентами вычислительного модуля. Мониторинг ресурсов и соответствующие спецификации управления позволяют выявить для каждого алгоритма критические расчетные элементы (вычислительные ядра) и проанализировать ресурсоемкость и информационные потребности для каждого из них. Результатом такого анализа являются рекомендации по более эффективному распараллеливанию вычислительного процесса и выявление точек необходимой синхронизации, а также оценок потерь, простоев и ожиданий. Что, в свою очередь, делает более осмысленным использование программных и аппаратных средств активного распараллеливания для
многопроцессорных высокопроизводительных вычислителей.
Иерархия абстрактных слоев платформы интеграции приложений, архитектура информационной поддержки и описание вычислительных модулей, подчиняются строгой терминологической схеме
многоуровневого моделирования.
Математические модели (ММ) дополненные моделями данных (DM) реализованы в виде оптимизационных алгоритмов^). При этом сами алгоритмы делятся на
специализированные (используются только с одной ММ на одном уровне иерархии) и универсальные(могут быть использованы с разными ММ на разных уровнях иерархии). Оптимизационные модели образуют композиции (К), которым соответствует вычислительный(расчетный) модуль. На верхнем уровне из К собираются многомасштабные композиции(МК), которые интегрируются в систему информационной поддержки и группируются в ней по логическому признаку принадлежности к той или иной задаче для ее поэтапного решения.
Для решения задачи компьютерного моделирования композитных систем строится МК, состоящая из разноуровневых К, каждой из которых соответствует свой вычислительный модуль, включающий ММ(например, в вариационной постановке), DM(либо одного масштабного
уровня(локальные), либо работающие на разных уровнях (глобальные)),
А( специализированные или универсальные).
Таким образом, информационная поддержка задачи компьютерного моделирования композитных систем интегрирует в универсальную платформу, соответствующую МК.
В контексте формализации представлений доменной модели, описаний вычислительного модуля и общей архитектуры системы информационной поддержки интеграционной платформы многоуровневого моделирования композитных систем разработана и реализована соответствующая программно-компонентная оболочка рис. 3.
Интеграционная оболочка
Адаптер вычислительного модуля
Интерфейс пользователя
Параметры и конфигурации запуска
Профили запуска выч ислительных модулей
Вычислительный
Форма ввода параметров Входные Результаты Визуализация результатов расчета
параметры модуль расчета
Управление справочными данными модуля
База данных параметров и результатов расчетов
Сценарии запуска расчетов
Метаданные параметров и результатов
Рис. 3 Архитектура информационно-вычислительной системы
На верхнем уровне (рис. 3) показана реализация абстрактных слоев внешних и физических представлений (интерфейсов и профилей запуска см. рис.1), в центре архитектуры - адаптер вычислительного модуля, соответствующий концептуальному
представлению (источнику концептуальных требований рис.1), дополненный семантикой сценариев и моделями данных.
III Заключение
Интеграционная оболочка, представленная в данной работе универсальна, то есть она предназначена для обслуживания всех доступных модулей информационной системы со своими адаптерами. Она обеспечивает общий пользовательский интерфейс, поддерживает специфичные для окружения настройки запуска,
сервисы работы с базой данных и метаданными, а также позволяет моделировать сценарии запуска нескольких модулей последовательно или параллельно.
Библиография
[1] Eric Evans "Domain-Driven Design: Tackling Complexity in the Heart of Software", 2004, Addison Wesley, ISBN-13: 978-0321125217, ISBN-10: 0321125215
[2] Абгарян К.К.,Гаврилов Е.С., Сеченых П.А. Применение документно-ориентированной СУБД для хранения данных вычислительных экспериментов. // Материалы XX Международной конференции по механике и прикладным программным системам (ВМСППС'2017), 24-31 мая 2017 г., Алушта. с.125-127
[3] Абгарян К.К.,Гаврилов Е.С., Марасанов А.М.Информационная поддержка задач компьютерного моделирования высокоскоростного взаимодействия твердых тел. // International Journal of Open Information Technologies ISSN: 2307-8162 vol. 2, no. 12, 2014 http://injoit.org/index.php/j1/article/view/167 /122
[4] P. Hohenberg, W. Kohn, Phys. Rev. 136, B864,
1964.
[5] W. Kohn, L. J. Sham, Phys. Rev. 140, A1133,
1965.
[6] J. Hafner, G. Kresse, A. Eichler, R. Lorentz, R. Hirschl, M. Marsman, Vasp workshop. http: //cms.mpi .univie. ac.at/vasp -rkshop/slides/documentation.htm
Multiscale modeling for composite materials computer simulation support
K.K. Abgaryan, E.S.Gavrilov, A.M.Marasanov
Abstract -The paper describes information system architecture to support multicomponent software of hierarchical structure. Information system is applicable to multiscale computer modeling of composite materials structural properties. Integration GUI shell is universal and designed to integrate all available modules of the information system with corresponding module adapters. This approach provides a common user interface that supports specific environment settings to launch modules, database and metadata services, and also allows user to execute scenarios that run modules in sequence or in parallel.
Keywords - multicale modeling, composite materials, hierarchical structure, software suite
First A. Author
Abgarian Karine K., head of the department at the Dorodnicyn Computing Centre, FRC CSC RAS, candidate of Physics and Mathematics Science. e-mail: kristal83@mail.ru