Выпуск #4/2024
С. Назаров, А. Дубровский
ИСПОЛЬЗОВАНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ УПРАВЛЕНИЯ ВЫЧИСЛИТЕЛЬНЫМИ ПРОЦЕССАМИ
ИСПОЛЬЗОВАНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ УПРАВЛЕНИЯ ВЫЧИСЛИТЕЛЬНЫМИ ПРОЦЕССАМИ
Просмотры: 516
DOI: 10.22184/1992-4178.2024.235.4.136.144
В статье дается формализованный подход к решению задачи распределения вычислительных ресурсов информационной системы между ее подсистемами, основанный на теории стратегических игр.
В статье дается формализованный подход к решению задачи распределения вычислительных ресурсов информационной системы между ее подсистемами, основанный на теории стратегических игр.
Теги: artificial neural networks computing resources membrain neural network constructor вычислительные ресурсы искусственные нейронные сети нейросетевой конструктор membrain
Использование искусственных нейронных сетей для управления вычислительными процессами
С. Назаров, д. т. н., А. Дубровский
В данной статье дается формализованный подход к решению задачи распределения вычислительных ресурсов информационной системы (ИС) между ее подсистемами, основанный на теории стратегических игр. Для реализации этого метода предлагается использовать искусственные нейронные сети, получившие сейчас широкое распространение в многочисленных прикладных задачах. Практическая реализация в этой статье выполнена на основе широко известного нейроконструктора MemBrain.
Как и подтвердилось, решения на основе технологии искусственных нейросетей оказалось значительно проще и не менее результативно.
Управление вычислительными процессами – одна из основных задач операционных систем современной вычислительной техники. Программы операционной системы для качественного решения этих задач основываются на математических методах теории очередей, оптимального планирования, теории игр и др. В общем представлении задача управления вычислительными процессами заключается в оптимальном распределении ресурсов вычислительного устройства (системы) между множеством параллельно выполняющихся мультипрограммных процессов. Выполняет эту задачу операционная система вычислительного устройства в условиях, когда моменты времени поступления программ и количество потребляемых ими ресурсов заранее неизвестны и колеблются в широких пределах. Такие условия функционирования и наличие значительного числа регулируемых параметров позволяют отнести рассматриваемые системы управления к особому классу больших систем, соизмеримых по сложности исследования с экономическими и организационными системами. Принципиальные трудности, с которыми приходится сталкиваться при разработке механизмов распределения ресурсов ЭВМ, вытекают из двух противоречивых требований, которым должна отвечать организация вычислительного процесса. С одной стороны, эффективное использование вычислительной системы предполагает минимизацию простоев ее ресурсов. С другой стороны, обеспечение заданного времени выполнения процессов требует ускоренной обработки их программ и обеспечения высокой пропускной способности системы программ. Эти требования в условиях слабой предсказуемости требований пользователей к параметрам потоков реа-
лизуемых процессов вынуждают организовывать управление процессами на основе теории стратегических решений (игр). Именно так и поступил автор, решая ряд задач организации управления вычислительными процессами в публикациях [1, 2].
Остановимся кратко на характеристике теории стратегических игр. Условия игры задаются в так называемой матрице игры. Решение игры в упомянутых публикациях ищется в смешанных стратегиях. Стратегия, которая гарантирует данному партнеру наибольший возможный выигрыш (или наименьший проигрыш) независимо от действий другого партнера, называется оптимальной, а стратегии, из которых складывается оптимальная смешанная стратегия данного партнера, определяются как выгодные стратегии [3]. Как создается матрица игры, формулируется, формализуется и решается задача определения смешанной стратегии с помощью электронных таблиц (например, Excel), подробно рассмотрено в статьях [1, 2].
Возможности искусственных
нейронных сетей
В начале 2000 годов сформировался переход к новой архитектурной парадигме – ассоциативным искусственным когнитивным системам, способным к самообучению
и синтезу нового знания путем ассоциативной рекомбинации полученной информации. Под искусственными когнитивными системами (ИКС) понимаются технические системы, способные к познанию, распознаванию образов и текстов, а также к самостоятельному усвоению новых знаний из различных источников. Такие системы способны к продолжительному обучению, пониманию контекстуального значения и субъективной оценке получаемой информации, мышлению и поведению для успешного решения существующих проблем и задач в условиях реального мира. Основными зарубежными проектами создания подобных ИКС являются европейские проекты BBP/HBP, американская инициатива BRAIN, проект IBM DeepQA Watson, проект Siri корпорации Apple, проект нейросетевого искусственного интеллекта и др. [4]. Повышение интереса к тематике искусственного интеллекта приводит к появлению большого количества публикаций о структуре и возможностях искусственных нейросистем и открываемых ими возможностях автоматизации мыслительных процессов. Множество проблем, которые сложно или даже невозможно решить традиционными компьютерами, могут быть эффективно решены с помощью нейросетей. Для удовлетворения возникающих потребностей необходимы программные средства, которые позволили бы без особых затрат проверять новую информацию на практике, создавать свои нейросетевые системы, модели нейросетевых устройств и даже нейрокомпьютеров. Доступные программные средства можно получить из сети Интернет. Наиболее подготовлен к такой работе freeware нейроконструктор MemBrain [5, 6]. Далее рассмотрим, как используя его возможности, можно решать оптимизационные задачи на примере, приведенном в статье [1].
Традиционная постановка оптимизационной задачи
распределения вычислительных ресурсов в информационных системах
Пусть вычислительная система ИС предприятия представляет собой некоторое множество физических (аппаратных, программных, файловых и др.) ресурсов. Обозначим их следующим образом:
Fис = {Fв, Fоп, Fвзу, Fпо, Fф}, (1)
где Fв – физические вычислительные ресурсы (процессоры); Fоп – физические ресурсы оперативной памяти; Fвзу – физические ресурсы внешних запоминающих устройств; Fпо – физические ресурсы общего и специального программного обеспечения; Fф – физические ресурсы файловой системы.
Встает вопрос правильного (эффективного) распределения физических ресурсов системы между подсистемами ИС. Наиболее подходящим способом осуществления такого распределения следует считать механизм виртуализации [7, 8]. На основе этого механизма, по сути, строится отображение физических ресурсов системы в некоторое множество виртуальных машин вида:
Fис → Vис, (2)
где Vис = { V1, V2, …, Vn } – множество виртуальных машин с некоторой выделенной долей физических ресурсов (рис. 1). Такой подход позволяет разделить физические ресурсы между подсистемами ИС, ресурсы системы между этими виртуальными машинами. Техни-
ческое решение задачи выделения физических ресурсов созданной виртуальной машины решается администратором системы с помощью специальных средств администрирования, которые имеются в арсенале администратора. Однако нетривиальным является вопрос определения доли физического ресурса, которую следует выделить каждой виртуальной машине.
Для удобства дальнейшего изложения решения этой задачи примем производительность вычислителя системы (например, сервера) за единицу, тогда справедливо соотношение
∑i=1i=5 Ci ≤ 1, (3)
где Ci – доля производительности вычислителя, выделенная виртуальной машине Vi и 0 ≤ Ci ≤ 1.
Заметим, интенсивность работы подсистем ИС, как и поступление запросов пользователей этих подсистем в общем случае слабо предсказуемы. Обозначим множество параметров запросов подсистем ИС, поступающих на сервер в виде
Pi = {pj, j = 1, 2, …, Ni}, (4)
где pj – значение некоторого параметра, а Ni – количество различных параметров. Такими параметрами могут быть, например, интенсивности запросов пользователей подсистемы на выполнение некоторой функциональной задачи, поиск, запись или редактирование необходимого документа и др.
Формальная постановка задачи может быть сформулирована следующим образом:
требуется найти такое отображение физических ресурсов системы в множестве виртуальных машин (см. рис. 1), при котором обеспечивается полное выполнение функций подсистем с заданными значениями параметров рабочей нагрузки в условиях суммарной производительности виртуальной системы по ограничению. С учетом введенных обозначений кратко постановка задачи представляется в виде:
найти такое отображение
Fис → {V1, V2, …, Vn}, (5)
которое при следующих ограничениях
Pi = {pj, j = 1, 2, …, Ni}, i = 1, 2, …, n, (6)
0 ≤ Ci ≤ 1, i = 1, 2, …, n, (7)
∑i=1i=5 Ci ≤ 1, (8)
обеспечивает полное выполнение всех функций подсистем ИС.
В этих условиях полной неопределенности можно попробовать решить задачу на основе теории стратегических игр.
Традиционное решение задачи
В соответствии с теорией стратегических игр в данной игре два партнера: администратор системы и природа (сеть клиентов подсистем ИС), как принято в теории игр именовать полностью непредсказуемого партнера. Под администратором системы будем понимать одно лицо, что касается природы, то – это ИС в целом. Однако потребности в вычислительных ресурсах каждой подсистемы могут иметь конфликт с такими же потребностями других подсистем, да и стратегии разных подсистем могут существенно отличаться. Поэтому целесообразна декомпозиция игровой задачи на несколько задач (игр) по подсистемам ИС. В каждой отдельной задаче стратегии администратора системы обозначим R1, R2, …, Rk, а стратегии природы (клиентов подсистемы ИС) S1, S2, …, Sl.
В этом случае в каждой частной задаче матрицу выигрышей можно представить в следующем виде:
S1 S2 ... Sj ... Sl
R1 d11 d12 ... d1j ... d1l
R2 d21 d22 ... d2j ... d2l
... ... ... ... ... ... ...
Ri di1 di2 ... dij ... dil
... ... ... ... ... ... ...
Rk dk1 dk2 ... dkj ... dkl
Здесь dij – штраф, получаемый системой при имеющейся доле виртуальной машины Ri (выделенной системным администратором) и требуемой доле Sj. В соответствии с тео-
ремой стратегических игр для нашего случая, когда значения из множеств R = {R1, R2, …, Rk} и S = {S1, S2, …, Sl} могут принимать конечное число, оптимальное решение заключается в поиске смешанных стратегий. Из теории стратегических игр следует, что при использовании смешанных стратегий есть, по крайней мере, одно оптимальное решение с ценой игры V, которое находится между верхним и нижним значениями игры. Следует заметить, что всегда V > 0.
Допустим, что оптимальная стратегия администратора системы складывается из стратегий R1, R2, …, Rk с вероятностями, равными p1, p2, …, pk (p1 + p1 + … + pk = 1), а оптимальная стратегия клиентов подсистем ИС – из стратегий S1, S2, …, Sl, которые применяются с вероятностями, равными q1, q2, …, ql (q1 + q2 + … + ql = 1). Если администратор применяет оптимальную стратегию, а клиенты подсистемы чистую стратегию Sj (j = 1, 2, …, l), то средний штраф, получаемый системой, составит
Dj = p1∙d1j + p2∙d2j + ⋯ + pk∙dkj (j = 1, 2, …, l).
Особенность оптимальной стратегии администратора состоит в том, чтобы при произвольном поведении противника (клиентов подсистемы) она обеспечивала штраф не больший, чем цена игры V. Отсюда имеем систему ограничений:
p1∙d11 + p2∙d21 + … + pk∙dk1 ≤ V,
p1∙d12 + p2∙d22 + … + pk∙dk2 ≤ V,
….
p1∙d1k + p2∙d2k + … + pk∙dkl ≤ V. (9)
Для удобства дальнейшего решения преобразуем систему ограничений (9), разделив по частям на V.
Получаем:
d11∙x1 + d21∙ x2 + … + dk1∙xk ≤ 1,
d12∙x1 + d22∙ x2 + … + dk2∙xk ≤ 1,
….
d1k∙x1 + d2k∙ x2 + … + dkl∙xk ≤ 1, (10)
здесь x1 = p1 / V, x2 = p2 / V, …, xk = pk / V.
Из условия p1 + p2 + ⋯pk = 1 следует, что
x1 + x2 + ⋯ + xk = 1 / V. (11)
Значения величин p1,p2,…pk должны быть такими, чтобы гарантированное значение штрафа системы было минимальным, то есть чтобы достигалось равенство:
V = min или 1 / V = max. (12)
Таким образом, решение задачи заключается в определении таких значений множества переменных x1, x2,…xk, которое обеспечивает максимальное значение их суммы
x1 + x2 + xk = max. (13)
Кроме того, должны выполняться дополнительные граничные условия pi ≥ 0 (i = 1, 2, …, n). Следовательно, имеем
xi = pi / V ≥ 0 (i = 1, 2, …, n). (14)
В итоге можно резюмировать, что нахождение оптимальной смешанной стратегии сводится к решению классической задачи линейного программирования с целевой функцией (13) и ограничениями (10) и (14). В результате решения этой задачи по определенным значениям x1, x2, …, xk из уравнения (11) можно определить значение V, а затем из соотношения (14) значения p1, p2, …, pk, которые определяют оптимальную стратегию администратора.
Поскольку в постановке задачи отмечено, что каждая подсистема ИС может рассматриваться как независимая подсистема, которая выполняется в отдельной виртуальной машине, задачей администратора является определение оптимальной стратегии на выделение ресурсов для каждой подсистемы. В качестве примера определения такой стратегии рассмотрим подсистему с ее параметрами запросов Pпр = {pj, j = 1,2,…,Nпр} , которые должны выполняться сервером вычислительной системы предприятия.
Построим матрицу игры. Обозначим стратегии администратора системы R1, R2, …, R5. Администратор (исходя из опыта) предполагает, что для производственной подсистемы достаточно выделения производительности виртуальной машины от 0,05 до 0,13 полной вычислительной мощности сервера.
Стратегии подсистемы, обозначенные как S1, S2, …, S5, предусматривают требуемую производительность, обеспечивающую работу, например, производственной подсистемы в следующих режимах:
Эти работы связаны с затратами производительности в S4 = 0,045 вычислительной мощности сервера; планирование закупки материалов для производства продукции.
Выполнение соответствующих задач требует S5 = 0,025 вычислительной мощности сервера.
Пусть за дефицит производительности администратор получает штраф пять условных единиц (Kд = 5, величина штрафа не имеет принципиального значения при решении задачи), а за избыточную производительность, выделенную подсистеме – штраф Kи = 4.
Например, для совокупности стратегий {R3, S2} подсистеме необходимо 0,03 производительности полной виртуальной машины, а администратором выделено 0,09 виртуальной машины. В этом случае имеет место избыточная производительность, штраф за ко-торую составляет 4(|0,09-0,03|) = 0,24 штрафной единицы. Для совокупности стратегий {R4, S5} подсистеме необходимо 0,025 производительности полной виртуальной машины, а администратором выделено 0,11 виртуальной машины. В этом варианте дефицит производительности и штраф составит 4(|0,11-0,025|) = 0,354 штрафной единицы. Таким образом, получаем матрицу игры в соответствии с табл.1
Решение задачи для составленной матрицы игры представлено в табл. 2. Цена игры в данном случае равна 8,18 штрафной единицы. Решение определяет использование стратегий R1 и R2 c вероятностями, соответственно равными 0,72 и 0,28. Это позволяет считать целесообразным выбор производительности виртуальной машины для реализации производственной подсистемы из соотношения
Cпр = R1∙p1+R2∙p2 = 0,05∙0,72 + 0,07∙0,28 = 0,06.
Решение задачи с помощью искусственной нейронной сети (ИНС)
Первый шаг в построении ИНС – определение минимального количества нейронов для решения задачи.
В это число входят входные нейтроны, обеспечивающие ввод исходных данных – содержимое матрицы в соответствии с табл. 2. Их должно быть 25. Результаты работы ИНС должны выдавать значения вероятностей, образующих решение, то есть пять значений. Кроме входного и выходного слоев, в ИНС должны быть скрытые слои.
Рекомендации по их количеству, так и по числу нейронов в каждом скрытом слое в публикациях по пакету MemBrain в источниках [5, 6] не приводятся. Это решение принимается разработчиком ИНС и корректируется опытным путем. Примем их количество равным пяти. Далее, используя возможности пакета (кстати, в нем интуитивно понятый интерфейс), строим нашу сеть по заданному количеству нейронов каждого слоя (рис. 2).
Пакет может показать архитектуру сети (рис. 3), которая иллюстрирует все ее слои с указанием их характеристик, проводя анализ архитектуры сети.
Следующий шаг – построение обучающих уроков. Для этого, используя табл. 2, в файл Excel вводим совокупности исходных данных и получаемые результаты решений (рис. 4). Для этого используем традиционный метод решения.
Далее по технологии пакета MemBrain проводим обучение ИНС и получаем решение (рис. 5). Как видно, полученное решение с помощью сети дает результаты, аналогичные решению по традиционной технологии. Анализ полученных результатов приводит к вопросу: а нельзя ли упростить архитектуру ИНС? Ведь матрица решения, полученная по традиционной технологии, определяется только стратегиями игроков. Проверим возможность изменения архитектуры ИНС с учетом этого факта. Для этого редуцируем исходную архитектуру ИНС, как показано на рис. 6.
Построим обучающие уроки для редуцированной ИНС. Для этого воспользуемся данными, приведенными на рис. 4. По сути, это редуцированная таблица рис. 4, она показана на рис. 7.
Остается запустить редуцированную ИНС и сравнить полученный результат с ранее полученными результатами по традиционной технологии и первому варианту ИНС. Полученный результат выполнения задачи редуцированной ИНС приведен на рис. 8. Как видно из результатов, в данном случае есть некоторое несовпадение результатов решения (порядка 2–3%) с данными по рис. 7.
Однако нужно принять во внимание тот факт, что для качественного обучения должно быть значительно больше обучающих уроков, чем было использовано.
* * *
Изложенный в статье материал позволяет говорить о возможности построения достаточно простых искусственных нейронных сетей для решения различных математических задач без разработки или использования сложных математических методов. К этому надо добавить, что точность решения задач на основе ИНС может быть довольно высокой и определяется количеством учебных уроков, алгоритмами и длительностью обучения. Важно и то, что многие нейропакеты, даже достаточно простые, как использованный в этой статье нейросетевой конструктор MemBrain, а также и другие подобные пакеты позволяют легко преобразовать разработанную ИНС в программу на языке программирования С (или на другом языке) и включить ее в подсистему управления вычислительным процессом операционной системы.
ЛИТЕРАТУРА
Назаров С.В. Распределение вычислительных ресурсов в информационных системах // Инфокоммуникационные технологии. Сб.: Труды НИИР. 2022. № 3. 64 с.
Назаров С.В., Барсуков А.Г. Управление предоставлением облачных вычислительных ресурсов в виртуальных дата-центрах // ЭЛЕКТРОНИКА: Наука, Технология,
Бизнес. 2018. № 4. 110 с.
Ланге Оскар. М.: Прогресс, 1967. 285 с. Российский проект «ИКС». https://www.interface.ru/home.asp?artId=35604.
Кириченко А. А. Универсальный нейропакет. Графический нейросетевой редактор-имитатор. pdf. 2019. ISBN 978-5-0050-9645-6.
Кириченко А. А. Нейросетевой конструктор MemBrain // Сб.: Материалы Х Международной научно-практической конференции «Инновации на основе информационных
и коммуникационных технологий», Россия, Сочи. 2019.
Виртуализация: новый подход к построению IT-инфраструктуры [Электронный ресурс].
URL: https://www.ixbt.com/cm/virtualization.shtml
Платформы виртуализации. Обзор. Hyper-V, KVM, vSphere и XenServer. [Электронный ресурс]. URL: https://itglobal.com/ru-kz/company/blog/about-virtual-solutions/
С. Назаров, д. т. н., А. Дубровский
В данной статье дается формализованный подход к решению задачи распределения вычислительных ресурсов информационной системы (ИС) между ее подсистемами, основанный на теории стратегических игр. Для реализации этого метода предлагается использовать искусственные нейронные сети, получившие сейчас широкое распространение в многочисленных прикладных задачах. Практическая реализация в этой статье выполнена на основе широко известного нейроконструктора MemBrain.
Как и подтвердилось, решения на основе технологии искусственных нейросетей оказалось значительно проще и не менее результативно.
Управление вычислительными процессами – одна из основных задач операционных систем современной вычислительной техники. Программы операционной системы для качественного решения этих задач основываются на математических методах теории очередей, оптимального планирования, теории игр и др. В общем представлении задача управления вычислительными процессами заключается в оптимальном распределении ресурсов вычислительного устройства (системы) между множеством параллельно выполняющихся мультипрограммных процессов. Выполняет эту задачу операционная система вычислительного устройства в условиях, когда моменты времени поступления программ и количество потребляемых ими ресурсов заранее неизвестны и колеблются в широких пределах. Такие условия функционирования и наличие значительного числа регулируемых параметров позволяют отнести рассматриваемые системы управления к особому классу больших систем, соизмеримых по сложности исследования с экономическими и организационными системами. Принципиальные трудности, с которыми приходится сталкиваться при разработке механизмов распределения ресурсов ЭВМ, вытекают из двух противоречивых требований, которым должна отвечать организация вычислительного процесса. С одной стороны, эффективное использование вычислительной системы предполагает минимизацию простоев ее ресурсов. С другой стороны, обеспечение заданного времени выполнения процессов требует ускоренной обработки их программ и обеспечения высокой пропускной способности системы программ. Эти требования в условиях слабой предсказуемости требований пользователей к параметрам потоков реа-
лизуемых процессов вынуждают организовывать управление процессами на основе теории стратегических решений (игр). Именно так и поступил автор, решая ряд задач организации управления вычислительными процессами в публикациях [1, 2].
Остановимся кратко на характеристике теории стратегических игр. Условия игры задаются в так называемой матрице игры. Решение игры в упомянутых публикациях ищется в смешанных стратегиях. Стратегия, которая гарантирует данному партнеру наибольший возможный выигрыш (или наименьший проигрыш) независимо от действий другого партнера, называется оптимальной, а стратегии, из которых складывается оптимальная смешанная стратегия данного партнера, определяются как выгодные стратегии [3]. Как создается матрица игры, формулируется, формализуется и решается задача определения смешанной стратегии с помощью электронных таблиц (например, Excel), подробно рассмотрено в статьях [1, 2].
Возможности искусственных
нейронных сетей
В начале 2000 годов сформировался переход к новой архитектурной парадигме – ассоциативным искусственным когнитивным системам, способным к самообучению
и синтезу нового знания путем ассоциативной рекомбинации полученной информации. Под искусственными когнитивными системами (ИКС) понимаются технические системы, способные к познанию, распознаванию образов и текстов, а также к самостоятельному усвоению новых знаний из различных источников. Такие системы способны к продолжительному обучению, пониманию контекстуального значения и субъективной оценке получаемой информации, мышлению и поведению для успешного решения существующих проблем и задач в условиях реального мира. Основными зарубежными проектами создания подобных ИКС являются европейские проекты BBP/HBP, американская инициатива BRAIN, проект IBM DeepQA Watson, проект Siri корпорации Apple, проект нейросетевого искусственного интеллекта и др. [4]. Повышение интереса к тематике искусственного интеллекта приводит к появлению большого количества публикаций о структуре и возможностях искусственных нейросистем и открываемых ими возможностях автоматизации мыслительных процессов. Множество проблем, которые сложно или даже невозможно решить традиционными компьютерами, могут быть эффективно решены с помощью нейросетей. Для удовлетворения возникающих потребностей необходимы программные средства, которые позволили бы без особых затрат проверять новую информацию на практике, создавать свои нейросетевые системы, модели нейросетевых устройств и даже нейрокомпьютеров. Доступные программные средства можно получить из сети Интернет. Наиболее подготовлен к такой работе freeware нейроконструктор MemBrain [5, 6]. Далее рассмотрим, как используя его возможности, можно решать оптимизационные задачи на примере, приведенном в статье [1].
Традиционная постановка оптимизационной задачи
распределения вычислительных ресурсов в информационных системах
Пусть вычислительная система ИС предприятия представляет собой некоторое множество физических (аппаратных, программных, файловых и др.) ресурсов. Обозначим их следующим образом:
Fис = {Fв, Fоп, Fвзу, Fпо, Fф}, (1)
где Fв – физические вычислительные ресурсы (процессоры); Fоп – физические ресурсы оперативной памяти; Fвзу – физические ресурсы внешних запоминающих устройств; Fпо – физические ресурсы общего и специального программного обеспечения; Fф – физические ресурсы файловой системы.
Встает вопрос правильного (эффективного) распределения физических ресурсов системы между подсистемами ИС. Наиболее подходящим способом осуществления такого распределения следует считать механизм виртуализации [7, 8]. На основе этого механизма, по сути, строится отображение физических ресурсов системы в некоторое множество виртуальных машин вида:
Fис → Vис, (2)
где Vис = { V1, V2, …, Vn } – множество виртуальных машин с некоторой выделенной долей физических ресурсов (рис. 1). Такой подход позволяет разделить физические ресурсы между подсистемами ИС, ресурсы системы между этими виртуальными машинами. Техни-
ческое решение задачи выделения физических ресурсов созданной виртуальной машины решается администратором системы с помощью специальных средств администрирования, которые имеются в арсенале администратора. Однако нетривиальным является вопрос определения доли физического ресурса, которую следует выделить каждой виртуальной машине.
Для удобства дальнейшего изложения решения этой задачи примем производительность вычислителя системы (например, сервера) за единицу, тогда справедливо соотношение
∑i=1i=5 Ci ≤ 1, (3)
где Ci – доля производительности вычислителя, выделенная виртуальной машине Vi и 0 ≤ Ci ≤ 1.
Заметим, интенсивность работы подсистем ИС, как и поступление запросов пользователей этих подсистем в общем случае слабо предсказуемы. Обозначим множество параметров запросов подсистем ИС, поступающих на сервер в виде
Pi = {pj, j = 1, 2, …, Ni}, (4)
где pj – значение некоторого параметра, а Ni – количество различных параметров. Такими параметрами могут быть, например, интенсивности запросов пользователей подсистемы на выполнение некоторой функциональной задачи, поиск, запись или редактирование необходимого документа и др.
Формальная постановка задачи может быть сформулирована следующим образом:
требуется найти такое отображение физических ресурсов системы в множестве виртуальных машин (см. рис. 1), при котором обеспечивается полное выполнение функций подсистем с заданными значениями параметров рабочей нагрузки в условиях суммарной производительности виртуальной системы по ограничению. С учетом введенных обозначений кратко постановка задачи представляется в виде:
найти такое отображение
Fис → {V1, V2, …, Vn}, (5)
которое при следующих ограничениях
Pi = {pj, j = 1, 2, …, Ni}, i = 1, 2, …, n, (6)
0 ≤ Ci ≤ 1, i = 1, 2, …, n, (7)
∑i=1i=5 Ci ≤ 1, (8)
обеспечивает полное выполнение всех функций подсистем ИС.
В этих условиях полной неопределенности можно попробовать решить задачу на основе теории стратегических игр.
Традиционное решение задачи
В соответствии с теорией стратегических игр в данной игре два партнера: администратор системы и природа (сеть клиентов подсистем ИС), как принято в теории игр именовать полностью непредсказуемого партнера. Под администратором системы будем понимать одно лицо, что касается природы, то – это ИС в целом. Однако потребности в вычислительных ресурсах каждой подсистемы могут иметь конфликт с такими же потребностями других подсистем, да и стратегии разных подсистем могут существенно отличаться. Поэтому целесообразна декомпозиция игровой задачи на несколько задач (игр) по подсистемам ИС. В каждой отдельной задаче стратегии администратора системы обозначим R1, R2, …, Rk, а стратегии природы (клиентов подсистемы ИС) S1, S2, …, Sl.
В этом случае в каждой частной задаче матрицу выигрышей можно представить в следующем виде:
S1 S2 ... Sj ... Sl
R1 d11 d12 ... d1j ... d1l
R2 d21 d22 ... d2j ... d2l
... ... ... ... ... ... ...
Ri di1 di2 ... dij ... dil
... ... ... ... ... ... ...
Rk dk1 dk2 ... dkj ... dkl
Здесь dij – штраф, получаемый системой при имеющейся доле виртуальной машины Ri (выделенной системным администратором) и требуемой доле Sj. В соответствии с тео-
ремой стратегических игр для нашего случая, когда значения из множеств R = {R1, R2, …, Rk} и S = {S1, S2, …, Sl} могут принимать конечное число, оптимальное решение заключается в поиске смешанных стратегий. Из теории стратегических игр следует, что при использовании смешанных стратегий есть, по крайней мере, одно оптимальное решение с ценой игры V, которое находится между верхним и нижним значениями игры. Следует заметить, что всегда V > 0.
Допустим, что оптимальная стратегия администратора системы складывается из стратегий R1, R2, …, Rk с вероятностями, равными p1, p2, …, pk (p1 + p1 + … + pk = 1), а оптимальная стратегия клиентов подсистем ИС – из стратегий S1, S2, …, Sl, которые применяются с вероятностями, равными q1, q2, …, ql (q1 + q2 + … + ql = 1). Если администратор применяет оптимальную стратегию, а клиенты подсистемы чистую стратегию Sj (j = 1, 2, …, l), то средний штраф, получаемый системой, составит
Dj = p1∙d1j + p2∙d2j + ⋯ + pk∙dkj (j = 1, 2, …, l).
Особенность оптимальной стратегии администратора состоит в том, чтобы при произвольном поведении противника (клиентов подсистемы) она обеспечивала штраф не больший, чем цена игры V. Отсюда имеем систему ограничений:
p1∙d11 + p2∙d21 + … + pk∙dk1 ≤ V,
p1∙d12 + p2∙d22 + … + pk∙dk2 ≤ V,
….
p1∙d1k + p2∙d2k + … + pk∙dkl ≤ V. (9)
Для удобства дальнейшего решения преобразуем систему ограничений (9), разделив по частям на V.
Получаем:
d11∙x1 + d21∙ x2 + … + dk1∙xk ≤ 1,
d12∙x1 + d22∙ x2 + … + dk2∙xk ≤ 1,
….
d1k∙x1 + d2k∙ x2 + … + dkl∙xk ≤ 1, (10)
здесь x1 = p1 / V, x2 = p2 / V, …, xk = pk / V.
Из условия p1 + p2 + ⋯pk = 1 следует, что
x1 + x2 + ⋯ + xk = 1 / V. (11)
Значения величин p1,p2,…pk должны быть такими, чтобы гарантированное значение штрафа системы было минимальным, то есть чтобы достигалось равенство:
V = min или 1 / V = max. (12)
Таким образом, решение задачи заключается в определении таких значений множества переменных x1, x2,…xk, которое обеспечивает максимальное значение их суммы
x1 + x2 + xk = max. (13)
Кроме того, должны выполняться дополнительные граничные условия pi ≥ 0 (i = 1, 2, …, n). Следовательно, имеем
xi = pi / V ≥ 0 (i = 1, 2, …, n). (14)
В итоге можно резюмировать, что нахождение оптимальной смешанной стратегии сводится к решению классической задачи линейного программирования с целевой функцией (13) и ограничениями (10) и (14). В результате решения этой задачи по определенным значениям x1, x2, …, xk из уравнения (11) можно определить значение V, а затем из соотношения (14) значения p1, p2, …, pk, которые определяют оптимальную стратегию администратора.
Поскольку в постановке задачи отмечено, что каждая подсистема ИС может рассматриваться как независимая подсистема, которая выполняется в отдельной виртуальной машине, задачей администратора является определение оптимальной стратегии на выделение ресурсов для каждой подсистемы. В качестве примера определения такой стратегии рассмотрим подсистему с ее параметрами запросов Pпр = {pj, j = 1,2,…,Nпр} , которые должны выполняться сервером вычислительной системы предприятия.
Построим матрицу игры. Обозначим стратегии администратора системы R1, R2, …, R5. Администратор (исходя из опыта) предполагает, что для производственной подсистемы достаточно выделения производительности виртуальной машины от 0,05 до 0,13 полной вычислительной мощности сервера.
Стратегии подсистемы, обозначенные как S1, S2, …, S5, предусматривают требуемую производительность, обеспечивающую работу, например, производственной подсистемы в следующих режимах:
- расчет и планирование загрузки технологического и другого оборудования. Выполнение этих задач требует производительности S1 = 0,08 полной вычислительной мощности сервера;
- контроль за ходом производства и координация работы подразделений предприятия. Эти задачи требуют производительности S2 = 0,03 полной вычислительной мощности сервера;
- ежедневный оперативный учет хода производства. Требует производительности S3 = 0,06 полной вычислительной мощности сервера;
- оформление технической и другой документации.
Эти работы связаны с затратами производительности в S4 = 0,045 вычислительной мощности сервера; планирование закупки материалов для производства продукции.
Выполнение соответствующих задач требует S5 = 0,025 вычислительной мощности сервера.
Пусть за дефицит производительности администратор получает штраф пять условных единиц (Kд = 5, величина штрафа не имеет принципиального значения при решении задачи), а за избыточную производительность, выделенную подсистеме – штраф Kи = 4.
Например, для совокупности стратегий {R3, S2} подсистеме необходимо 0,03 производительности полной виртуальной машины, а администратором выделено 0,09 виртуальной машины. В этом случае имеет место избыточная производительность, штраф за ко-торую составляет 4(|0,09-0,03|) = 0,24 штрафной единицы. Для совокупности стратегий {R4, S5} подсистеме необходимо 0,025 производительности полной виртуальной машины, а администратором выделено 0,11 виртуальной машины. В этом варианте дефицит производительности и штраф составит 4(|0,11-0,025|) = 0,354 штрафной единицы. Таким образом, получаем матрицу игры в соответствии с табл.1
Решение задачи для составленной матрицы игры представлено в табл. 2. Цена игры в данном случае равна 8,18 штрафной единицы. Решение определяет использование стратегий R1 и R2 c вероятностями, соответственно равными 0,72 и 0,28. Это позволяет считать целесообразным выбор производительности виртуальной машины для реализации производственной подсистемы из соотношения
Cпр = R1∙p1+R2∙p2 = 0,05∙0,72 + 0,07∙0,28 = 0,06.
Решение задачи с помощью искусственной нейронной сети (ИНС)
Первый шаг в построении ИНС – определение минимального количества нейронов для решения задачи.
В это число входят входные нейтроны, обеспечивающие ввод исходных данных – содержимое матрицы в соответствии с табл. 2. Их должно быть 25. Результаты работы ИНС должны выдавать значения вероятностей, образующих решение, то есть пять значений. Кроме входного и выходного слоев, в ИНС должны быть скрытые слои.
Рекомендации по их количеству, так и по числу нейронов в каждом скрытом слое в публикациях по пакету MemBrain в источниках [5, 6] не приводятся. Это решение принимается разработчиком ИНС и корректируется опытным путем. Примем их количество равным пяти. Далее, используя возможности пакета (кстати, в нем интуитивно понятый интерфейс), строим нашу сеть по заданному количеству нейронов каждого слоя (рис. 2).
Пакет может показать архитектуру сети (рис. 3), которая иллюстрирует все ее слои с указанием их характеристик, проводя анализ архитектуры сети.
Следующий шаг – построение обучающих уроков. Для этого, используя табл. 2, в файл Excel вводим совокупности исходных данных и получаемые результаты решений (рис. 4). Для этого используем традиционный метод решения.
Далее по технологии пакета MemBrain проводим обучение ИНС и получаем решение (рис. 5). Как видно, полученное решение с помощью сети дает результаты, аналогичные решению по традиционной технологии. Анализ полученных результатов приводит к вопросу: а нельзя ли упростить архитектуру ИНС? Ведь матрица решения, полученная по традиционной технологии, определяется только стратегиями игроков. Проверим возможность изменения архитектуры ИНС с учетом этого факта. Для этого редуцируем исходную архитектуру ИНС, как показано на рис. 6.
Построим обучающие уроки для редуцированной ИНС. Для этого воспользуемся данными, приведенными на рис. 4. По сути, это редуцированная таблица рис. 4, она показана на рис. 7.
Остается запустить редуцированную ИНС и сравнить полученный результат с ранее полученными результатами по традиционной технологии и первому варианту ИНС. Полученный результат выполнения задачи редуцированной ИНС приведен на рис. 8. Как видно из результатов, в данном случае есть некоторое несовпадение результатов решения (порядка 2–3%) с данными по рис. 7.
Однако нужно принять во внимание тот факт, что для качественного обучения должно быть значительно больше обучающих уроков, чем было использовано.
* * *
Изложенный в статье материал позволяет говорить о возможности построения достаточно простых искусственных нейронных сетей для решения различных математических задач без разработки или использования сложных математических методов. К этому надо добавить, что точность решения задач на основе ИНС может быть довольно высокой и определяется количеством учебных уроков, алгоритмами и длительностью обучения. Важно и то, что многие нейропакеты, даже достаточно простые, как использованный в этой статье нейросетевой конструктор MemBrain, а также и другие подобные пакеты позволяют легко преобразовать разработанную ИНС в программу на языке программирования С (или на другом языке) и включить ее в подсистему управления вычислительным процессом операционной системы.
ЛИТЕРАТУРА
Назаров С.В. Распределение вычислительных ресурсов в информационных системах // Инфокоммуникационные технологии. Сб.: Труды НИИР. 2022. № 3. 64 с.
Назаров С.В., Барсуков А.Г. Управление предоставлением облачных вычислительных ресурсов в виртуальных дата-центрах // ЭЛЕКТРОНИКА: Наука, Технология,
Бизнес. 2018. № 4. 110 с.
Ланге Оскар. М.: Прогресс, 1967. 285 с. Российский проект «ИКС». https://www.interface.ru/home.asp?artId=35604.
Кириченко А. А. Универсальный нейропакет. Графический нейросетевой редактор-имитатор. pdf. 2019. ISBN 978-5-0050-9645-6.
Кириченко А. А. Нейросетевой конструктор MemBrain // Сб.: Материалы Х Международной научно-практической конференции «Инновации на основе информационных
и коммуникационных технологий», Россия, Сочи. 2019.
Виртуализация: новый подход к построению IT-инфраструктуры [Электронный ресурс].
URL: https://www.ixbt.com/cm/virtualization.shtml
Платформы виртуализации. Обзор. Hyper-V, KVM, vSphere и XenServer. [Электронный ресурс]. URL: https://itglobal.com/ru-kz/company/blog/about-virtual-solutions/
Отзывы читателей