УДК 004.514
Д.П. Костомаров, Ф.С. Зайцев2, А.Г. Шишкин3, Д.Ю. Сычугов4, С.В. СтепаноВ, Е.П. Сучков6
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БИБЛИОТЕКИ "ВИРТУАЛЬНЫЙ ТОКАМАК"*
Описана концепция библиотеки программ "Виртуальный токамак", ее функциональные возможности, основные компоненты и способ использования. Библиотека предназначена для прогнозирования, сопровождения, интерпретации эксперимента и обработки измерений на установках токамак, реализующих идею производства энергии на основе управляемого термоядерного синтеза. Программное обеспечение библиотеки состоит из интерактивной графической оболочки и ряда взаимосвязанных компьютерных кодов, моделирующих различные процессы в плазме токамака, элементы конструкции, диагностику плазмы и системы управления ею. Комплекс представляет собой конкретную реализацию новейших информационных технологий, включая интернет-технологии и подходы распределенных вычислений, в области математического моделирования плазмы. В совокупности прикладного и системного программного обеспечения "Виртуальный токамак" не имеет аналогов.
Ключевые слова: библиотека программ, управляемый термоядерный синтез, интернет-технологии.
1. Введение. Исследования по управляемому термоядерному синтезу (УТС) направлены на решение одной из фундаментальных проблем человечества — создание безопасного, практически неисчерпаемого источника энергии. Наиболее перспективной конструкцией для реализации УТС является токамак — система, в которой нагрев и удержание плазмы осуществляются магнитным полем тороидальной конфигурации при относительно низком давлении и высокой температуре [1]. В настоящее время ведущие страны мира, включая Россию, приступили к сооружению международного термоядерного реактора-токамака ITER. Помимо того, что создается реактор, разрабатывается и модернизируется также ряд малых и средних установок в целях проведения поддерживающих физических исследований, обучения персонала, отработки новых диагностик, методов управления, нагрева плазмы и поддержания тока, проверки конструктивных решений и т. д.
Проведению экспериментальных кампаний на действующих установках и проектированию новых предшествуют численные расчеты магнитной конфигурации, равновесия, устойчивости, ожидаемых параметров плазмы, разработка и настройка систем управления. Одной из важных задач является прогнозирование поведения плазменного шнура в ходе эксперимента — так называемый расчет
1 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: d.kostomarovQcs.msu.su
2 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: zaitsevQcs.msu.su
3 Факультет ВМК МГУ, ст. науч. сотр., к.ф.-м.н., e-mail: shishkinQcs.msu.su
4 Факультет ВМК МГУ, доц., к.ф.-м.н., e-mail: sychugovQcs.msu.su
5 Факультет ВМК МГУ, асп., e-mail: sergey.v.stepanovQgmail.com
6 Факультет ВМК МГУ, асп., e-mail: suchkov.egorQgmail.com
* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований, гранты № 1007-00207, 11-07-00567 и 08-01-00721.
сценария разряда. Разработка соответствующих компьютерных кодов и проведение вычислительных экспериментов с их помощью является задачей чрезвычайной сложности [1, 2].
В настоящее время в рамках исследовательских программ российскими учеными накоплен колоссальный объем математических методов, программного обеспечения, различных информационных подходов. Созданы и успешно эксплуатируются численные коды, моделирующие наиболее важные процессы в плазме.
Прикладное программное обеспечение разрабатывалось в разное время многими авторами и имеет свои специфические особенности, что влечет неизбежные трудности при совместном применении кодов. Все это естественным образом приводит к идее создания единой программной среды для проектирования, сопровождения, планирования и интерпретации экспериментов на установках токамак. Первым шагом для создания такой среды является стандартизация уже имеющихся численных алгоритмов (кодов), предназначенных для моделирования процессов в установках токамак, и объединение их в библиотеку стандартных программ "Виртуальный токамак", вторым — создание удобного графического интерфейса для решения задач имитационного моделирования. В широком смысле "Виртуальный токамак" — это полномасштабная, детализированная, интерактивная компьютерная модель реального термоядерного реактора.
Библиотека программ "Виртуальный токамак" преследует следующие цели:
• применение и развитие новых информационных технологий, математических моделей и методов управления многосвязными динамическими объектами для всестороннего изучения источника энергии, построенного на основе реакции термоядерного синтеза в системах с удержанием плазмы магнитным полем тороидальной конфигурации;
• проверка и настройка многочисленных используемых методов и систем диагностики плазмы. Анализ эффективности новых подходов;
• решение задач управления плазмой в разрабатываемых реакторах ITER, Ignitor, DEMO;
• проектирование новых установок;
• проведение широкомасштабного поискового, предсказательного, оптимизационного и диагностического вычислительного эксперимента на супер-ЭВМ вплоть до петафлопного и экзафлопного класса;
• сопровождение и интерпретация натурных экспериментов.
"Виртуальный токамак" позволит существенно сэкономить средства на проектирование, строительство и введение установок в эксплуатацию, планирование и проведение экспериментов. Подробная имитация эксперимента значительно сэкономит и очень дорогое экспериментальное время, которое на действующих крупных токамаках оценивается в 100 тыс. долл. в день, а на проектируемом токамаке ITER — в 1 млн долл. в день.
В работе описаны концепция библиотеки "Виртуальный токамак", графический интерфейс пользователя и входящие в ее состав системное и прикладное программное обеспечение, обсуждены требования к необходимым вычислительным ресурсам. Общепринятые стандарты построения сложного программного обеспечения в рассматриваемой области еще не выработаны. Поэтому в настоящее время важны публикация и анализ имеющихся разработок.
2. Концепция библиотеки. Первоначальное ядро библиотеки строилось из относительно небольшого числа хорошо апробированных на практике кодов. Ядро снабжено общей интерактивной оболочкой, позволяющей эффективно работать с объемными программами. Далее расширение библиотеки осуществлялось путем подключения новых программ (модулей) с соответствующей модификацией оболочки.
Основа реализации и применения библиотеки — построение развитого информационного вычислительного портала, позволяющего в удаленном режиме через стандартный Web-браузер использовать локально хранящиеся и поддерживаемые наукоемкое программное обеспечение и системы имитационного моделирования с автоматическим распределением вычислительной нагрузки по сети компьютеров. Недавно появившиеся технологии Web-программирования и новые компьютерные протоколы предоставляют базовые средства для создания такого портала.
Современные реалистичные модели плазмы, алгоритмы управления, предполагаемая вычислительная нагрузка портала требуют применения супер-ЭВМ с быстродействием вплоть до петафлоп-ного и экзафлопного класса. Использование такой техники особенно важно для детального трехмерного предсказательного моделирования термоядерных реакторов, проверки стратегий управления и устранения ситуаций, при которых возможно полное разрушение конструктивных элементов устройств.
В комплексе нашли отражение базовые компоненты токамака, основные модели плазмы и системы управления ею, такие, как конструктивные элементы (вакуумная камера, катушки тороидальных и полоидальных магнитных полей и т.д.), разнообразная диагностика плазмы, системы магнитного и кинетического управления плазмой, модели исполнительных устройств, комплексы дополнительного нагрева плазмы и генерации тока, дивертор и др.
Основной способ работы пользователя с системой происходит посредством стандартного Web-браузера через Интернет. При этом важно, что от пользователя не требуется устанавливать или настраивать какое-либо специальное прикладное и системное программное обеспечение. Запуск кодов, мониторинг вычислений и визуализация данных происходят в единой среде ScopeShell [3].
В состав библиотеки входят коды, моделирующие процессы, происходящие в токамаке в различные моменты разряда, поэтому большое внимание уделено синхронизации во времени последовательности выполнения кодов. Возникающая вычислительная нагрузка автоматически распределяется по сети компьютеров с помощью системы TADISYS.
Библиотека ориентирована на работу в операционной среде Linux. Выполнение созданных под ОС Windows компьютерных кодов возможно под эмулятором VMware или пакета Windows API Wine.
Структура портала "Виртуальный токамак" изображена на рис. 1. Система управления контентом портала основана на свободно распространяемой системе Drupal [4], дополненной разработками авторов. Drupal обеспечивает надежность, безопасность, быстродействие, универсальность, гибкость и простоту обслуживания портала.
Рис. 1. Структура информационно-вычислительного портала "Виртуальный токамак"
Пользователю библиотеки может быть назначен один их трех уровней доступа к программному обеспечению: просмотр информационных материалов, ограниченный доступ, полный доступ. Ограниченный доступ предоставляет только демонстрационное использование кодов библиотеки. При полном доступе результаты работы с библиотекой сохраняются для каждой сессии и в последующем могут быть использованы. Кроме того, при полном доступе вычислительные задачи получают более высокий приоритет.
3. Интерфейс пользователя. В состав библиотеки входят коды, написанные различными коллективами авторов и предназначенные для решения большого числа специфических задач. Поэтому значительное внимание при создании интерактивной оболочки системы уделено разработке удобного, обладающего многочисленными функциями и в то же время интуитивно понятного графического
интерфейса пользователя. Для обеспечения платформенной независимости в качестве языка разработки интерфейса выбран язык Java. Общая схема, лежащая в основе работы графического интерфейса, представлена на рис. 2.
3. Разряд: • № 001 • № 002
• новый разряд
Рис. 2. Общая схема пользовательского интерфейса библиотеки "Виртуальный токамак"
Первым элементом верхнего уровня интерфейса являются блок с конкретными установками токамак — ITER, JET, MAST и др. Пользователь с административными привилегиями имеет возможность добавлять новые установки, редактировать и удалять уже имеющиеся. Обычный пользователь также может добавлять новые установки, редактировать и удалять данные, относящиеся только к тем токамакам, которые добавлены непосредственно этим пользователем. Такие установки и данные отображаются только в рабочем пространстве внесшего их пользователя, но могут стать доступными для всех после тщательной верификации администратором. На верхнем уровне задаются данные, относящиеся к конструкции (геометрии) установки.
Следующими элементами верхнего уровня интерфейса являются так называемый "Сценарий", т. е. ряд отдельных экспериментов, объединенных общим направлением исследования, например анализом эффективности генерации тока в плазме электромагнитными волнами, и "Разряд" — конкретный эксперимент. На верхнем уровне определяются все глобальные параметры, необходимые для проведения вычислительного эксперимента.
После задания входных параметров пользователь может начать моделирование отдельных процессов физического эксперимента или весь эксперимент целиком. Результаты работы одних кодов, как правило, служат входными данными для других. Поэтому функционирование компонентов библиотеки строго синхронизировано. Так, например, нельзя начать моделирование эволюции равновесия плазменного шнура, пока не рассчитаны пробой и начальное равновесие.
Коды, соответствующие вычислительной схеме на рис. 2, описаны в следующем разделе.
4. Прикладное программное обеспечение. Большой разброс характерных значений времени и пространственных масштабов развития явлений в плазме токамака делает невозможным в настоящее время создание единого кода, который бы охватил все процессы. Именно поэтому требуется объединение в единую систему различных специализированных кодов, которые в совокупности позволяют спроектировать установку токамак и проанализировать ее работу.
В библиотеку вошли прежде всего имеющиеся в распоряжении коллектива численные коды (см. ниже), которые были стандартизированы в соответствии с общей концепцией библиотеки [5]. Коды широко известны, неоднократно применялись при проектировании, моделировании, интерпретации и сопровождении экспериментов на установках токамак. В целом коды библиотеки можно разделить на следующие большие группы в соответствии с выполняемыми ими задачами.
1. МГД равновесие — состояние, при котором газокинетическое давление плазмы уравновешено силой Лоренца (характерное время — от сотни миллисекунд на малых токамаках до часа и более на больших проектируемых установках). Коды TOKAMEQ, DINA-EQDSK, DINA-SVD [6, 7, 15, 16].
2. Эволюция равновесия — медленное изменение свойств плазмы, при котором в каждый момент сохраняется МГД равновесие (характерное время — от десятков миллисекунд и выше до сотых и тысячных долей времени разряда). Коды SCoPE, DINA [2, 8, 9].
3. Транспорт заряженных частиц — эволюция с учетом нагрева плазмы, потоков тепла и частиц в радиальном направлении, выделения и поглощения энергии (характерное время — сотые и тысячные доли от продолжительности разряда). Коды FPP-3D, ASTRA, DINA-TRANSP [2, 10, 17].
4. Управление — целенаправленное изменение параметров плазменного шнура при относительно больших значениях времени (миллисекунды, сотые и тысячные доли времени разряда). Системы диагностики и обработки данных в реальном времени. Коды SCoPE, DINA [2, 8, 9].
5. МГД устойчивость — свойство МГД равновесной плазмы быть устойчивой по отношению к малым возмущениям (характерное время — от микро- до миллисекунд в зависимости от вида неустойчивости). Код TOKSTAB [14].
6. Диагностика — восстановление внутренних параметров плазмы по внешним измерениям, обработка и анализ данных, извлечение новых знаний. Коды FPP-3D, SCoPE, VIP, SDSS, NNTMM, CLUNAVT, DAMA, 11 Re [2, 8].
В качестве среды выполнения модулей библиотеки, как уже отмечалось, выбрана ОС Linux. Для программ, разработанных в других операционных системах, предоставлена возможность их выполнения с помощью эмулятора VMware или альтернативной реализации Windows API Wine. Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их соответствующими вызовами ОС Linux. В Wine, в отличие от других систем, не происходит эмуляции электронных составляющих компьютера, поэтому приложения могут выполняться в Wine практически так же быстро, как и в "родной" операционной системе.
Удаленный доступ по протоколу Remote FrameBuffer (RFB) к рабочему столу компьютера реализован с помощью системы Virtual Network Computing (VNC) [11]. Ее достоинством является приемлемая скорость обновления графического экрана даже на относительно медленных линиях связи.
Система безопасности данных основана на SELinux [12]. Пользователям отводятся предопределенные роли таким образом, чтобы они не могли получить доступ к файлам и процессам других владельцев. Отличие от обычной системы Unix-привилегий состоит в том, что отведенные пользователям роли, или контексты безопасности, в которых они находятся, имеют ограниченный и более управляемый доступ к файлам и ресурсам компьютера.
Входящие в состав библиотеки коды предъявляют весьма серьезные требования к вычислительным ресурсам. Возникает задача распределения вычислений по сети доступных компьютеров. Для ее решения используется разработанная авторами система TADISYS, позволяющая автоматизировать рутинные операции распределения независимых задач по сети, включая выбор оптимального узла сети, загрузку и запуск задачи, возврат данных на базовый компьютер. Система TADISYS и ее графический интерфейс реализованы на языке Java. Применен подход клиент-сервер. Сервер выполняется на базовом компьютере пользователя. Клиенты рассылаются сервером по узлам сети и запускаются на выполнение. Доступ к удаленным компьютерам и обмен данными организован по защищенному протоколу ssh.
В системе TADISYS используется понятие "кластер компьютеров", под которым понимается множество компьютеров, соединенных в сеть по протоколу TCP/IP. С помощью графических средств сервера можно сконфигурировать новый кластер или загрузить одну из сохраненных конфигураций. Графический интерфейс позволяет также описать конфигурацию задач и управлять ими. Алгоритмы оптимального распределения задач по сети и механизм контроля за их выполнением достаточно сложны. Детали алгоритмов описаны в документации TADISYS.
Автоматизация рутинных операций настройки входных и выходных данных численных кодов библиотеки, их компиляция и запуск, мониторинг формирования данных, преобразование формата данных, построение двумерных и трехмерных графиков, обеспечение доступа к распределенным по сети компьютеров файлам осуществляется с помощью графической среды ScopeShell.
Система ScopeShell отвечает таким требованиям, как:
• гибкость и платформонезависимость. Будучи написанной на Java, система может работать в различных операционных системах;
• абстрагирование от природы данных. Может использоваться практически любой источник данных;
• графическое представление получаемых в результате расчета данных. Визуализация данных в реальном времени;
• наличие встроенной, контекстно-зависимой системы помощи и подсказок пользователю;
• легкость в изучении и использовании.
Работа со ScopeShell состоит в манипуляции с древовидными списками и таблицами. Настройка ScopeShell на конкретный численный код проводится один раз и сохраняется в виде проекта. Проекты можно копировать и модифицировать, что позволяет избежать введения большого объема информации заново. ScopeShell предоставляет возможность наблюдать динамику создания файлов, визуализировать их содержание. Для хранения результатов вычислительного эксперимента и информации о соответствующих файлах в рамках системы ScopeShell разработана подсистема, состоящая из трех основных компонент — сервера баз данных, программы-демона на стороне сервера баз данных и клиентской части.
Работа с библиотекой требует выполнения многочисленных рутинных операций процесса настройки исходных файлов прикладного программного обеспечения на решение конкретной задачи. Для их автоматизации разработана система UMB (Universal Meta-Builder), реализующая следующие основные функции:
• интерпретация специального языка настройки модулей, описывающего диалог с пользователем и процесс сборки расчетной программы из набора модулей;
• диалог с пользователем в виде удобного графического интерфейса;
• формирование расчетной программы из модулей с преобразованием текста их тела, включающим осуществление макроподстановок, выбор фрагмента из числа альтернативных и других операций редактирования;
• документирование процесса сборки расчетной программы, повторение процесса сборки в упрощенном режиме диалога на основе данных из архива, предоставление разнообразной справочной информации.
UMB полностью написана на Java.
5. Заключение. Создана уникальная библиотека программ "Виртуальный токамак". С ее помощью решен ряд важных прикладных задач. В ходе эксплуатации библиотеки подтверждены преимущества интеграции кодов в единую систему. Например, при расчете сценария разряда на строящемся в Республике Казахстан токамаке КТМ библиотека позволила оперативно сопоставлять результаты вычислений по нескольким моделям, что существенно повысило адекватность и надежность результатов [13]. Еще больший эффект от интеграции кодов можно ожидать при планировании и сопровождении экспериментов на крупных установках.
Система впервые объединила в единую библиотеку коды, моделирующие различные процессы в плазме установок токамак: МГД равновесие, МГД устойчивость, транспорт, эволюцию, влияние различного рода внешних источников, а также коды, решающие задачи диагностики и управления плазмой. Наличие общей программной оболочки позволило эффективно осуществлять комплексное моделирование процессов в токамаке, рассматривая установку и происходящие в ней процессы в целом. В ряде зарубежных научных центров по управляемому термоядерному синтезу ведутся работы по созданию подобного рода библиотек. Однако этим разработкам присущ ряд существенных недостатков, например, в проекте FusionGrid [18] слабо развиты средства динамического взаимодействия кодов, а также недостаточно представлены кинетические модели и методы решения обратных задач диагностики плазмы. Аналогов библиотеки "Виртуальный токамак" в России нет.
Библиотека реализована в рамках специализированного портала с использованием и развитием платформонезависимых технологий, сетевого протокола VNC, различных подходов Web-программирования, методов распределенных вычислений, подходов теории управления и принятия решений, методов защиты информации и обеспечения безопасности компьютерных систем. Совокупность данных методики и технологий впервые применена к решению задач в области имитационного моделирования высокотемпературной плазмы. Новые подходы позволили заметно повысить производительность труда исследователя, сделать уникальное наукоемкое прикладное программное обеспечение доступным специалистам, не занятым непосредственно в его разработке.
СПИСОК ЛИТЕРАТУРЫ
1. Днестровский Ю.Н., Костомаров Д. П. Математическое моделирование плазмы. М.: Издательская фирма "Физико-математическая литература"; ВО "Наука", 1993.
2. Зайцев Ф. С. Математическое моделирование эволюции тороидальной плазмы. М.: МАКС Пресс, 2005. С. 524.
3.Костомаров Д.П., Зайцев Ф.С., Шишкин А. Г. и др. Графический интерфейс ScopeShell: поддержка вычислительного эксперимента и визуализация данных // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2010. № 4. С. 42-48.
4. http://www.drupal.ru
5. Сычугов Д.Ю., Шишкин А.Г., Зайцев Ф. С. и др. Библиотека программ "Виртуальный токамак" //XI Международный семинар "Супервычисления и математическое моделирование". Саров: РФЯЦ,
2009. С. 101-102.
6. Сычугов Д. Ю. Код для расчета МГД равновесия TOKAMEQ (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2008. Вып. 4. С. 85-89.
7. Хайрутдинов P.P., Лукаш В. Э. Программа расчета МГД-равновесия плазмы в токамаке DINA-SVD (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2008. Вып. 3. С. 87-89.
8. Zaitsev F.S., Shishkin A.G., Kostomarov D. P. et al. The numerical solution of the self consistent evolution of plasma equilibria // Computer Physics Communications. 2004. 157. N 2. P. 107-120.
9. Khayrutdinov R. R., Lukash V. E. Studies of plasma equilibrium and transport in a tokamak fusion device with the inverse-variable technique // J. Comp. Phys. 1993. 2. N 109. P. 193-201.
10. Pereverzev G. V., Yushmanov P.N., Dnestrovskiy A.Yu. et al. ASTRA, an Automatic System for Transport Analysis in a Tokamak. Preprint IAE-5358. M.: Kurchatov Inst., 1992.
11. http://www.realvnc.com
12. http://selinuxproject.org
13. Сычугов Д.Ю., Шаповалов Г. В., В о л ы н ки на Ю. В. и др. Численное моделирование омического сценария разряда в токамаке КТМ // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез.
2010. Вып. 1. С. 38-45.
14. Сычугов Д.Ю., Амелин В.В., Гасилов H.A. Модуль TOKSTAB (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2010. Вып. 3. С. 46-49.
15. Сычугов Д. Ю. Новая версия кода TOKAMEQ для расчета конфигураций с произвольным профилем тока и расширенным дивертором (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2009. Вып. 3. С. 60-62.
16. Хайрутдинов P.P., Лукаш В.Э. Модуль "DINA-EQDSK" (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2009. Вып. 3. С. 57-59.
17. Хайрутдинов P.P., Лукаш В.Э. Модуль "DINA-Transp" (модуль библиотеки программ "Виртуальный токамак") // Вопросы Атомной Науки и Техники. Сер. Термоядерный синтез. 2010. Вып. 3. С. 50-54.
18. http://www.fusiongrid.org
Поступила в редакцию 07.02.11
"VIRTUAL TOKAMAK" SOFTWARE TOOLBOX
Kostomarov D. P., Zaitsev F.S., Shishkin A. G., Sychugov D.Yu., Stepanov S.V., Suchkov E. P.
The conception of "Virtual Tokamak" toolbox, its options, main elements and method of use. The software is intended for prediction and support of experiments, for data analysis in tokamaks — devices for controlled nuclear fusion. The software of toolbox consists of interactive graphical shell and a number of interconnected computer codes for modeling various plasma processes, construction elements, plasma diagnostics and control units. The toolbox is a implementation of new information technologies including Internet-technologies and grid computations in the field of mathematical modeling of plasma. Taking into account the applied and system software the toolbox "Virtual Tokamak" is a unique one.
Keywords: software toolbox, controlled thermonuclear fusion, internet-technologies.