Научная статья на тему 'Использование искусственных нейронных сетей для оптимизации производительности различных подсистем Linux'

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

CC BY
243
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
LINUX / МАШИННОЕ ОБУЧЕНИЕ / ПРОИЗВОДИТЕЛЬНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ефромеева Елена Валентиновна, Попов Антон Андреевич

В статье анализируется применение метода машинного обучения (искусственных нейронных сетей) для оптимизации производительности Linux систем.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ефромеева Елена Валентиновна, Попов Антон Андреевич

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

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

Использование искусственных нейронных сетей для оптимизации производительности различных подсистем Linux Ефромеева Е. В.1, Попов А. А.2

'Ефромеева Елена Валентиновна /Efromeeva Elena Valentinovna — кандидат технических наук, доцент; 2Попов Антон Андреевич /Popov Anton Andreevich — магистрант, кафедра информационных технологий и вычислительных систем, Московский государственный технологический университет «Станкин», г. Москва

Аннотация: в статье анализируется применение метода машинного обучения (искусственных нейронных сетей) для оптимизации производительности Linux систем. Ключевые слова: Linux, машинное обучение, производительность.

Предметом исследования данной статьи является оптимизация производительности Linux систем с использованием искусственных нейронных сетей (ИНС).

Linux системы - это общее название Unix-подобных операционных систем, основанных на одноименном ядре.

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

В данной статье рассматривается оптимизация производительности сетевой подсистемы Linux через настройку параметра MTU. В компьютерных сетях термин maximum transmission unit (MTU) [4] означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации. Наиболее распространенные значения MTU: 1500 байт (стандартное значение в большинстве операционных систем) и 9000 байт (так называемые jumbo frames). В зависимости от значения этого параметра производительность сетевой подсистемы и центрального процессора очень сильно меняется. Чтобы использовать значение MTU 9000 - нужно убедиться, что вся сетевая инфраструктура (сервера, коммутаторы, системы хранения данных) поддерживает это значение и использовать его на всех узлах сети, в противном случае если на одной стороне сети будет использоваться одно значение MTU, а на другой стороне сети - другое значение MTU, то производительность сети резко упадет. В данной статье рассматривается искусственная нейронная сеть, которая проанализирует статистику сетевой подсистемы Linux на сервере и выдаст рекомендуемое значение MTU.

Рассматриваемая нейронная сеть [3] состоит из трех слоев: 9 нейронов на входе, 3 нейрона в скрытом слое и 1 нейрон на выходе (рис. 1). Данная топология получена экспериментальным путем и является оптимальной, т.к. имеет наименьшее среднеквадратическое отклонение ИНС (рис. 2). За шаг обучения экспериментальным путем выбрано значение 0.4, поскольку именно при таком шаге обучения наблюдается наименьшее среднеквадратическое отклонение (рис. 3). Активационной функцией является сигмоида, ибо она позволяет усилить слабые сигналы и не насыщаться от сильных. Все эти параметры были проверены на тестовой выборке из множества элементов. В качестве реализации искусственной нейронной сети было выбрано программное обеспечение FANN потому что оно бесплатно, имеет открытый исходный код и наиболее производительно по сравнению с другими подобными ПО. Языком реализации выбран Python из-за того, что он кроссплатформенный. Искусственная нейронная сеть использует алгоритм обратного распространения [5] ошибки для самообучения, т.к. это наиболее оптимальный метод обучения для данной топологии.

Рис. 1. Топология искусственной нейронной сети

0.0100 0.0095 0.0090 0.00S5 0.0080 0.0075 0.0070 0.0065 0.0060 0.0055 0.0050 0.0045 0.0040 0.0035 0.0030 0.0025

О 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 16 17 18 19 20 X - количество скрытых нейронов Y - среднеквадратическое отклонение

Рис. 2. График зависимости количества скрытых нейронов и среднеквадратического отклонения ИНС

0.01«) O.OCfi 0 0W0 0.00S5

X

O.OCTi

0.0065 0 №60 O.OOS5 0.0050 O.OWj 0.0040 0 0035 0.0030 0.003* 0.0020 0.0015 0 »10 0.0005

/ \

\ / / \

\ / S

