Согласно закону Мура, 2013 год станет «медианой» постпетафлопcного периода — в 2008 году появился первый «петафлопсник», на 2014-й запланировано появление компьютера с реальным быстродействием более 100 PFLOPS, и выход экзафлопсника в 2019-м наверняка состоится. При этом кардинального изменения архитектуры не ожидается — в ближайшем будущем суперкомпьютером будет кластер из многопроцессорных многоядерных гетерогенных узлов: универсальных (центральные процессорные устройства), специализированных ускорителей (графические процессорные устройства), а также ПЛИС (программируемые логические интегральные схемы). Наибольшие хлопоты при работе в этой архитектуре разработчикам доставляет оперативная память, распределенная по узлам, которая обеспечивает общий доступ из «своих» процессоров и имеет многоуровневую иерархическую структуру.
Количественный рост парка технического оборудования создает качественно новую ситуацию для математика-программиста. Во-первых, повышается вероятность отказа какого-либо устройства во время исполнения алгоритма, что необходимо учитывать при программировании. Во-вторых, стоимость электроэнергии занимает очень существенную долю в общих расходах на эксплуатацию суперкомпьютера, причем коммуникационные операции оказываются более энергозатратными, чем вычислительные. Отсюда возникает проблема построения более «дешевых» алгоритмов, требующих наименьших обменов данными. Ситуация совсем не шуточная — при сохранении нынешнего отношения быстродействие / потребляемая мощность на уровне 2 GFLOPS/Вт экзафлопсная машина потребует для себя более 100 МВт, а это мощность региональной электростанции.
Но все это решаемые технические и организационные проблемы — гораздо важнее то, что за последние 11 лет компьютерные мощности увеличились в 1000 раз, а эффективность решения задач математического моделирования выросла незначительно. Сегодня в мире существует многомиллиардный рынок прикладных программных пакетов для математического моделирования самых разных процессов и явлений, например, коммерческие продукты MSC NASTRAN, ANSYS и COMSOL, используемые в задачах гидрогазодинамики, упруго-пластичности, электрофизики и т. д. Как правило, идеологически это закрытые разработки [1], почти не приспособленные к модификации со стороны пользователей. Кроме того, в Сети имеется большое количество общедоступных программных библиотек и инструментариев, решающих частные проблемы моделирования. Иначе говоря, имеется огромный программный «зоопарк», разобраться в котором эксперту в предметной профессиональной области практически невозможно.
Суперкомпьютеры и парадоксы неэффективности
Суперкомпьютеры какой мощности необходимы России, в каком количестве и, главное, зачем? Потенциал современных высокопроизводительных систем огромен, но какова их реальная отдача? Каков их коэффициент полезного действия и как он определяется? Владимир Воеводин |
Но и это еще не все — ситуация усугубляется тем, что современные суперкомпьютеры представляют собой многоузловые и многопроцессорные системы с массовым параллелизмом, и нужно уметь эффективно распараллеливать алгоритмы для работы с ними. Это неизбежно повышает требования к квалификации пользователя, а главное — разработчикам фактически приходится создавать новое поколение прикладного ПО, рассчитанного на использование миллионов вычислительных процессоров и ядер. Именно данная проблема ставится во главу угла в Дорожной карте Международного проекта экзамасштабного программирования IESP, руководимого Джеком Донгаррой. Сейчас деятельность по решению этой задачи расширяется за счет Европейской экзапроблемной инициативы EESI, а также за счет подключения национальных экзамасштабных программ Японии и Китая. В России наиболее заметную активность в этой сфере проявляет Суперкомпьютерный консорциум университетов России, включающий около 60 университетов, институтов РАН, а также коммерческих компаний, работающих в области суперкомпьютерных технологий. По инициативе консорциума проводятся научные конференции, создана сеть научно-образовательных центров суперкомпьютерных технологий на базе восьми университетов по всем федеральным округам, разработан Свод знаний и умений (компетенций), а также сформированы учебные курсы, программы повышения квалификации и проведены многочисленные образовательные мероприятия, с вовлечением средств массовой информации. Вместе с тем эти мероприятия «обходят» стороной научную фундаментальную составляющую высокопроизводительных вычислений. Мало того, до сих пор неясно, кто вообще отвечает в России за создание отечественного экзафлопсника.
Конечно, проблема кадров для индустрии высокопроизводительных вычислений критична, поскольку оказалось, что компьютерное сообщество не готово к техническому прорыву в области суперкомпьютеров. Однако, кроме этого, нужны не только адекватные фундаментальные достижения в математике и информатике, но и целенаправленные скоординированные усилия в создании новых массовых профессий — как разработчиков математического и прикладного программного обеспечения, так и его квалифицированных пользователей, включая вооруженных современными информационными технологиями физиков, химиков, биологов, машиностроителей и т. д.
Инкарнации математики
Главная особенность развития высокопроизводительных вычислений заключается в том, что человечество получило невиданные возможности для решения масштабных задач: прямых и обратных, междисциплинарных, с реальной адекватностью моделей и высоким разрешением результатов, с обработкой огромных объемов данных. В этом ключевую роль играет математизация всех научно-производственных сфер, причем в большинстве случаев технологический прогресс в какой-то отрасли тесно связан именно с тем, насколько успешно здесь применяются компьютерные расчеты.
Теоретическая и вычислительная математика
Ясно, что с появлением экзафлопсных систем роли и технологии внедрения математики должны быть переосмыслены, например, в США с этой целью создана Рабочая группа по «экзаматематике» (Exascale Mathematics Working Group, EMWG), перед которой стоят следующие задачи:
- проанализировать потенциальные расхождения в понимании миссии прикладной математики для экзавычислений;
- идентифицировать новые алгоритмические подходы, ориентированные на экзамасштабные вызовы;
- осмыслить математические возможности для решения новых фундаментальных проблем посредством интегрирования различных математических дисциплин;
- сформировать целостную кооперативную концепцию экзаматематических исследований, которая включала бы диалог ученых из прикладных областей с учеными-вычислителями.
Чтобы понять суть этих задач, разберем инкарнации математики, начав с теоретической математики, закладывающей основу для формирования и обоснования математической модели изучаемого процесса или явления (естественного, научно-технического или социального). За последние десятилетия произошло идеологическое сближение теоретических физиков и математиков — на стыке наук получены замечательные результаты в области топологических методов, гомологий, внешней алгебры и дифференциальных форм, прикладной теории групп, дифференциально-геометрического исчисления и т. д. Все эти достижения только относительно недавно начали внедряться в приложения, а их широкое воплощение в алгоритмы как раз совпало с переходом на пета- и экзакомпьютеры.
Вторая инкарнация — это вычислительная математика, обеспечивающая методами и технологиями получения приближенных численных решений. Происходит превращение математической модели в вычислительную, а фундаментальная наука все больше пересекается с ИТ, структурно разделяясь на теоретическую и экспериментальную части. Если в первом случае мы имеем теоремы об аппроксимации, устойчивости, гарантированных оценках точности и т. д., то вторая часть — это обязательная проверка теории практикой, но главное то, что численные методы переживают период бурного развития. Дискретные формы и внешние конечно-элементные исчисления, методы преобразования графов и символьные вычисления, геометрические численные интеграторы —вот неполный перечень новых направлений, которые в совокупности со ставшими уже классическими достижениями прошлого века (вычислительная алгебра, аппроксимационные подходы, методы оптимизации и т. д.) составляют современное поколение алгоритмов решения уравнений математической физики. Науки не стоят на месте, отсюда следует значимый для практики вывод: совокупности математических и вычислительных моделей представляют не закостеневшие, а динамически меняющиеся структуры, которые должны поддерживаться соответствующими средствами. При этом с численными методами ситуация сегодня вообще критическая — необходимо научиться их распараллеливать и инвариантно отображать на новые компьютерные экзафлопсные архитектуры [2].
Проблемы вычислительного эксперимента
Создание моделей, методов и технологий — это, конечно, очень важно и интересно, но венцом математического творчества является изучение предметного объекта. Вычислительные эксперименты могут иметь самый разный исследовательский характер, но в первую очередь должны быть проведены методические расчеты на специально подобранных примерах, которые могли бы охарактеризовать качество применяемого средства моделирования. Здесь важны адекватность модели, погрешности и устойчивость методов, оценка и контроль гарантированной точности, вычислительной сложности и ресурсоемкости расчетов. Все это сродни калибровке инструментария, который определяет производительность последующей работы и является неотъемлемой частью любой инженерной деятельности, без которой моделирование может отражать не явления реального мира, а виртуальные артефакты.
Погоня за экзафлопсом
Суперкомпьютеры становятся все мощнее, но насколько создаваемые сейчас системы ориентированы на потребности конечного пользователя? Имеет ли глубокий смысл затеянная сегодня погоня за экзафлопсом? Сергей Суков |
Что касается содержательных вычислений экстремального масштаба, то здесь можно выделить расчеты, направленные на получение новых фундаментальных знаний — например, популярную сейчас проблему моделирования эволюции или столкновения галактик. Задачи такого рода могут при желании целиком загрузить ресурсы заведомо любого суперкомпьютера. Среди практических суперзадач есть не менее критические, такие как прогностические проблемы, которые в принципе вряд ли будут решены окончательно: долгосрочный прогноз погоды и климата, землетрясений и экономических кризисов, а также различных техногенных катастроф. Очень востребованы также «рутинные» проблемы: разведка углеводородов и других полезных ископаемых, медицинские и фармакологические исследования, материаловедение и нанотехнологии, традиционные и перспективные виды энергетики, проектирование новой техники в машиностроении, электронике, химических технологиях и т. д. Условия эффективности математических инноваций в таких массовых приложениях — это отнюдь не тривиальная проблема для достижения успешного результата.
Комплексная нефтеразведка может быть наглядным примером междисциплинарной обратной суперзадачи, которая решается на основе совместного анализа формируемых различными источниками сейсмических и электромагнитных полей, описываемых системами дифференциальных уравнений Ламе и Максвелла. В данном случае геофизик проводит физические измерения генерируемых полей, а также из своих профессиональных соображений задает начальную модель изучаемой среды и проводит расчеты полей с помощью имеющегося у него ПО, решая прямую задачу. Затем вычисляется целевой функционал, характеризующий расхождение натурных и расчетных данных, по некоторым правилам формируется новая модель среды, повторяется решение прямой задачи и так далее, пока целевой функционал не уменьшится до приемлемой величины. При успешном завершении этих последовательных приближений мы получаем искомые геометрические и материальные свойства моделируемой геоструктуры. Ресурсоемкость такого эксперимента определяется количеством решаемых прямых задач и их алгебраической размерностью, которые достигают многих тысяч и миллиардов соответственно.
Цель моделирования в условиях инкарнации математики — повышение производительности труда, снижение себестоимости и повышение качества продукции, уменьшение рисков, что в совокупности позволяет поднять планку востребованности суперкомпьютерных расчетов, однако этого в реальной жизни не происходит. Во-первых, качество инструментов моделирования не отвечает современным требованиям. Во-вторых, сказывается дефицит кадров из среды экспертов в прикладных областях.
Типичные рассуждения среди даже высококвалифицированных специалистов-прикладников (назовем их условно физиками) звучат примерно так: «Мы сами все запрограммируем и посчитаем, дайте лишь нам системного программиста, а мы с ним все промоделируем». При этом подразумевается, что «все равно математики ничего не понимают в наших задачах». Последнее утверждение, к сожалению, очень распространено [3], и этому есть объективные причины. Академик Владимир Арнольд много ратовал за единство теоретической физики и математики, предупреждая об опасности разрыва между этими науками, и с ужасом констатировал появление поколения математиков, которые не читали «Ландау и Лившица». Данный уникальный многотомник, в котором отражены все основные достижения физики прошедшего столетия, отсутствует в программе студентов математических факультетов. Сегодня весьма маловероятно появление энциклопедистов — людей, являющихся носителями всех знаний своей эпохи, поэтому физику не хватит всей его жизни на то, чтобы профессионально овладеть современными вычислительными методами и технологиями. Физик, пытающийся сам промоделировать свои сложнейшие процессы, — это пережиток прошлого века, и ему никакие экзафлопсные системы не помогут. Существует и другая крайность — от математика-вычислителя требуют провести расчеты, образно говоря, уже завтра, хотя физическая задача может требовать вхождения в суть проблемы. И здесь фактически возникает необходимость преодоления языкового барьера между физиками и математиками.
Чтобы понять серьезность такого положения, достаточно вспомнить Вавилонскую башню, не достроенную по причине смешения языков, или, выражаясь по-современному, из-за невозможности общения с целью обмена информацией, что по определению является задачей ИТ. Недаром одно из самых знаменитых определений Никлауса Вирта «программа = алгоритмы + структуры данных» сегодня становится особо актуальным, сопровождаясь, например, появлением новых технологий создания предметных специализированных языков Domain Specific Language [4].
Вычислительная интегрированная среда
Как разрушить барьеры между математиками-вычислителями и практиками-«модельерами»? Для последних нужно не просто создать «спасательный круг» в океане алгоритмической и программистской информации, а обеспечить комфортное операционное окружение, «закрывающее» от физика излишние для него детали и кардинально повышающее эффективность работы конечного пользователя. Требуется вычислительная инструментальная среда или базовая система моделирования БСМ [5], которая предоставляет набор высокопроизводительных методов и технологий, поддерживающих все следующие основные стадии численного эксперимента:
- геометрическое и функциональное моделирование — интерактивное описание и модификация исходных постановок задач со сложными геометрическими объектами и контрастными материальными свойствами сред, задаваемых системами дифференциальных и/или интегральных уравнений, начально-краевыми условиями и целевыми функционалами для обратных задач;
- построение адаптивных неструктурированных сеток с возможностями локальных сгущений, многосеточных подходов и автоматической сбалансированной декомпозиции подобластей для работы на вычислительных системах с сильным параллелизмом;
- сеточные и спектральные аппроксимации исходных задач, включая методы конечных объемов и конечных элементов высокой точности;
- решение получаемых систем линейных и нелинейных алгебраических уравнений сверхвысоких порядков с масштабируемым распараллеливанием на МВС;
- оптимизационные алгоритмы условной минимизации для решения обратных задач;
- постобработка и визуализация результатов расчета;
- управление вычислительным процессом и средства принятия решений.
Совокупность программных реализаций этих инструментальных компонентов представляет собой экосистему, независимую от конкретной задачи — прикладные пакеты могут быть собраны из таких «строительных» блоков. Отдельные компоненты такого программного окружения могут разрабатываться независимыми группами, а внутренние интерфейсы должны обеспечиваться согласованными структурами данных (геометрическими и функциональными, сеточными и алгебраическими и т. д.). Сегодня уже имеются аналогичные проекты, например OpenFOAM и DUNE, но они построены пока на ограниченных концепциях (ориентированы на строго конкретные классы задач и алгоритмов). Мини-прототипом БСМ можно считать BLAS — базовую систему для линейной алгебры, активно используемую сегодня во всем компьютерном мире. Базовая система моделирования должна:
- обеспечивать высокое разрешение расчетов с автоматическим контролем гарантированной точности численных решений, а также отсутствие программных ограничений на число степеней свободы в практических задачах;
- отображать структуры алгоритмов на архитектуру гетерогенных многопроцессорных, масштабируемых вычислительных систем с массовым параллелизмом на всех стадиях вычислительного эксперимента, без каких-либо программных ограничений на количество процессоров и ядер;
- расширять состав математических моделей, алгоритмов и технологий с целью адаптации программного обеспечения к динамической эволюции постановок задач, численных методов и компьютерных платформ;
- поддерживать совместимость с внешними программами на основе множественности представлений и конвертации форматов данных;
- иметь интеллектуальные средства конфигурационного управления приложениями на основе концепции метамоделей и проблемно-ориентированных языков программирования.
Данная базовая система моделирования должна создаваться в рамках открытого проекта всего мирового вычислительного сообщества, однако это не противоречит тому, что на основе БСМ могут разрабатываться коммерческие продукты и услуги. Объем предполагаемых в таком проекте работ, естественно, невозможно осуществить без строгой координации и международной кооперации, с вовлечением ведущих математиков и программистов. Реальная организация такого окружения может осуществляться в альянсе с уже имеющимися подобными проектами типа OpenFOAM и DUNE, а также с учетом наработок в области вычислительно-информационных инструментариев (генераторов сеток, алгебраических решателей и др.).
В стратегическом плане создание интегрированной среды должно способствовать смене парадигмы вычислений, обусловленной переходом количества в качество, по мере приближения к экзаскалярным компьютерным системам. В частности, на повестке дня стоит переход к малоизведанным пока потоковым принципам обработки данных, призванным решить проблему синхронизации процессов и извлечения максимума возможного из параллелизма алгоритмов.
Что делать?
Как поднять востребованность экстремального моделирования, активизировав применение высокопроизводительных систем для решения суперзадач в интересах фундаментальных проблем и создания новых эффективных отраслевых технологий? Во-первых, необходимо отойти от стереотипа физика-теоретика как человека, вооруженного справочником таблиц, рядов и интегралов, логарифмической линейкой и ручкой. Сегодня от физика требуется умение пользоваться современными функциональными возможностями математического и программного обеспечения суперкомпьютеров. То же относится и к отраслевым менеджерам, ответственным за научно-технический прогресс в производствах.
Во-вторых, нужно создать новое поколение наукоемкого программного обеспечения, которое стало бы массовым инструментом моделирования. Главные три качества соответствующей инфраструктуры: динамическая поддержка современных вычислительных методов и технологий, эффективная адаптация к непрерывно меняющимся аппаратно-программным платформам и комфортные для физика эксплуатационные характеристики. Непременное условие реализуемости такой большой разработки — фактически беспрецедентные кооперация и координация ее участников, а также интегрированность многообразных инструментальных компонентов и приложений.
Для успеха такого проекта требуется решить много непростых проблем, в частности, до сих пор открытыми остаются вопросы государственной поддержки и частных инвестиций, а также заинтересованности ИТ-компаний. Сложность в том, что речь идет о стратегической программной разработке, перспектива получения «быстрых денег» от которой не очевидна.
Ключевой проблемой остается внедрение современных принципов математического моделирования в такие высокотехнологичные производства, как электроника, машиностроение, металлургия, новые материалы, разведка и добыча полезных ископаемых. Многое будет зависеть от осознания руководством госкорпораций того факта, что тотальные интеллектуальные супервычисления — это ближайшее будущее и те, кто первыми придут к пониманию этого, станут лидерами новой волны научно-технической революции. И если атрибуты недавних информационных потрясений социального масштаба — Интернет и мобильный телефон — базируются на операциях хранения и передачи данных, то теперь к ним добавляется третье звено — вычислительные преобразования.
Литература
- Чесбро Г. Открытые инновации. — М.: Поколение, 2007.
- Ильин В. П. Параллельные процессы на этапах петафлопcного моделирования. //Вычислительные методы и программирование, т.12, 2011. № 1. — C. 93–99.
- Дбар С. А., Жердева М. В., Лацис А. О., Орлов В. Л., Савельев Г. П., Смольянов Ю. П., Храмцов М. Ю. Гибридный суперкомпьютер К-100: эволюция архитектур и эволюция пользователей //Третий Московский суперкомпьютерный форум (Москва, 1 ноября 2012 г.). — М.: «Открытые системы», 2012. — С. 27–29.
- Kleppe A. Software Language Engineer. Creating Domain-Specific-Languages Using Metamodels. — Addison-Wesley, Boston, 2008.
- Ильин В. П., Скопин И. Н. Технологии вычислительного программирования. // Программирование. 2011. № 4. — C. 53–72.
Валерий Ильин (ilin@sscc.ru) — главный научный сотрудник Института вычислительной математики и математической геофизики СО РАН (Новосибирск). Работа поддержана грантом РФФИ № 11-01-00205, грантом ОМН РАН № 1.3.4. Статья подготовлена на основе материалов доклада «Экзаскалярные системы и проблемы математического моделирования» (В. П. Ильин), представленного на IV Московский суперкомпьютерный форум (МСКФ-2013). Грант РФФИ 13-07-06046 Г.