Table Of ContentФедеральное государственное бюджетное образовательное учреждение
высшего образования
«Сибирский государственный университет
телекоммуникаций и информатики»
(СибГУТИ)
МАТЕРИАЛЫ РОССИЙСКОЙ
НАУЧНО-ТЕХНИЧЕСКОЙ
КОНФЕРЕНЦИИ
«ОБРАБОТКА ИНФОРМАЦИИ
И
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ»
22-23 апреля 2021 г.
Новосибирск
ISBN 978-5-91434-061-9
СибГУТИ выражает благодарность всем авторам научных публикаций
сборника – сотрудникам, студентам, аспирантам и молодым ученым.
Ответственность за правильность, точность и корректность цитирования, ссылок и
перевода, достоверность информации и оригинальность представленных материалов
несут их авторы.
© ФГБОУ ВО «Сибирский государственный
университет телекоммуникаций и информатики» 2021
© Авторы 2021
2
СОДЕРЖАНИЕ
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
Баранов А.А., Павский К.В., Новиков П.Л. Ускоренный параллельный алгоритм
поиска соседей в атомной кристаллической решетки для систем с
распределенной памятью. 5
Берлизов Д. М., Ткачёва Т. А. Применение деревьев принятия решений для
выбора оптимального алгоритма трансляционного обмена стандарта
MPI. 12
Гайдук П. А., Крюкова Л. П. Метод оценки производительности фазы
маркировки в параллельных сборщиках мусора. 19
Гвоздева С.Н. Оценка быстродействия устройства для возведения бинарной
матрицы в квадрат. 23
Исанбаев Т. Р., Крюкова Л. П. Тестирование производительности баз данных. 32
Крамаренко К.Е., Курносов М.Г. Анализ потребления памяти при
распознавании речи пакетом Kaldi для языковых моделей большой размерности. 37
Курносов М. Г., Токмашева Е. И., Ткачева Т. А. Анализ эффективности
алгоритмов барьерной синхронизации на NUMA-системах. 41
Майданов Ю. С., Романюта А. А. Обзор статистических подходов к
прогнозированию временных рядов показателей вычислительных систем. 48
Насонова А. О., Курносов М. Г. Оптимизация обработки производных
типов данных в операции Scatter библиотеки Open MPI. 53
Ситников. Д.А., Крюкова Л.П., Исследование и сравнение
клиент-серверной и P2P архитектуры. 58
Чунихин А. А., Бочкарев Б. В., Крюкова Л.П. Разработка средств анализа
эффективности intrinsic-функций в виртуальных Java-машинах. 63
ИНФОРМАТИКА И МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Алтынбекова Г. Ж., Жукова Е. Д., Неупокоев М. В., Гриф А. М. Решение
обратной задачи гравиразведки с использованием аппарата нейронных сетей. 69
Аникеева А. Е. Математическая модель влияния гамма-излучения
на параметры оптического волокна. 75
Баргуев С.Г. Приближенное решение начально -краевой задачи о колебаниях
системы упругого стержня с твердым телом путем разложения в ряды по
системе линейно независимых функций и скаляров. 83
Варданян В.А., Варданян Н.В. Математическое моделирование дисперсионного
канала связи на основе частотно-временных преобразований. 88
Васильченко А.А., Керимов И.В., Малахов А.А. Обработка траекторных снимков. 95
Васильченко А.А., Керимов И.В., Второв О.И. Априорная оценка точности
траекторных измерений. 103
Воронин Д.В. О детонации в плоской радиальной камере. 114
Гриф А.М. Построение неоднородностей по латерали в виде ячеек Вороного
для моделей нефтегазовых месторождений. 121
Данилова Л.Ф., Поддубный Д.И., Андреева Т.И. Технология поддержки
образовательного контента в соответствии с профессиональными требованиями
на основе классификации данных и построении онтологических моделей. 128
Домников П. А., Иванов М. В., Кошкина Ю. И. Применение векторного метода
3
конечных элементов для решения двумерных задач индукционного каротажа. 142
Захарова Т.Э. Экспериментальное подтверждение методики определения
функциональных зависимостей и параметров определяющих уравнений
ползучести и повреждаемости. 147
Казначеева Н.В., Полетайкин А.Н. Оптимизационная модель построения
индивидуальной образовательной траектории. 153
Лемешко Б. Ю., Лемешко С. Б. О причинах некорректности выводов при
использовании непараметрических критериев согласия. 161
Ляхов О.А. Ошибки агрегирования в сетевых моделях управления проектами. 171
Макаров И. О., Гриф А. М., Патрушев И. И. Сравнение методов
интерпретации данных гравиметрии с помощью решения обратной задачи
и использования нейронных сетей. 178
Машейченко К. С., Данилова Л. Ф. Информационная технология
парсинга учебных заведений. 184
Милешко А.В. Исследование зависимости точности прогноза одномерных
временных рядов от длины ряда, при использовании методов прогнозирования,
основанных на универсальной мере R. 195
Моргунов А.В., Черемных А.О. Информационные технологии
обучения программированию с применением игровых механик геймификации. 204
Моргунов А.В. Оценка эффективности от внедрения информационной
системы управления документооборотом научно-образовательного учреждения. 210
Морозова К.И. Использование свёрточных нейронных сетей для
восстановления аудиосигналов. 220
Нестеров А.С. Применение ИНС в задаче прогнозирования результатов
освоения абитуриентами профессиональной образовательной программы. 226
Павлова У.В. Метод прогнозирования временных рядов на основе конечных
автоматов в режиме реального времени. 234
Рубан А.А. Сравнение степенной и показательной функций. 239
Токтошов Г.Ы. Задачи размещения пунктов обслуживания сетей
инженерных коммуникаций. 243
Трофимов В. К., Храмова Т. В. Универсальное кодирование источников Мура и
Мили при условии неравнозначности длительности кодовых символов. 248
Филимонова Н. А. Применение экспериментально-численной модели потоков
данных для расчета пропускной способности локальной сети. 253
Черногорова И.В., Полетайкин А.Н. Реализация цифрового двойника
образовательной программы. 259
Четвертакова Ю. С., Черникова О. С. Градиентная процедура
параметрической идентификации стохастических нелинейных дискретных
систем на основе сигма-точечного фильтра Калмана. 267
Шманина Е. Ю. Использование LSTM-сетей для обнаружения аномалий
в поведении пользователя. 274
Шувалова В. И., Полетайкин А. Н. Компьютеризированная подсистема
фиксации и мониторинга трудовой деятельности работников завода. 280
4
Ускоренный параллельный алгоритм поиска
соседей в атомной кристаллической решетки для
систем с распределенной памятью
А.А. Баранов, К.В. Павский, П.Л. Новиков
В данной работе рассматривается применение различных видов оптимизации программ на
примере программы поиска соседей в кристаллической решётке структурированной
подложки Ge/Si(100). Для каждой оптимизации были сделаны исследования её
эффективности. Практическая ценность работы заключается в создании алгоритма, который
позволит наиболее эффективно использовать ресурсы вычислительных машин при
моделировании различных процессов, что позволит давать более точные предсказания за
меньшее время.
Ключевые слова: параллельные алгоритмы, структурированная подложка, гетероэпитасия,
поиск соседей атомов.
1. Введение
Объектом нашего исследования являются параллельные алгоритмы и программы,
позволяющие ускорить моделирование процессов создания полупроводниковых
структурированных подложек кремния. Структурированными называют подложки, поверхность
которых содержит систему упорядоченных ямок, сформированных с помощью литографии [1].
Такие подложки находят своё применение в различных электронных приборах: СВЧ,
рентгеновские трубки, светодиоды и так далее. Однако процесс их создания изучен не
полностью. Так, до сих пор остаются открытыми вопросы механизма атомной диффузии в
ямках/канавках, механизма их зарождения и вопрос расчёта потенциального рельефа [2-4].
Производство таких подложек довольно трудо- и ресурсоёмкий процесс, поэтому
необходимо разработать такую систему, которая бы моделировала процесс их производства при
различных исходных данных. Это позволило бы найти оптимальные значения исходных
параметров (таких как толщина подложки, плотность и скорость зондового атома), чтобы в
дальнейшем использовать их на практике.
Моделирование процессов, сопровождающих гетероэпитаксию на структурированной
подложке производится с помощью метода молекулярной динамики [5-8].
Гетероэпитаксия — вид эпитаксии, когда растущий слой отличается по химическому составу
от вещества подложки [9].
Метод молекулярной динамики (МД) позволяет детально изучать физику микроскопических
явлений, рассчитывать параметры, задающие их энергетику. Однако, моделирование методом
МД связано с машинной обработкой большого объема данных и требует использования
эффективных алгоритмов. Например, для подложки размером 3x17x17 нм3 расчет
потенциального рельефа поверхности площадью 2x2 нм2 с помощью пакета Andersen на кластере
НГУ на базе процессоров Intel Xeon в режиме решения задач набора занимает около 3 месяцев.
Поэтому для адекватной имитации физических процессов моделирование должно проводиться с
использованием высокопроизводительных средств обработки информации, к которым относятся
распределенные вычислительные системы (ВС) [10]. При моделировании МД одной из
трудоемких задач является задача поиска соседей для каждого из атомов. Доля времени,
затрачиваемая на эту процедуру, может достигать 95%. В связи с этим, оптимизация вычислений
алгоритма поиска соседей и его распараллеливание могут дать ощутимый выигрыш по времени.
5
2. Метод молекулярной динамики
Для моделирования процессов, сопровождающих гетероэпитаксию на структурированной
подложке используется метод молекулярной динамики. Метод предназначен для изучения
различных физических процессов и заключается в точном в численном решении уравнений
движения системы с большим числом частиц (атомов), взаимодействие между которыми
описывается функцией координат атомов (эмпирическим потенциалом) [7].
Чтобы смоделировать процессы, сопровождающие гетероэпитаксию на структурированной
подложке, в работе используется метод молекулярной динамики. Метод заключается в точном
решении уравнений движения системы с большим количеством частиц (в данном случае атомов).
Метод широко применяется для различных физических процессов. Взаимодействие между
атомами описывается функцией, зависящей от координат атомов (эмпирическим
потенциалом)[7]
В данной работе моделируемая система представляет собой структуру Ge/Si(100), динамика
которой задается эмпирическим потенциалом межатомного взаимодействия Терсоффа [11].
Выбор потенциала не является случайным: его уникальным свойством является уменьшение
силы взаимодействия с увеличением числа насыщенных связей, что особенно существенно для
атомных конфигураций, возникающих на наклонных стенках ямок и на стыках граней островков
(характерный рельеф структурированных подложек).
Число атомов в системе составляет 104-106, время имитируемых процессов от 0.1 до 100пс.
3. Версии алгоритмов
3.1. Описание алгоритма
Одним из вариантов решения поставленной задачи является полный перебор всех пар
атомов, нахождение расстояния между ними и добавление этих пар в выходной массив, если это
расстояние оказалось меньше, чем заданное.
Реализация этого алгоритма заключается в следующем:
1. Запускается первый счётчик по списку атомов – это номер атома, для которого мы
ищем соседей, назовём его опорным.
2. Запускается второй счётчик по списку атомов – это номер атома, для которого мы
хотим узнать, является ли он соседом опорного атома.
3. Находим расстояние между ним и опорным, по формуле расстояния евклидовой
# # #
метрики где i, j – индексы атомов в массиве,
! " ! " ! " ! "
! ! (!𝜌#!𝑎 , 𝑎" & = #"𝑥"−" 𝑥).& +#𝑦 − 𝑦 & +#𝑧 − 𝑧 &
4. В зависимости от типов рассматриваемых атомов вычисляется – максимальное
𝑎 = (𝑥 𝑦 𝑧 ),𝑎 = #𝑥 𝑦 𝑧 & $
расстояние, на котором два атома являются соседями.
𝜌
5. Если < 0, то мы добавляем индексы этих атомов в массив соседей.
! "
Стоит заметить, что, исходя из формулы расстояния, . Это значит, что
𝜌(𝑎 ,𝑎 ) ! " " !
если является соседним по отношению , то и является соседним по отношению к .
! " " 𝜌#𝑎 , 𝑎 & = 𝜌#𝑎 , 𝑎 & !
Поэтому, если мы будем добавлять в массив соседей не только пару (i, j), но и (j, i) мы сможем
𝑎 𝑎 𝑎 𝑎
начать обход второго счётчика не с самого начала массива, а с опорного, что уменьшит число
рассматриваемых пар в два раза.
Временная сложность составляет O (N2), где N – число рассматриваемых атомов.
3.2. Описание ускоренного алгоритма
Версия алгоритма с полным перебором пар атомов не подходит для решения задачи, так как
перебор всех пар занимает слишком много времени, причём основная часть атомов соседними не
является, что говорит о большом количестве «холостой» работы. Поэтому была предложена идея
6
оптимизации вычислений за счет предварительной обработки данных для «пространства»
потенциальных соседей, которая нашла отражение в следующем алгоритме [12]:
Алгоритм состоит из следующих блоков: предварительная обработка, определение соседей,
согласование номеров атомов. Предварительная обработка оптимизирует вычисления за счет
упорядочивания атомов по одной из пространственных координат. Второй блок выделяет
соседей в рамках нумерации, полученной на этапе предварительной обработки. В
заключительном блоке выполняем обратную перенумерацию атомов.
Блок 1 Предварительная обработка
Производится сортировка набора атомов по возрастанию по координате x (выбор
координаты, по которой производится сортировка данных зависит от конфигурации
рассматриваемой кристаллической решётки). Далее выполняем перенумерацию атомов в
пространстве потенциальных соседей.
Блок 2 Определение соседей
Алгоритм действий аналогичен алгоритму определения соседей из предыдущей версии, за
исключением одного важного момента. Перебор потенциальных соседей для опорного атома
прекращается, как только расстояние между рассматриваемым и опорным атомами по оси Ox
превышает радиус поиска.
Поиск прекращается, как только расстояние по оси x между рассматриваемым и опорным
атомами превышает радиус поиска, что является необходимым, хотя и не достаточным условием
«несоседства». А именно, учитывая факт, что все атомы во время первого блока были
отсортированы по возрастанию координаты х, значит расстояние по оси x (и, соответственно,
расстояние в целом) от опорного до всех последующих атомов будет также превышать радиус
поиска, поэтому рассматривать их не имеет смысла.
Блок 3 Согласование номеров атомов
Обрабатываем номера атомов так, чтобы вернуть их нумерацию, соответствующую
изначальной, до применения сортировки Блока 1.
Оценим сложность предложенного алгоритма:
В первом и третьем блоках используется алгоритм быстрой сортировки, что даёт нам в
среднем сложность .
Сложность второго блока зависит от конфигурации рассматриваемой кристаллической
𝑂(𝑁∗𝑙𝑛 (𝑁) )
решётки. Обозначим за максимально допустимое расстояние между соседями и за размер
%
кристаллической решётки по оси Ox. Тогда при равномерном распределении атомов число
𝑟 𝐻
операций пропорционально N2 * r/Hx.
Как видно из оценки сложности, как при малом значении ,так и при большом значении ,
%
значение отношения / будет настолько близко к 1, что время работы этой версии алгоритма
% 𝐻 𝑟
станет приближенным ко времени работы алгоритма без предварительной сортировки. Однако
𝑟 𝐻
данный алгоритм преимущественно используется для поиска соседей в решётках, в которых
значение достаточно велико, чтобы прирост в производительности был довольно ощутимым.
%
Алгоритм с предварительной обработкой для последовательного поиска соседей для каждого
𝐻
атома был внедрен в программу list_tersoff_moliere.f90 пакета Andersen для моделирования
процессов методом МД.
3.3. Описание параллельного алгоритма
Основной задачей при разработке параллельного алгоритма было сокращение времени
расчета на ВС, обеспечение равномерной нагрузки между процессами. Для равномерного
распределения вычислений по ядрам системы, цикл расчета потенциальных соседей разбивается
по циклическому распределению. В соответствии с данной схемой, каждая элементарная машина
выбирает свой атом, для которого необходимо найти соседей.
Так, если вычислительных машин n, то машина с порядковым номером k в качестве опорных
будет рассматривать атомы с номером x, для которых т.е.
𝑥 = 𝑘 (𝑚𝑜𝑑 𝑛) 𝑥 = 𝑘 +𝑖 ∗𝑛, где 𝑖 =
1,2…
7
4. Результаты тестирования
Для тестирования разработанных программ использовалась та же структура со следующими
параметрами: N = 256768, Hx = 344.389, r = 5, r/Hx ≈ 69.
Прежде всего была протестирована неоптимизированная версия параллельного алгоритма.
При реализации использовался API MPI.
Таблица 1 - Результаты запуска неоптимизированной версии алгоритма, реализованного с
помощью MPI, на кластере Oak.
Количество процессов 1 2 3 4 5 6 7 8
Время исполнения(сек.) 249,64 127,32 83,84 63,14 50, 54 42,19 36,51 31,66
На рисунке 1 представлен график его ускорения.
Рисунок 1 - Ускорение вычислений неоптимизированной версии алгоритма, реализованного с
помощью MPI, на кластере Oak
Также было произведено тестирование оптимизированной программы, реализованной с
помощью OpenMP.
Таблица 2 - Результаты запуска оптимизированной версии алгоритма, реализованного с
помощью OpenMP, на кластере Oak.
Количество потоков 1 2 3 4 5 6 7 8
Время исполнения(сек.) 21,22 11,28 8,01 6,28 5,25 4,63 4,13 3,72
На рисунке 2 представлен график его ускорения.
8
Рисунок 2 - Ускорение вычислений оптимизированной версии алгоритма, реализованного с
помощью OpenMP, на кластере Oak
После этого была протестирована оптимизированная версия программы, написанная с
помощью стандарта MPI. Тестирование происходило на системе с распределенной памятью.
Таблица 3- Результаты запуска оптимизированной версии алгоритма, реализованного с
помощью MPI, на кластере Oak
Количество
1 2 3 4 5 6 7 8 9 10 11 12 13 14
процессов
Время
18,31 9,52 6,90 5,5 4,68 4,25 3,95 3,64 4,17 3,98 3,89 4.517 4.51 4.502
исполнения(сек.)
На рисунке 3 представлен график его ускорения.
9
Рисунок 3 - Ускорение вычислений оптимизированной версии алгоритма, реализованного с
помощью MPI, на кластере Oak
5. Заключение
Моделирование процессов, сопровождающих гетероэпитаксию на структурированной
подложке, методом МД связано с машинной обработкой большого объема данных. Наиболее
трудоемкой частью моделирования является задача поиска соседних атомов для каждого из
атомов.
В ходе работы был разработан ускоренный последовательный алгоритм поиска соседних
атомов. Его оптимизация выполнена с помощью предварительной обработки данных, что
позволило сократить время работы программы в 6 раз. Алгоритм с предварительной обработкой
для последовательного поиска соседей для каждого атома был внедрен в программу
list_tersoff_moliere.f90 пакета Andersen для моделирования процессов методом МД.
Для систем с общей и распределенной памятью разработаны параллельные алгоритмы
поиска соседних атомов. Реализация разработанных алгоритмов выполнена на языке
программирования Си в стандартах OpenMP и MPI. Проведено исследование эффективности
распараллеливания программ на кластерной вычислительной системе ЦПВТ СибГУТИ.
Показано, что параллельные алгоритмы хорошо масштабируются на сосредоточенной системе.
Так, программа для систем с распределенной памятью NeighSearchMPI для атомной структуры
из 256768 атомов показала ускорение на узле кластера OAK на 8 ядрах равное 7.9. На тех же
узлах кластера Oak ускоренная программа для систем с общей памятью показала ускорение
равное 5.7 и 7.39, соответственно. Программа, реализованная для систем с распределенной
памятью показала довольно низкий показатель ускорения, что связано с большим объемом
работы на одном из процессов для обеспечения синхронизации работы всех процессов.
Литература
1. G. Bauer and F. Schäffler, Self-assembled Si and SiGe nanostructures: New growth concepts and
structural analysis // Phys. Stat. Sol. 203 (2006) 3496-3505
2. Pascale V, Berbezier I., Ronda A. et al. Self-Sssembly and Ordering Mechanisms of Ge Islands on
Prepatterned Si(001) // Phys. Rev. B. 2008. V. 77. №7. P075311.
10