УДК 004.942
Л. О. Хорошавин*, Э. М. Кольцова
Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия 125480, Москва, ул. Героев Панфиловцев, д. 20, корп. 1 * e-mail: [email protected]
АРХИТЕКТУРА ВЫСОКОПРОИЗВОДИТЕЛЬНОГО КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ ДЛЯ КВАНТОВО-МЕХАНИЧЕСКОГО РАСЧЕТА ОДНОСЛОЙНЫХ УГЛЕРОДНЫХ НАНОТРУБОК, СОДЕРЖАЩИХ ДЕФЕКТЫ АТОМНОГО МАСШТАБА
В работе рассматривается функциональная структура клиент-серверного приложения для квантово-механического расчета однослойных углеродных нанотрубок, содержащих дефекты атомного масштаба. Показано взаимодействие подсистем клиентской и серверной части приложения. Перечислены функциональные возможности каждой подсистемы.
Ключевые слова: моделирование; высокопроизводительные вычисления; углеродные нанотрубки; клиент-серверное приложение; информационная система.
Развитие современной наноэлектроники невозможно без теоретических методов расчета электронных свойств наноструктур. Однослойные углеродные нанотрубки (ОУНТ) вызывают особый интерес своей устойчивой атомной структурой и уникальными физическими и электрическими свойствами. Благодаря своим малым размерам, разнообразным электрическим, оптическим, и магнитным свойствам, механической прочности и химической стабильности ОУНТ нашли свое применение в качестве рабочих элементов электронных устройств [1-3]. Однако несмотря на совершенство строения ОУНТ, в них могут самопроизвольно или целенаправленно создаваться различные дефекты атомного масштаба: примеси, вакансии, топологические дефекты. Даже единственный дефект может коренным образом изменить электрические характеристики нанотрубки [4]. В связи с эти возникает важная задача моделирования электронного строения и оптоэлектрических свойств нанотрубок и нанопроводов, содержащих дефекты.
В настоящее время для расчета электронных и оптических свойств нанотрубок широко используются методы, использующие базисы из плоских волн или атомные орбиты. Серьезным ограничением этих методов является невозможность расчета свойств нанотрубок, имеющих более 50 атомов в трансляционной ячейке, а так же нанотрубок, содержащих дефекты, так как в такой системе исчезает трансляционная симметрия. Поэтому для расчета электронной структуры нанотрубок очень важно использовать метод, который был бы полностью адаптирован к особенностям их геометрического строения. Этим требованиям полностью соответствует развиваемый нами метод линеаризованных присоединенных
цилиндрических волн (ЛПЦВ). Авторы метода исходят из идеи о том, что путем соответствующей модификации классический метод
присоединенных плоских волн (ППВ), широко используемый для вычисления электронной структуры кристаллов, может быть обобщен и распространен на решение задач наноматериаловедения. Существуют модели, в которых с помощью теории функций Грина и метода ЛПЦВ осуществлены расчеты электронных свойств нанотрубок, содержащих точечные (единичные) азотные и борные примеси [5]. Соответственно, ближайшей актуальной задачей является разработка варианта теории функций Грина в рамках метода ЛПЦВ для случая парных и более сложных примесей, а также вакансий и топологических дефектов. Квантово-механические расчеты нанотрубок, содержащих точечные дефекты, показали, что для осуществления моделирования требуются значительно большие вычислительные ресурсы, чем те, которыми обладает персональный компьютер. В случае парных и более сложных дефектов требования к вычислительным мощностям еще выше. В связи с этим большую значимость приобретает использование высокопроизводительных вычислительных
систем (суперкомпьютеров). Для этих целей было разработано высокопроизводительное клиент-серверное приложение, структура и подсистемы которого представлены в данной работе.
Понятие архитектуры клиент-сервер для любой задачи связано с делением приложения на три основных компонента или слоя. Этими тремя слоями являются:
• слой представления (визуализации) данных,
• слой прикладной логики,
• слой управления базой данных.
Таким образом, приложение осуществляет обмен информацией с пользователем с помощью слоя представления, на основании введенной информации на слое прикладной логики осуществляется квантово-механический расчет и, наконец, полученные данные записываются в базу данных через слой управления БД. Основным критерием, позволяющим отнести данный прикладной комплекс к архитектуре клиент-сервер, заключается в том, что слой представления данных выполняется на клиенте, а слой логики и слой управления базой данных выносятся на суперкомпьютер. Взаимодействие между клиентом и сервером осуществляется посредством передачи запросов на получение/отправку того или иного ресурса как показано на рисунке 1.
точность вычисления, количество точек в зоне Бриллюэна, тип и расположение дефекта и др.) и настройки запуска (количество вычислительных ядер в различных зонах вычислительного приложения, а так же распределение итераций по нитям). Блок вывода данных предназначен для сохранения или печати результатов вычисления (в графическом и текстовом виде).
Подсистема визуализации результатов моделирования служит для вывода на экран результатов моделирования в удобной для пользователя форме. Подсистема содержит функции для построения и редактирования графиков.
Подсистема обмена сетевыми сообщениями
Клиент
Сервер
Представление данных
1 АР1
Прикладной уровень
Данный
ьщ
** База
данных
Даные
I
Рис. 1. Схема взаимодействия между клиентом и сервером.
На рисунке 2 представлена функциональная структура клиентской части приложения. В ней исходя из функционального назначения можно выделить четыре основных подсистемы: ввода и вывода данных, визуализации результатов моделирования, сетевых сообщений и главный управляющий процесс. Рассмотрим эти подсистемы более подробно.
Главный управляющий процесс необходим для объединения и корректного функционирования всех остальных подсистем. Этот процесс отвечает за создание графического пользовательского интерфейса и его управление. Так же он осуществляет обработку событий
пользовательского интерфейса путем вызова функций соответствующей подсистемы и передачи туда данных, введенных пользователем, осуществляет обработку ошибок, в случае некорректного ввода.
Подсистема ввода/вывода данных предназначена для загрузки основных параметров расчета, настроек запуска вычислительного приложения, ввода исходных данных, сохранения результатов вычислений. Ее можно разделить на два логических блока: блок ввода и блок вывода. В блоке ввода данных реализованы функции ручного ввода исходных данных и считывания данных из файла. При создании нового вычислительного задания задаются параметры расчета (индексы хиральности нанотрубки,
необходима для управления соединением с сервером, а так же отправки и принятия сообщений от него. В этой подсистеме находятся функции для работы с сервером: регистрации/аутентификации пользователя,
создание нового задания на основании данных, введенных в подсистеме ввода/вывода, получение списка вычислений и их статуса, удаление/отмена вычисления и др. Так же эта подсистема обрабатывает приходящие с сервера сообщения и передает полученные данные главному управляющему процессу.
На рисунке 3 представлена функциональная структура серверной части приложения. Исходя из функционального назначения в ней можно выделить следующие подсистемы: управления пользователями, управления задачами, сетевых сообщений и главный управляющий процесс.
Главный управляющий процесс, так же как и в клиенте осуществляет объединение всех остальных подсистем. Если одной подсистеме необходимо осуществить вызов функции другой подсистемы, то управляющий процесс делает это, возвращая результат вызывающей стороне. В случае возникновения ошибок выполнения тех или иных функций управляющий процесс обрабатывает исключения и делает запись в журнале ошибок, если же дальнейшее функционирование приложения невозможно, то оно корректно останавливается.
Подсистема управления пользователями необходима для создания, редактирования или удаления пользователей системы. Так же данная подсистема осуществляет аутентификацию пользователей на основании имени пользователя и пароля, ограничивает доступ пользователя к задачам и результатам других пользователей системы. Все необходимые для
функционирования этой подсистемы данные хранятся в базе данных «Пользователи».
суперкомпьютере. Как только на суперкомпьютере освободится необходимое количество вычислительных ресурсов, задача будет поставлена на выполнение. Так же данная подсистема выполняет:
• выделение необходимого для выполнения вычисления места на жестком диске,
• контроль прогресса выполнения расчета,
• удаление/отмену расчета,
• получение результатов расчета и сохранение их
Подсистема ввода/вывода данных
Подсистема визуализации результатов моделирования
1 1
Главный управляющий процесс
1 1
Подсистема обмена сетевыми сообщениями
Г -I
I
I
Сервер
Рис. 2. Функциональная структура клиентской части приложения.
Подсистема управления задачами
База данных расчетов
§
т
База данных пользователей
т
Главный управляющий процесс
п
Подсистема обмена сетевыми сообщениями
Подсистема управления пользователями
Клиент
Рис. 3. Функциональная структура серверной части приложения
Подсистема управления задачами - одна из самых важнейших составляющих серверной части приложения. На основании пришедших с клиента данных производится формирование файла с исходными данными и скрипта для запуска приложения, затем осуществляется постановка расчета в общую очередь задач на
в базу данных «Расчеты».
Подсистема сетевых сообщений необходима для поддержания соединений со всеми подключенными клиентами, а так же для обмена информацией с ними. Она осуществляет
обработку приходящих запросов и передает полученную информацию в главный процесс.
Предложенная архитектура
высокопроизводительного клиент-серверного приложения в настоящее время реализуется в виде двух отдельных приложений: клиентская часть
разрабатывается на языке программирования haxe. серверная часть - на языке node.js.
Исследования выполнены при финансовой поддержке РФФИ в рамках научного проекта 1403-00493.
Хорошавин Леонид Олегович, аспирант кафедры информационных компьютерных технологий РХТУ им. Д. И. Менделеева, Россия, Москва
Кольцова Элеонора Моисеевна, проф., д.т.н., заведующая кафедрой информационных компьютерных технологий РХТУ им. Д. И. Менделеева, Россия, Москва
Литература
1. Saito S. Carbon nanotubes for next-generation electronic devices//Science - 1997. № 278.-P. 77-78.
2. Бобринецкий И.И., Неволин В.К., Чаплыгин Ю.А. Логические ключи на основе пучков однослойных углеродных нанотрубок // Микросистемная техника. - 2004. - № 7. - С. 12-14.
3. Ahlskog M., Laurent C., Baxendale M. Electronic properties and applications of carbon nanotubes // Amer. Sci. Publ.- 2004. Vol. 2. - P. 139-161.
4. Bockrath M., Liang W., Bozovic D. Resonant electron scattering by defects in single-walled carbon nanotubes // Science - 2001. № 291. - P. 283.
5. D'yachkov P. N., Kutlubaev D. Z., Makaev D.V. Linear augmented cylindrical wave Green's function method for electronic structure of nanotubes with substitutional impurities //Phys. Rev. B. - 2010. Vol. 82. № 3. - P. 35426.
KhoroshavinLeonidOlegovich*, KoltsovaEleonoraMoiseevna D.I. Mendeleev University of Chemical Technology of Russia, Moscow, Russia. * e-mail: [email protected]
ARCHITECTURE OF THE HIGH PERFORMANCE CLIENT-SERVER APPLICATION FOR QUANTUM MECHANICAL CALCULATIONS OF SINGLE WALLED CARBON NANOTUBES WITH ATOMIC-SCALE DEFECTS
Abstract
The functional structure of the client-server application for quantum-mechanical calculation of single-walled carbon nanotubes with atomic-scale defects is considered in the paper. The interaction between subsystems of client and server parts of the application is shown. A functionality of all subsystems and whole information system are presented.
Key words: modeling; high-performance computing; carbon nanotubes; client-server application; information system.