«Наука в Сибири»
№ 37-38 (2672-2673)
25 сентября 2008 г.

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ —
ЭТО ГЛОБАЛЬНО!

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

В.П. Ильин, д.ф.-м.н.

Иллюстрация

От пророчества жрецов —
к тайнам мироздания

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

До середины XX века, которую можно назвать эпохой последних энциклопедистов Л. Д. Ландау и Р. Фейнмана, фундаментальные результаты получались и доказывались «на кончике пера», т.е. исключительно благодаря активности «серого вещества» в голове ученого. Конечно, научные изыскания невозможны без экспериментальных исследований, которые или предварительно обнаруживают новое явление, или впоследствии его подтверждают (практика — критерий истины).

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

Если под математическим моделированием понимать просто применение вычислений, то такое искусство известно с незапамятных времен. По крайней мере, в Древнем Египте жрецы уже умели предсказывать солнечные и лунные затмения. А наиболее эффектный пример в XVIII веке — это открытие планеты Плутон, сделанное Леверье на основе расчета возмущения орбит близлежащих планет.

Следует заметить, что бурное развитие вычислительной техники в 1950-е и 60-е годы было инициировано в США и СССР прежде всего насущными проблемами национальной безопасности, поскольку успехи атомного и космического проектов не могли быть достигнуты без огромных объемов расчетных работ. Из примеров последних лет актуальность моделирования подтверждается следующим фактом: передовые страны подписали договор о всеобщем запрещении ядерных испытаний только после того, как были созданы надежные вычислительные средства расчетов воздействия новейших видов вооружений, работа над которыми, естественно, не прекращается.

Поразительно, что за последние 50 лет рост мощностей ЭВМ не ослабевает и с хорошей точностью подчиняется закону Мура (одного из основателей компании «Интел»), согласно которому быстродействие компьютеров утраивается через каждые 18 месяцев. Однако остается справедливым и инвариант Н. Н. Яненко, установленный им в 70-е годы: большая задача решается примерно одинаковое время на ЭВМ любого поколения. Здесь неформально принимается, что малые задачи — это те, которые решаются до нескольких минут, средние — десятки минут, а большие — часы, сутки и более того. Понятно, что с каждым годом растут практические требования и к адекватности математических моделей, и к точности численных решений, что приводит к росту объемов расчетов в соответствии с известной поговоркой «аппетит приходит во время еды».

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

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

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

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

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

Технологии решают все

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

Первый этап технологической цепочки связан с геометрическим и функциональным моделированием, заключающимся в создании, редактировании и модификации информационной модели решаемой проблемы. Здесь надо описать (аналитически и графически) все геометрические объекты: объемные фигуры, поверхностные сегменты, ребра, вершины, а также их топологические взаимосвязи и возможные перемещения. Аналогичные вопросы возникают в системах автоматизации проектирования (САПР, или САD, CAE, PLM и др.), широко применяющихся в промышленности, но цели и средства там другие. К функциональным объектам относятся фрагменты задания решаемых уравнений и их коэффициентов, граничных условий и начальных данных, целевых функционалов и специальных требований к расчетам. От гибкости используемых средств зависит и уровень интеллектуальности моделирующей системы, и ее универсальность, и потенциальная широта использования в производстве.

Если компьютер уже «знает» поставленную задачу, то ее численное решение начинается с дискретизации расчетной области, другими словами, с построения сетки. Имеется большое количество критериев качества сеток, с фундаментальными вопросами которых связаны имена знаменитых русских ученых Б. Н. Делоне и Г. Ф. Вороного, но понятие их оптимальности — это пока тайна за семью печатями. Академик  С. К. Годунов предложил термин «хорошие» сетки, в которых неожиданно гармонируют и чисто математические, и эстетические качества. Действительно, изображения сконструированных с помощью высокоинтеллектуальных алгоритмов сеток для экзотических областей ассоциируются с магическими рисунками великого графика Эшера. Методам генерации сеток для двумерных и трехмерных областей посвящено огромное количество статей и монографий. На мировом рынке прикладного программного обеспечения широко распространены и коммерческие, и свободно доступные инструментальные пакеты, которые являются самостоятельными продуктами и могут применяться в разных приложениях. Однако открытых теоретических и прагматических вопросов здесь еще великое множество, и по их решению непрерывно ведутся разработки и методического, и технологического характера.

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

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

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

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

«Коллективизация» и «индустриализация»
в программировании

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

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

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

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

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

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

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

