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

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

CC BY
197
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИЗАЙН МАТЕРИАЛОВ / РАСПРЕДЕЛЁННЫЕ ВЫЧИСЛЕНИЯ / ПРОГРАММИРОВАНИЕ / ГРИД-СИСТЕМЫ / ОПТИМИЗАЦИЯ / УСПЕХ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Оганов Артем Ромаевич, Посыпкин Михаил Анатольевич, Ройзен Валерий Валерьевич, Самцевич Артём, Сухомлин Владимир Александрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Оганов Артем Ромаевич, Посыпкин Михаил Анатольевич, Ройзен Валерий Валерьевич, Самцевич Артём, Сухомлин Владимир Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Система добровольных вычислений для компьютерного дизайна материалов»

УДК 004.41

Оганов А.Р.1'2'3'4, Посыпкин М.П.5, Ройзен В.В.2, Самцевич А.И.1, Сухомлин В.А. 6,

Храпов Н.П.7

1 Сколковский институт науки и технологии, Инновационный центр Сколково, г. Москва, Россия

2 Лаборатория компьютерного дизаина материалов, Московскии физико-техническии институт,

г. Москва, Россия

3 Геологическии факультет, Университет Стони Брук, штат Нью-Иорк, США

4 Школа материаловедения и инженерии, Северо-западным университет, г. Сиань, Шанкси, КНР

5 Вычислительным центр им. А.А. Дородницына ФИЦ ИУ РАН, г. Москва, Россия 6 Московскии государственным университет им. М.В. Ломоносова, г. Москва, Россия 7 Институт Проблем Передачи Информации РАН, г. Москва, Россия

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

МАТЕРИАЛОВ

АННОТАЦИЯ

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

КЛЮЧЕВЫЕ СЛОВА

Дизайн материалов; распределённые вычисления; программирование; грид-системы; оптимизация; успех.

Oganov A.1-2-3-4, Posypkin M.5, Rozen V.2, Santsevich A.1, Sukhomlin V.6, Khrapov N.7

1 Skolkovo Institute of Science and Technology, Moscow, Russia

2 Computational Materials Discovery Lab MIPT, Moscow, Russia

