Экзапроблемы математического моделирования

УДК 519.6

ЭКЗАПРОБЛЕМЫ МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ

В. П. Ильин

THE EXAPROBLEMS OF MATHEMATICAL MODELING

V.P. Iliyn

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

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

The questions of the development of scientific software for solving mathematical modeling problems on the multi-processor computational systems are considered. The analysis and classification of the mathematical statements from various applications, as well as methods and technologies for the main stages of numerical experiments are presented. The conception and the structure of the Basic System of Modeling (BSM), which includes the problem-independent components for geometric and functional modeling, grid generation, approximation of the initial-boundary value problems, algebraic solvers, post-processing and visualization of the results, and control of computational process, are proposed. The applied program products can be constructed from the described components.

Keywords: extremal computing, interdisciplinary direct and inverse problems, mathematical modeling, computational methods and technologies, basic system of modeling

1. Введение

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

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

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

Кардинально меняется понятие «большой» задачи, предполагающей уже применение сеток с миллионами, десятками и сотнями миллионов узлов, для решения которой численные методы становятся принципиально параллельными и ориентированными на МВС с сотнями и тысячами процессоров. Проблема обеспечения высокой производительности и масштабируемости крупномасштабных вычислений требует углубленного узучения структуры алгоритмов и их отображения на архитектуру ЭВМ, а также создание и эффективное использование современных программных технологий, см. [3-7]. Хотя первый в мире компьютер петафлопной производительности запущен только в 2008 г., уже объявлено грядущее появление в 2019 г. «экзафлопника» с быстродействием операций в секунду (1000 петафлоп!, [5]). Данный прогноз представляется вполне реальным, что означает создание в недалеком будущем МВС с миллиардами вычислительных ядер. В связи с этим по инициативе Дж.Донгарры и П.Бекмана сформирован международный Exascale Software Project, миссией которого является выработка новых концепций и моделей программирования для компьютеров экстремального и экзафлопного уровня (авторами [5] такое программное обеспечение названо X-stack). Именно глобальные проблемы программного обеспечения, включая операционные системы, компиляторы, базы данных и всевозможные инструментарии, являются главными на ближайшее десятилетие, поскольку существующее «софтверное» оснащение вычислительных систем своими корнями связано с последовательными вычислениями на фон-неймановской машине, а наступающая эра массового параллелизма неизбежно требует перехода количества в качество. Основной заявленный принцип построения нового программного обеспечения - создание открытых (Open Source) библиотек для виртуальных машин. Эта стратегия естественным образом соответствует исторически складывающейся методологии развития прикладного программного обеспечения задач математического моделирования. Чтобы понять возникающие на текущем этапе проблемы, необходимо оценить тенденции возникающих практических задач, эволюцию современных вычислительных методов и новые технологические требования, возникающие из особенностей развития компьютерных архитектур.

2. Прикладные задачи и математические модели

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