Отображение алгоритмов на архитектуру ЭВМ

Заголовок данного раздела — это фактически лозунг, провозглашенный в 1970-е годы директором Вычислительного центра СО АН СССР Г. И. Марчуком. Ныне его непосредственный перевод на английский: mapping of algorithms on the computer architecture, — является основным принципом разработчиков компьютерного оборудования (компании «Intel», «AMD» и др.) для достижения высокой производительности. Сейчас в заголовке слово «ЭВМ» следовало бы заменить на «MBC» (многопроцессорная вычислительная система), поскольку современные большие задачи (а они представляют главный профессиональный интерес) надо решать на современных компьютерах, которые насчитывают десятки, сотни и тысячи процессоров.

В мае 2008 года произошло историческое событие, предсказанное около 20 лет назад, — заработал петафлопный компьютер, т.е. выполняющий 1015 в секунду арифметических операций, что эквивалентно миллиону «персоналок» со средней производительностью. Понятие «суперкомпьютер» меняется в наше время c калейдоскопической быстротой, и если еще несколько лет назад мы с уважением относились к ЭВМ с быстродействием в 1 терафлоп (1012 операций в секунду), то сейчас она далеко от попадания и во всемирный рейтинговый список самых мощных компьютеров ТОП-500, и в аналогичную российскую категорию ТОП-50.

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

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

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

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

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

Чтобы понять качество распараллеливания вычислительного процесса, надо уметь оценить величины Ta и Tc, что само по себе является отнюдь не простой задачкой. В первом приближении суммарная длительность исполнения арифметических действий Ta равна произведению их общего количества Na на среднее время τа, затрачиваемое на одну операцию. Однако толк от такого усреднения — все равно что определять среднюю температуру по больнице. Например, сложение чисел выполняется во много раз быстрее, чем их деление. Кроме того, работу имеющихся в процессорах сумматоров и умножителей можно, в принципе, запустить в режиме конвейера (великое изобретение Форда востребовано и здесь), что намного увеличивает их итоговую производительность. Картина информационных процессов очень запутана из-за наличия многоуровневой памяти, а также в силу возможности совмещения обменов с выполнением арифметических вычислений. Например, может обнаружиться парадоксальный на первый взгляд факт, что решение задачи на 10 процессорах убыстряется, в сравнении с одним, в 15 раз (это явление называется сверхлинейным ускорением). Ларчик здесь открывается просто: на 10 процессорах все числовые данные задачи могут уместиться в сверхбыстрых кэшах, а на одном — нет, и в последнем случае будет затрачиваться значительное время на обращение к более медленной памяти. Предложенный читателю набор эмпирических фактов «из жизни ЭВМ» — это «верхушка айсберга» сложнейшей картины функционирования МВС. Трагедия заключается в том, что более или менее приличной доступной модели компьютерных вычислений не существует (сапожник без сапог), в результате чего исследователю, пытающемуся оптимизировать параллельную реализацию алгоритма или задачи, приходится действовать вслепую «методом тыка».

Компьютерный мир очень динамичен, и «модельерам» приходится с трудом за ним поспевать. Уже входят в практику компьютерные сетевые технологии (Grids), которые позволяют собрать в единое целое самые разношерстные вычислительные средства, в том числе удаленные на тысячи километров (многомашинный «зоопарк»). Здесь уже важно не столько само распараллеливание, сколько объединение распределенных ресурсов для решения одной суперзадачи. Другое грядущее революционное направление — программируемые логические интегральные схемы (ПЛИС, или FPGA — Free Programmable Gate Array). Фактически это означает проектирование и создание вычислительной системы под конкретную задачу, что становится реальным благодаря разительным успехам кремниевых технологий в создании суперчипов. Хотя эти идеи и носились в воздухе более двух десятилетий, сейчас они делают вызов прикладным математикам и программистам, поскольку здесь возникает новая массовая проблема — трудоемкое микропрограммирование для сложнейшего конгломерата элементарных компьютерных устройств.

«Ищите да обрящете»

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