3 Stony Brook University, Computational materials discovery laboratory (Oganov's Lab), USA 4 Nordwest Normal University, Xian, China

5 Dorodnicyn Computing Centre, Federal Research Center "Computer Science and Control" of Russian

Academy of Sciences, Moscow, Russia 6 Institute for Information Transmission Problems of RAS, Moscow, Russia

VOLUNTEER COMPUTING FOR COMPUTATIONAL MATERIALS DESIGN

ABSTRACT

The problem of crystal structure prediction is very old and does, in fact, constitute the central problem of theoretical crystal chemistry. In this paper, we talk about the USPEX evolutionary algorithm. Here we present the distributed computing implementation of the USPEX based on a popular BOINC volunteer computing platform. In the talk we present experimental results and discuss project performance.

KEYWORDS

Distributed computing; evolutionary algorithm.

Введение

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

Эволюционным алгоритм USPEX [2] является одним из самых эффективных методов для

решения этой задачи, что подтверждается «слепыми» тестами по предсказанию органических и неорганических кристаллов и рядом исследовании [1, 3]. Кроме того, USPEX успешно применялся для предсказания структур наночастиц [4] и полимеров [5].

Тем не менее, эффективное решение задачи компьютерного дизаина материалов требует мощных вычислительных ресурсов. Перспективным способом для решения этои проблемы являются добровольные вычисления, которые уже успешно применяются для решения близкои задачи предсказания структуры белков в рамках проекта Rosetta@HOME [7].

В настоящеи работе мы описываем реализованную для алгоритма USPEX систему распределенных вычислении, основанную на популярнои платформе BOINC [6]. Принцип работы системы можно кратко описать следующим образом: алгоритм USPEX запускается на отдельном сервере и в процессе работы создает задания, которые затем загружаются на сервер проекта добровольных вычислении. Затем эти задания отправляются на машины добровольцев с помощью инфраструктуры BOINC. Задания представляют из себя входные фаилы для расчетов с помощью программы GULP [8]. После выполнения задания оно собирается сервером проекта BOINC. После чего полученные результаты пересылаются на USPEX-сервер. Далее в работе мы приводим подробное описание принципов работы системы и полученные с ее помощью результаты.

Компьютерный дизайн материалов

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

Рассмотрим в качестве примера задачу предсказания кристаллическои структуры. Из простых соображении комбинаторики [2] легко получить оценку числа потенциально возможных кристаллическии структур:

где N - это полное число атомов в элементарнои ячеике объемом V, в - разумньш параметр дискретизации (например, 1 ангстрем) и т число атомов типа i в элементарнои ячеике.

Даже для небольших систем (W~10-20), C принимает астрономическое значение (приблизительно 10м).

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

Эволюционный алгоритм

USPEX - это эволюционным алгоритм [2], первоначально разработанныи для предсказания кристаллических структур. В настоящее время он также адаптирован для предсказания нанокластеров [4] и полимеров [5]. Его эффективность обусловлена сочетанием глобальнои и локальнои оптимизации, что позволяет эффективно исследовать пространство поиска и избегать "залипания" в локальных минимумах.

Общая схема работы алгоритма представлена на рис. 1. Ниже приводится краткое описание его работы.

Весь расчет разбит на поколения, состоящие из структур. Первое поколение генерируется случаиным образом с помощью операторов симметрии, характерных для изучаемои системы (например, пространственных групп симметрии для кристаллов). Затем все структуры релаксируются в несколько этапов для приведения их к локальным минимумам. Для этого используются сторонние программы для квантово-химических расчетов или для классических расчетов методами потенциалов силового поля. В даннои работе применялась программа General Utility Lattice Program (GULP) [8]. Это свободное ПО, позволяющее проводить расчеты с помощью различных потенциалов силового поля.

Рис.1. Схема работы алгоритма USPEX

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

Наиболее затратным с точки зрения вычислительных ресурсов является этап релаксации структур. Использование системы добровольных вычислении позволяет ускорить расчеты в несколько раз. Далее мы подробно опишем принципы работы разработаннои системы.

Добровольные вычисления

Если сравнивать принцип функционирования ГСПК с сервисными грид-системами и кластерами, то можно выделить основные отличия:

1. Обмен данными осуществляется только между вычислительным узлом и сервером проекта, прямого обмена данных между вычислительными узлами нет.

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

3. Нестабильность работы узлов - любой узел может в любой момент на неопределённое время прекратить выполнять расчёты. Это приводит к очень существенной разнице во времени обработки расчетных блоков.

Для исследования влияния перечисленных факторов на производительность распределеннои реализации метода ветвеи и границ и выработки оптимальнои стратегии такои реализации была разработан программным прототип для платформы BOINC. BOINC (Berkeley Open Infrastructure for Network Computing) представляет собои платформу с открытым кодом для организации проектов добровольных вычислении. Разработка системы ведется в U.C. Berkeley Spaces Sciences Laboratory (США)исследовательскои группои, которая также разрабатывала проект SETI@home. Работа над BOINC была начата в 2002 году с целью создания универсальнои программнои платформы для проектов подобного рода, которая бы упростила процесс развертывания необходимои инфраструктуры и разработки приложении. Первыи проект добровольных вычислении на основе BOINC был запущен в 2004 году. В настоящее насчитывается более 80 публичных проектов на основе BOINC, делая платформу стандартом де-факто в даннои области.

Все программное обеспечение BOINC можно разделить на две компоненты: клиентскую и серверную части программного обеспечения. Клиентская часть устанавливается на вычислительном узле. В ее задачи входит:

1. Подключиться к одному из проектов, к какому именно указывает владелец машины;

2. Запрашивать задания у центрального сервера;

3. Скачивать задания с сервера, если они там есть;

4. Запускать у себя скачанные задания;

5. Результаты работы заданий отсылать обратно на сервер.

Серверная часть программного обеспечения BOINC выполняет следующие деиствия:

1. Создает задания для пересылки на вычислительные узлы;

2. Отвечает на клиентские запросы, отправляет задания на вычислительные узлы;

3. Получает результаты работы задания и передает их для дальнейшей обработки;

4. Содержит в себе web-сервер для получения информации о проекте через web-интерфейс.

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

Интеграция систем BOINC и USPEX

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

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

Для осуществления интеграции был разработан набор программных компонентов, осуществляющии взаимодеиствие между USPEX и BOINC-сервером. На стороне USPEX запускаются скрипты, осуществляющие отправку задании в инфраструктуру BOINC, а на стороне BOINC-сервера были реализованы скрипты, обрабатывающие запросы системы USPEX.

Обсуждение

Для тестирования стабильности разработаннои системы было проведено несколько расчетов. В даннои работе мы представим результаты расчета стандартного примера USPEX по предсказанию кристаллическои структуры MgAhO4 при давлении 100ГПа. Это вычисление с переменными параметрами ячеики с помощью потенциала Букингема, реализованного в коде GULP.

Для расчета были использованы следующие настроики. Число атомов в элементарнои ячеике было выставлено равным 28. Структуры первого поколения генерировались случаиным образом с помощью специального оператора. Структуры во всех следующих поколениях генерировались с помощью операторов наследования (50%), перестановки (10%), атомнои мутации (20%) и случаиным образом с помощью специального оператора (20%). После первого поколения процентное соотношение между операторами определялось USPEX самостоятельно.

Для проверки стабильности работы системы процедуры предсказания были проведены 5 раз. Во всех случаях верная структура была наидена в течение первых 5 поколении. Предсказанная структура показана на рис. 2.

Рис.2. Кристаллическая структура МдА1г04 в разных проекциях, предсказанная USPEX. Пространственная группа: Cmcm Параметры ячейки: a = 2.63 b = 8.78 c = 8.72; Mg (0.00;0.12;0.75), Si(0.50,0.13,0.076), 0(0.50,0.05,0.25),

0(0.00,0.27,0.11), 0(0.00,0.00,0.00)

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

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

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

Работа выполнена при поддержке грантов РФФИ 16-07-00458 А, 16-07-00873 А, гранта

государственной поддержки ведущих научных школ НШ-8860.2016.1.

Литература

1. Oganov A.R., Schön J.C., Jansen M., Woodley S.M., Tipton W.W., Hennig R.G. (2010). Modern Methods of Crystal Structure Prediction (ed. A.R. Oganov), pp. 223-231. Berlin: Wiley-VCH.

2. Oganov A.R., Glass C.W. (2006). Crystal structure prediction using ab initio evolutionary techniques: principles and applications. J. Chem. Phys. 124, art. 244704.

3. Zhang W.W., Oganov A.R., Goncharov A.F., Zhu Q., Boulfelfel S.E., Lyakhov A.O., Stavrou E., Somayazulu M., Prakapenka V.B., Konopkova Z. (2013). Unexpected stoichiometries of stable sodium chlorides. Science 342, 1502-1505.

4. Matsko N. L., Tikhonov E. V., Baturin V. S., Lepeshkin S. V., Oganov A. R. (2016). The impact of electron correlations on the energetics and stability of silicon nanoclusters. J. Chem. Phys. 145, 074313.

5. Sharma, V., Wang, C., Lorenzini, R. G., Ma, R., Zhu, Q., Sinkovits, D. W., Pilania, G., Oganov, A. R., Kumar, S., Sotzing, G. A., Boggs S.A., Ramprasad R. (2014). Rational design of all organic polymer dielectrics. Nat. Commun. 5 , art. 4845.

6. Anderson, D. P. (2004, November). Boinc: A system for public-resource computing and storage. In Grid Computing, 2004. Proceedings. Fifth IEEE/ACM International Workshop on (pp. 4-10). IEEE.

7. Simons K, Kooperberg C, Huang E, Baker D (1997) Assembly of Protein Tertiary Structures from Fragments with Similar Local Sequences using Simulated Annealing and Bayesian Scoring Functions. J. Mol. Biol. 268:209-225.

8. J.D. Gale and A.L. Rohl. The General Utility Lattice Program (GULP). Mol. Simul., 29:291-341, 2003.

9. Oganov A.R., Lyakhov A.O., Valle M. (2011). How evolutionary crystal structure prediction works - and why. Acc. Chem. Res. 44, 227-237.

References

1. Oganov A.R., Schön J.C., Jansen M., Woodley S.M., Tipton W.W., Hennig R.G. (2010). Modern Methods of Crystal Structure Prediction (ed. A.R. Oganov), pp. 223-231. Berlin: Wiley-VCH.

2. Oganov A.R., Glass C.W. (2006). Crystal structure prediction using ab initio evolutionary techniques: principles and applications. J. Chem. Phys. 124, art. 244704.

3. Zhang W.W., Oganov A.R., Goncharov A.F., Zhu Q., Boulfelfel S.E., Lyakhov A.O., Stavrou E., Somayazulu M., Prakapenka V.B., Konopkova Z. (2013). Unexpected stoichiometries of stable sodium chlorides. Science 342, 1502-1505.

4. Matsko N. L., Tikhonov E. V., Baturin V. S., Lepeshkin S. V., Oganov A. R. (2016). The impact of electron correlations on the energetics and stability of silicon nanoclusters. J. Chem. Phys. 145, 074313.

5. Sharma, V., Wang, C., Lorenzini, R. G., Ma, R., Zhu, Q., Sinkovits, D. W., Pilania, G., Oganov, A. R., Kumar, S., Sotzing, G. A., Boggs S.A., Ramprasad R. (2014). Rational design of all organic polymer dielectrics. Nat. Commun. 5 , art. 4845.

6. Anderson, D. P. (2004, November). Boinc: A system for public-resource computing and storage. In Grid Computing, 2004. Proceedings. Fifth IEEE/ACM International Workshop on (pp. 4-10). IEEE.

7. Simons K, Kooperberg C, Huang E, Baker D (1997) Assembly of Protein Tertiary Structures from Fragments with Similar Local Sequences using Simulated Annealing and Bayesian Scoring Functions. J. Mol. Biol. 268:209-225.

8. J.D. Gale and A.L. Rohl. The General Utility Lattice Program (GULP). Mol. Simul., 29:291-341, 2003.

9. Oganov A.R., Lyakhov A.O., Valle M. (2011). How evolutionary crystal structure prediction works - and why. Acc. Chem. Res. 44, 227-237.

Поступила 21.10.2016

Об авторах:

Оганов Артём Романиевич, профессор Сколковского института науки и технологии, доктор технических наук, A.Oganov@skoltech.ru;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Посыпкин Михаил Анатольевич, зав. отделом, Федеральный исследовательский центр "Информатика и управление" РАН, доктор физико-математических наук, mposypkin@gmail.com;

Ройзен Валерий Валерьевич, младший научный сотрудник и аспирант лаборатории компьютерного дизайна материалов МФТИ, valmipt@gmail.com;

Самцевич Артём, аспирант Сколковского института науки и технологии;

Сухомлин Владимир Александрович, ФГБОУ ВО "Московский государственный университет имени М.В. Ломоносова", доктор технических наук, профессор, заведующий лабораторией открытых информационных технологий факультета вычислительной математики и кибернетики, sukhomlin@mail.ru;

Храпов Николай Павлович, инженер Института проблем передачи информации им. А.А. Харкевича Российской академии наук, nkhrapov@gmail.com.

i Надоели баннеры? Вы всегда можете отключить рекламу.