0 0.« (Hd Uli (.И US OK' Mi MO Mi t'K' US Ci» 0.« 0.7(1 O.-J est 0.S5 (.90 OK Ш X - шаг обучения V • с редпеквадратичесп« отклонение

Рис. 3. График зависимости значения шага обучения и среднеквадратического отклонения ИНС

Чтобы собрать необходимую диагностику используется утилита Collectl [1], которая позволяет отследить состояние каждой подсистемы Linux сервера. В данном случае берутся основные характеристики процессора CPU (User - время, потраченное процессором на работу в пользовательском режиме, System - время, потраченное процессором на работу системы, Wait I/O -время процессора, потраченное на ожидание ввода/вывода) и характеристики сети (KBIn - количество входящих килобайт в секунду, PktIn - количество входящих пакетов в секунду, SizeIn - средний размер входящего пакета в байтах, KBOut - количество исходящих килобайт в секунду, PktOut -количество исходящих пакетов в секунду, SizeO - средний размер исходящего пакета в байтах)

По аналогии оптимизируются и остальные параметры данной подсистемы (для каждого параметра создается отдельная нейронная сеть) и другой подсистемы вообще.

Чтобы обучающая выборка оказалась эффективной производятся замеры всех необходимых характеристик по множеству раз для обоих значений MTU у системы, которая находится под нагрузкой. Таким образом, когда требуется доступ к данным большими блоками (например, при использовании протокола iSCSI или FCoE) эффективнее использовать MTU, равный значению 9000 тем самым снижая нагрузку на CPU за счет меньшего количества пакетов, которые нужно обработать процессором (теперь пакетов стало меньше, но они больше по размеру).

Рис. 4. Алгоритм оптимизации производительности системы Linux с использованием ИНС

Рис. 5. Результат применения ИНС в системе Linux

Таким образом, использование искусственных нейронных сетей позволит добиться наилучшей оптимизации производительности Linux систем.

Литература

1. [Электронный ресурс]: Collectl: An Advanced All-in-One Performance Monitoring Tool for Linux. // Режим доступа: http://www.tecmint.com/linux-performance-monitoring-with-collectl-tool/ (дата обращения: 18.05.2016).

2. [Электронный ресурс]: Википедия, Искусственная нейронная сеть. Режим доступа: https://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть/ (дата обращения: 18.05.2016).

3. [Электронный ресурс]: Нейронные сети. Часть 1. Основы искусственных нейронных сетей. Режим доступа: https://geektimes.ru/post/40137/ (дата обращения: 18.05.2016).

4. [Электронный ресурс]: Википедия, Maximum transmission unit. Режим доступа: https://ru.wikipedia.org/wiki/Maximum_transmission_unit/ (дата обращения: 18.05.2016).

5. [Электронный ресурс]: Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки (Backpropagation). Режим доступа: https://habrahabr.ru/post/198268/ (дата обращения: 18.05.2016).

Исследование и сравнение современных реализаций Пих-архитектур разработки веб-приложений Скороходов И. С.1, Тихомирова А. Н.2

'Скороходов Иван Сергеевич /Skorokhodov Ivan Sergeevich — бакалавр менеджмента, магистрант, кафедра экономики и менеджмента в промышленности, факультет управления и экономики высоких технологий;

2Тихомирова Анна Николаевна / Tikhomirova Anna Nikolaevna — кандидат технических наук, доцент, кафедра кибернетики, факультет кибернетики, Федеральное государственное автономное образовательное учреждение высшего образования Национальный исследовательский ядерный университет, Московский инженерно-физический институт, г. Москва

Аннотация: в данной работе исследуются современные реализации Flux-архитектур разработки веб-приложений, а также проводится их анализ и сравнение. Flux-архитектуры зародились совсем недавно: буквально через год после релиза реактивного шаблонизатора React от компании Facebook, использующей виртуальное DOM-дерево. Сегодня существует большое количество архитектурных решений, позволяющих работать с ним, поэтому выбор между ними значительно затруднен. Ключевые слова: Flux-архитектура, React, веб-приложения, фронтенд-разработка.

DOI: '0.2086'/23'2-8267-20'6-24-006

Введение

Научно-технический прогресс неустанно привносит в нашу жизнь множество полезных вещей. Достижения в робототехнике, электронике, информатике, связи и других отраслях навсегда изменили способ взаимодействия человека с окружающим миром. Но самой влиятельной и быстроразвивающейся отраслью является Интернет.

Интернет — глобальная компьютерная сеть, охватывающая весь мир. По разным данным доступ в Интернет имеют от 15 до 30 миллионов людей в более чем 150 странах мира. Ежемесячно размер сети увеличивается на 7 - 10 процентов. Интернет образует как бы ядро, обеспечивающее связь различных информационных сетей, принадлежащих различным учреждениям во всем мире, одна с другой. Если ранее сеть использовалась исключительно в качестве среды передачи файлов и сообщений электронной почты, то сегодня решаются более сложные задачи распределения доступа к ресурсам [1].

Развитие персональных компьютеров значительно расширило использование Интернета. Изначально он существовал на них в виде обособленных приложений — так называемых «настольных», каждое из которых взаимодействовало напрямую с операционной системой. Сейчас подавляющее большинство пользований сетью происходит через «окно в Интернет» — интернет-браузер, который сам по себе является настольной программой и позволяет пользователю запрашивать ресурсы с удаленных серверов и выполнять их. Мало того, появились даже специальные компьютеры, операционная система которых — это фактически интернет-браузер. Такая тенденция произошла по двум основным причинам:

1. Это удобнее для пользователей — у них появляется возможность иметь только одну установленную программу, чтобы получить сразу мириады возможностей [3].

2. Это удобнее для разработчиков — они могут «создавать приложения только один раз» — то есть, им не приходится тратить дополнительные ресурсы на поддержку других платформ: средой

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