На повестку дня выходят сверхзадачи новых рубежей изучения окружающего мира, требующие для своего решения петавычислений и казавшиеся фантастическими еще десятилетие назад: молекулярная биология, генная инженерия и медицина, нанотехнологии и наноматериалы, изменения климата, долгосрочный прогноз погоды и природные катастрофы, мониторинг окружающей среды, антропогенных воздействий и экологических процессов, геофизика, управление жизненным циклом производства (PLM — Product Lifecycle Management), разработка новых видов вооружений и т.д. Путевой картой (road map) междисциплинарных исследований становятся разномасштабные явления микро- и макромира, обратные задачи идентификации параметрических моделей, оптимизации технологических процессов и проектирования. Крупномасштабные компьютерные эксперименты в тесном сочетании с теоретическими исследованиями и натурными экспериментами становятся основным орудием человеческого познания.

На фоне бурного увеличения мощностей суперкомпьютеров и развития их архитектур фактически происходит резкое отставание производительности программистского труда. Глобализация прикладных проблем инициирует стратегические направления математического моделирования в формировании больших проектов с передовыми средствами объектно-ориентированного программирования и поддержки полного жизненного цикла программного продукта (UML — Unified Modeling Language, COM- и CASE-технологии) — от постановки физико-математических моделей до бизнес-планирования и менеджмента. Важно подчеркнуть «две стороны медали», обязательные для успеха таких разработок: их высокая наукоемкость невозможна без неукоснительной фундаментальной поддержки разносторонних специалистов, а практические требования высокой производительности обуславливают жесткую дисциплину и организацию труда, характерную отнюдь не для академических учреждений, а для профессиональных компаний, создающих промышленные программные продукты. Эффективное внедрение вычислительно-информационных технологий нереально без создания организационных инфраструктур и государственной политики поддержки научных инноваций, формирования целевых фондов, грантов и других форм достойного финансирования.

В последние годы в России много пишется и говорится об информационных технологиях и математическом моделировании. Имеются официальные наименования специальностей в номенклатуре Высшей аттестационной комиссии РФ: математическое моделирование, численные методы и комплексы программ (05.13.18), математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей (05.13.11), вычислительная математика (01.01.07), а также по ряду смежных дисциплин (информационные системы, автоматизация проектирования и др.). Существуют также аналогичные разделы в классификаторе научных направлений Российского фонда фундаментальных исследований.

Однако на самом деле матмоделирование находится в роли пасынка, а в качестве субъекта финансирования нигде не фигурирует. В стране тратятся очень большие средства, по российским научным меркам, на создание современных суперкомпьютеров. Во многих городах уже работают МВС с производительностью более 10 терафлопс, в МГУ запущена ЭВМ «Чебышев» с быстродействием 60 терафлопс и уже объявлен в плане 500-терафлопный вычислитель. Это все очень хорошо, но вычислительная система не может полноценно функционировать без прикладного программного обеспечения, а на его развитие предусмотреть финансирование «забыли». В мире существует коммерческий рынок ППП с миллиардными долларовыми оборотами (известные пакеты программ ANSYS, FEMLAB, NASTRAN и множество других), но выбрать политику на их закупки — это означает за большие деньги «сесть на иглу» вечной зависимости от импортных интеллектуальных технологий. В этом смысле путь на создание отечественных конкурентоспособных прикладных программных продуктов — это вопрос национальной безопасности. И реальность таких планов подкрепляется сложившимися за десятилетия научными школами математического моделирования в различных российских регионах: Москве, Новосибирске, Санкт-Петербурге, Екатеринбурге, Красноярске и т.д.

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

В заключение придется добавить «ложку дегтя в бочку меда». Бурный прогресс в суперкомпьютерах, которые растут в России, как грибы после дождя, но без должных вложений в прикладное программное обеспечение, немного напоминает советские лозунги 70-80-х годов «догнать и перегнать» Америку или «АСУ-низация всей страны». Дело в том, что мощный суперкомпьютер мог бы стать основой для многоцелевого вычислительного центра коллективного пользования (ВЦКП), обеспечивающего решение большого потока научных и производственных задач. Такую функцию с успехом выполнял, например, Главный производственный вычислительный центр (ГПВЦ СО АН СССР), который в 70-е годы был создан в новосибирском Академгородке академиком Г. И. Марчуком и обслуживал многие сотни академических и промышленных пользователей (авторы проекта ГПВЦ были награждены Государственной премией). Но для настоящей востребованности предполагаемого Центра необходимы: много запускаемых задач, наличие для их решения современного прикладного программного обеспечения и организация технических служб эксплуатации, консультаций и развития. К сожалению, с указанными вопросами имеются проблемы, поскольку по всем этим пунктам организационные предпосылки пока отсутствуют.

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

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

стр. 12-13