В терминах уравнений математической физики, или механики сплошных сред (или тео-

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

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

Иллюстрация совсем другого рода - это комплексное моделирование технологических процессов в алюминиевом электролизере [9], представляющем собой в определенном смысле сложный организм, длительное и успешное функционирование которого требует тщательного внимания и управления. Здесь подаются огромные токи и загружается сырье, из которого выплавляется периодически отгружаемый жидкий металл. Конечная практическая проблема в данном случае - оптимизация производственного режима, обеспечивающего минимизацию целевого функционала, т.е. отношение эксплуатационных расходов (стоимость электроэнергии, материалов, ремонтных работ и т.д.) к стоимости получаемого продукта, характеризуемой итоговым объемом алюминия определенного качества. При этом необходимо удовлетворять различным эксплуатационным ограничениям, например, на температурные напряжения, во избежание разрушения конструкции. Такая обратная задача включает решение множества прямых задач, каждая из которых описывается джентльменским набором уравнений математической физики: Максвелла (электромагнетизм), Ламе (упругость и прочность), Навье - Стокса (циркуляции жидкого металла и электролита), теплоперено-са с фазовыми переходами, химической кинетики. Решать эти взаимосвязанные уравнения необходимо в реальных трехмерных областях сложной конфигурации. Достаточно сказать, что компьютерная модель электролизера (среднего уровня детализации) насчитывает более 500 геометрических объектов и 30 различных материалов (анодные и катодные узлы, графитовые блоки, футировочные материалы, корпус и т.п.). К этому следует добавить, что в заводском цехе работает «линейка» из электрически взаимосвязанных более чем 100 электролизеров, магнитные поля которых существенно влияют друг на друга.

Можно привести много других больших задач, решение которых с необходимой точностью (на практике постоянно ужесточающейся) требует привлечения вычислительных ресурсов пета- и экзафлопного масштаба (будем их называть «экстремальными», или X-ресурсами). Подчеркнем еще раз общую для них тенденцию: серьезные задачи являются

междисциплинарными и обратными, а расчет какого-то одного поля представляет собой частный или методический интерес.

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

Пусть й = {м/(, //. = 1,rrij } есть вектор-функция, у которой каждая скалярная составляющая uß зависит от вектора пространственных координат х = (xi,x2,x$) и, возможно, от времени t. Система координат может быть декартовая, цилиндрическая или сферическая (или какая-то специальная), а количество независимых пространственных переменных d (размерность задачи) может уменьшаться с трех до двух или одного.

Обозначим через Ö = fijjr замкнутую ограниченную область евклидового пространства с границей Г, в которой определена функция u{x,t) для каждого момента времени О < t < Т <оо. Предполагается, что u(x,t) принадлежит некоторому функциональному пространству, в котором имеют смысл операторы L и I. Требуется в расчетной области Ü найти решение системы дифференциальных уравнений с известной функцией

/ = (Л.,/* = 1

Lu = f

удовлетворяющее заданным граничным и начальным условиям

lu = g

В качестве примера можно привести дифференциальный оператор второго порядка

О

L = А— + VBV + CV + D,

ot

где V есть градиент, а А, В, С, D - некоторые квадратные матрицы порядка т, элементы которых суть или постоянные, или функции х, t. или зависят от и. В зависимости от конкретного вида матричных коэффициентов, математическая постановка (1) - (3)формально описывает стационарные или нестационарные, линейные или нелинейные процессы и явления в огромном числе приложений. Расчетную область будем всегда считать связной (хотя формально это и не обязательно), иначе задача (1) - (2) распадается на независимые подзадачи.

Простейшей иллюстрацией граничных условий является смешанная краевая задача, в которой граница области Г состоит из частей Гд,Гдг, на которых заданы условия разных типов:

и ~ 9D, х G Гр; Djyu + A]yVnu = дм, х £ Гдг,

где Dpf и An - матрицы (в общем случае прямоугольные), а дв^ди ~~ вектор-функции, элементы которых или известны, или зависят от искомых решений ( Vn - оператор дифференцирования по направлению внешней нормали к границе).

Вместо классического дифференциального описания (1) - (4) исходная задача может быть представлена в эквивалентной (в каком-то смысле) вариационной постановке для обобщенного решения. Кроме того, вместо дифференциальных могут фигурировать интегральные уравнения, а в общем случае - системы дифференциально-интегральных равенств и/или неравенств.

Приведенная выше формулировка определяет прямые задачи математического моделирования. Исходные данные каждой из них можно определить зависящими от вектора параметров р = (р 1, ...,рто), компоненты которого надо оптимизировать по условию минимума описанного заранее целевого функционала от определенного на параметризованном решении и{х,Ьр) поставленной задачи (см. [10] и цитируемые там работы):

В этом случае описание прямой задачи фигурирует формально как дополнительное ограничение в виде уравнения состояния

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

Расчетную область можно представить как объединение Ыц > 1 замкнутых подобластей, т.е. О, = У йк, П &к' = 0) ПРИ к ф к', где к, к1 — 1,..., N1), в каждой из которых могут

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

Если внешнее пространство (дополнение) по отношению к П обозначить формально как подобласть Г2о = На/&, то внешняя граница расчетной области представляется в виде

Если подобласть - трехмерный объект, имеющий свой ненулевой объем, то ее граница в качестве меры измерения имеет площадь. Каждый из граничных фрагментов внешней или внутренней границы (на каждом из которых ставится какое-то краевое условие) будем считать кусочно-гладкой поверхностью, т.е. состоящей из совокупности гладких поверхностных сегментов, характеризуемых своим уравнением. Граница расчетной области является в общем случае многосвязной, или конечносвязной, т.е. состоящей из конечного числа связных множеств. Граница является односвязной, если сама расчетная область не имеет «дыр».

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

Фо(й(х, Ьрорь)) = шт Ф0(Й(ж, Щ),

р

щр) = /, р= {рк}.

к

к'

г = г(е) = иг*,о, а граница каждой подобласти может быть разбита на ее внешнюю и к

внутреннюю части, т.е.

к'ф О

ребер и вершин назовем каркасом области, который формально можно представить в виде многомерного графа.

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

3. Вычислительные методы и технологии

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

а. Дискретизация математической модели

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

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

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

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

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

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

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

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

Рассмотренные выше принципы дискретизации, т.е. перехода от функций непрерывного аргумента к сеточным функциям, связанным с узлами, ребрами и другими объектами, базируются на эйлеровом подходе. Однако при моделировании движущейся среды оказывается более удобно лагранжевая система координат, порождающая многочисленные варианты методов больших частиц. Широко распространены алгоритмы «частиц в ячейках», использующие сочетание эйлеровых сеток с дискретизацией потоков субстанции. Имеются также и «бессеточные» методы с чисто лагранжевым описанием процессов.

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

б. Алгоритмы аппроксимации

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

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

- СЛАУ или СНАУ). Этот прием значительно упрощает программную реализацию и естественным образом обеспечивает эффективное распараллеливание данного вычислительного этапа.

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

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

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

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

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

• по конфигурации сеточного шаблона, т.е. совокупности узлов, участвующих в одном уравнении, получаемом в итоге формирования алгебраических систем; наиболее экономичными оказываются компактные схемы, в которых участвуют только наиболее близкие геометрически соседние узлы; как правило, повышение порядка аппроксимации ведет к «растягиванию» сеточного шаблона и расширению ленточной структуры итоговых матриц, так что с точки зрения общей эффективности алгоритмов приходится искать «золотую середину».

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

в. Задачи вычислительной линейной алгебры

Если решаемая проблема в целом является нестационарной и нелинейной, все равно после этапов временной аппроксимации и квазилинеаризации мы приходим к задачам линейной алгебры, из которых наиболее типичны - это решение СЛАУ или проблемы собственных значений (как правило, частичной, т.е. вычисление нескольких собственных чисел и векторов).

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

Вычислительная линейная алгебра - хорошо продвинутая математическая дисциплина

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

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

Алгебраические задачи - «узкое горлышко» математического моделирования, поскольку потребляемые вычислительные ресурсы нелинейно растут с увеличением порядка N. Поэтому здесь особенно актуально распараллеливание алгоритмов на МВС с общей, разделенной и гибридной памятью. Ключевым принципом является в данном случае алгебраическая декомпозиция областей, или «разделяй и властвуй».

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

г. Методы оптимизации и решения нелинейных уравнений

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

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

д. Постобработка и визуализация результатов, геометрическое и функциональное моделирование

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

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

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

4. О концепциях прикладного программного обеспечения

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

С точки зрения концепции современного прикладного математического и программного обеспечения кардинальным представляется создание автономных библиотек алгоритмов и инструментариев, поддерживающих различные технологические этапы моделирования (генераторы сеток, аппроксиматоры и т.д.), взаимодействующих между собой на основе разработки согласованных структур данных (геометрических, сеточных, алгебраических, графических). Такой модульный принцип позволит осуществить независимую реализацию, развитие и переиспользование продуктов коллективов разработчиков, а также их адаптацию на вновь проявляемым платформам МВС. Кроме того, эта модель ориентирована на сборку конкретных приложений из представительного набора программных блоков наподобие детского конструктора, что должно обеспечить такие трудно совместимые категории, как универсальность и эффективность. Разумеется, достижение этой цели требует координации усилий вычислительного сообщества, но примеры успешного сотрудничества такого рода уже имеются: в области линейной алгебры общепринятыми являются форматы и стили пакетов BLAS, SPARSE BLAS, а также коллекции типовых матриц для сравнительного тестирования.

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

• система геометрического и функционального моделирования (СГФМ), реализующая непосредственный входной пользовательский интерфейс и формирующая в результате своей работы структуры геометрических и функциональных данных (ГСД и ФСД), причем последние являются в определенном смысле вторичными, так как задаются «с привязкой» к объектам ГСД; ряд соответствующих вопросов геометрического и функционального моделирования рассмотрены в [11];

• библиотека генераторов квазиструктурированных сеток (БГС), функционирующая на основе анализа ГСД, а также ФСД, и формирующая, в свою очередь, сеточную структуру данных (ССД), которая полностью и однозначно определяет итоги дискретизации расчетной области, включая взаимосвязи сеточных объектов с функциональными;

• система программной реализации различных аппроксимационных алгоритмов исходной задачи (САЗ), на основе уже построенных ССД и ФСД, результатом исполнения которой является алгебраическая структура данных (АСД), представляющая дискретизованную модель исходной задачи;

• библиотека алгебраических методов (БАМ), осуществляющая на базе ССД решение СЛАУ или СНАУ, проблемы собственных значений или вычисление рекуррентных последовательностей в нестационарных задачах (некоторые проблемы разработки высокопроизводительных алгоритмов решения СЛАУ рассмотрены в [12, 13]);

• постобработка и визуализация результатов моделирования (ПВР), ориентированная на совокупность конкретных способов представления сеточных функций в рамках БСМ и использующая имеющиеся в широком распространении внешние графические редакторы, а также системы автоматизации проектирования (САД, САМ, CAE, PLM);

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

Схема взаимодействия функциональных и информационных компонент БСМ представлена на рисунке.

Структура функциональных и информационных компонент БСМ

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

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

обеспечение крупномасштабируемого параллелизма на МВС экстремальной производительности, оптимизация программного кода на алгоритмическом и системном уровне, организация массовых экспериментов на центрах коллективного пользования (Data Centers) по технологиям «облачных» вычислений (Cloud Computing), см. [4 - 7], и т.д.

Работа поддержана грантами РФФИ Ns008-01-00526 и ОМН РАН Ml.3.4

Статья рекомендована к печати программным комитетом международной научной конференции «Параллельные вычислительные технологии 2010» http://agora.guru.ru/pavt.

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

1. Годунов, С.К. Элементы механики сплошных сред и законы сохранения / С.К. Годунов, Е.И. Роменский. - Новосибирск: Науч. кн., 1998.

2. Hiptmair, R. Finite elements in computational electromagnetism / R. Hiptmair. - Acta Numérica, Cambridge Univ. Press., 2002. - C. 237 - 339.

3. Воеводин, В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. - СПб.: БХВ-Петербург, СПб, 2002.

4. Asanovic, К. The Parallel Computing Laboratory at U.С.Berkeley: A Research Agenda Based on the Berkeley View. Techn. Rep. UCB/EECS - 2008-23.

5. Dongarra, J., Beckman, P., et. al. - IESP: International Exascale Software Project. Road Map, 18 Nov., 2009, www.exascale.org.

6. Armbrust, M. et al. About the Clouds: A Berkeley View of Cloud Computing.-Technical Report No. UCB/EECS - 2009-28 http://www.eecs.berkeley.edu/Pubs.

7. Amarasinghe, S., et. al. Exascale Software Study: Software Challenges in Exstreme Scale System. - DARPA report, 2009, www.users.ece.gatech.edu.

8. Марчук, Г.И. Математическое моделирование общей циркуляции атмосферы и океана / Г.И. Марчук, В.П. Дымников и др. - JL: Гидрометеоиздат, 1984.

9. Комплексное моделирование технологических процессов в алюминиевом электролизере / И.С. Голосов, Н.И. Горбенко, Я.Л. Гурьева, и др. // Актуальные научно-технические проблемы алюминиевой промышленности России. - М., 2003. - С. 72 - 80.

10. Ильин, В.П. О численном решении прямых и обратных задач электромагнитной георазведки / В.П. Ильин // Сиб. журн. выч. мат. - 2003. - Т. 6, № 4. - С. 381 - 394.

11. Ильин, В.П. Геометрическая информатика моделей сплошных сред / В.П. Ильин, Д.Ю. Трибис // Вычислительные методы и программирование. - 2009. - Т. 10, №1 -С. 306 - 313.

12. Ильин, В.П. Проблемы высокопроизводительных технологий решения больших разреженных СЛАУ / В.П. Ильин // Вычислительные методы и программирование. - 2009. -Т. 10, № 1. - С. 130 - 136.

13. Krylov: библиотека высокопроизводительных алгоритмов для решения разреженных СЛАУ / В.П. Ильин, Е.А. Ицкович, A.B. Петухов и др. - Современные проблемы математического моделирования: тр. XIII Всерос. конф.-шк. - Ростов-на-Дону, 2009. -

С. 110 - 118.

Ильин Валерий Павлович, доктор физико-математических, профессор, лаборатория вычислительной физики, Институт вычислительной математики и математической геофизики СО РАН, ilin@sscc.ru.

Поступила в редакцию 26 апреля 2010 г.