УДК 004.032,26 ББК 32.818.1 Ч 25
Частикова Вера Аркадьевна
Доцент, кандидат технических наук, доцент кафедры компьютерных технологий и информационной безопасности Кубанского государственного технологического университета, Краснодар, e-mail: chastikova_va@mail. ru Динмухаметов Тимур Георгиевич
Аспирант кафедры компьютерных технологий и информационной безопасности Кубанского государственного технологического университета, Краснодар, e-mail: [email protected]
Сравнительный анализ эффективности нейронных сетей для оптимизации работы облачных вычислений
(Рецензирована)
Аннотация. Облачные вычисления на сегодняшний день являются одной из мощнейших вычислительных инфраструктур. В настоящий момент большинство облачных платформ основано на операционных системах, использующих базовые алгоритмы планирования центрального процессора, но, как следствие, не имеет достаточной интеллектуальной составляющей для построения инновационной вычислительной модели. В работе представлены преимущества применения механизмов искусственных нейронных сетей в плане повышения эффективности планирования процессора в облачных вычислениях. Кроме того, предлагается набор характеристик и теоретических показателей для сравнения различных механик искусственных нейронных сетей и нахождения оптимального алгоритма для планирования ЦП облачных вычислений.
Ключевые слова: облачные вычисления, нейронные сети, центральный процессор, алгоритм обучения, многослойный персептрон.
Chastikova Vera Arkadyevna
Associate Professor, Candidate of Technical Sciences, Associate Professor of the Department of Computer Technologies and Information Security, Kuban State University of Technology, Krasnodar, e-mail: chastik-ova_va@mail. ru
Dinmukhametov Timur Georgievich
Post-graduate student of the Department of Computer Technologies and Information Security, Kuban State University of Technology, Krasnodar, e-mail: [email protected]
Comparative analysis of neural network algorithms for cloud computing
Abstract. Cloud computing today is one of the most powerful computing infrastructures. Currently, most cloud platforms are based on operating systems that use basic CPU scheduling algorithms, but, as a result, do not have enough intellectual component to build an innovative computational model. The paper presents the advantages of using artificial neural network algorithms in terms of increasing the efficiency ofprocessor scheduling in cloud computing. In addition, a set of characteristics and theoretical indicators are proposed for comparing various mechanics of artificial neural networks and finding the optimal algorithm for planning cloud computing CPU.
Keywords: cloud computing, neural networks, central processor, learning algorithm, multilayer perceptron.
Планирование центрального процессора (CPU scheduling) - это процесс распределения вычислительных ресурсов на конкретную задачу. Распределение вычислительных ресурсов организуется по заранее заданному алгоритму планирования в системе. На сегодняшний день большинство компьютерных систем используют простые алгоритмы планирования (например, RoundRobin [1]), и они по-прежнему справляются со своими задачами, но c нынешним развитием Интернета и c появлением облачных вычислений подобные алгоритмы устаревают.
Основная проблема современных алгоритмов планирования центрального процессора (ЦП) - низкая производительность. Это связано c трудоемкими и большими задачами, которые идут в совокупности c облачными вычислениями (предоставление ИТ-ресурсов в виде сервисов: инфраструктура, платформы и приложения), в связи c чем во многих случаях начинают применяться искусственные нейронные сети в качестве решения оптимизации действующих методов. В данной статье рассматривается ряд практических функций для оценки существующих алгоритмов нейронных сетей и выбора наиболее подходящего алгоритма для облачных вычислений.
1. Облачные вычисления
Облачные вычисления - это модель обеспечения повсеместного сетевого доступа по требованию к общему пулу конфигурируемых вычислительных ресурсов [2]. В этой модели предоставления услуг возникает проблема управления миллионами пользователей и запросами приложений. Поэтому провайдер облачных вычислений должен рассматривать возможность развертывания интеллектуальных инфраструктур, чтобы обеспечить безопасность, удобство и максимальную мобильность облака.
Одной из целей провайдеров облачных вычислений является предоставление физических ресурсов пользователям или конкретному приложению. Таким образом, провайдер должен контролировать распределение ресурсов, использует ли пользователь облако как услугу (IaaS) или облачное приложение высокого уровня (Paas или SaaS) [3].
2. Искусственные нейронные сети
2.1. Принципы работы искусственных нейронных сетей
Искусственные нейронные сети - это парадигма обработки информации, имитирующая работу человеческого мозга для выполнения определенных задач или функций [4]. Это вид сетей состоит из системы соединенных и взаимодействующих между собой простых процессов и являющихся по сути искусственными нейронами, объединенными в слои и работающими параллельно. Информация передается от уровня к слою, от входного уровня до выходного. У искусственных нейронных сетей есть возможность хранить эмпирические знания и делать их доступными для пользователей [5]. Знания сети хранятся в синаптических весах, полученных в процессе адаптации или обучения.
2.2. Методы обучения
Методы и алгоритмы обучения оказывают существенное влияние на производительность нейронной сети, поэтому выбор подходящего алгоритма обучения зависит от приложения и инфраструктуры [6, 7].
Метод обратного распространения (Back-propagation). Этот метод обучения построен на основе градиентного спуска, одного из методов оптимизации.
Алгоритм эластичного распространения (ResilientPropagation (Rprop)). Один из лучших алгоритмов с точки зрения скорости, точности и надежности. Аналогичен методу обратного распространения, однако имеет два преимущества:
- обучение с помощью Rprop в большинстве случаев быстрее;
- Rprop не требует указания каких-либо свободных значений параметров.
Генетические алгоритмы. Алгоритмы оптимизации и обучения, основанные на некоторых механизмах естественного отбора и наследования [8]. Генетический алгоритм выполняет следующие операции:
1. Случайная инициализация предварительной популяции.
2. Определение функций приспособленности для особей популяции.
3. Сравнение с минимальной желаемой пригодностью.
4. Выбор наиболее подходящего подмножества хромосом.
5. Скрещивание.
6. Ввод мутации к случайно выбранным хромосомам.
7. Формирование нового поколения
8. Возврат к пункту 2.
Другие методы обучения. Существует множество других методов для обучения нейронных сетей, например, метод масштабируемых сопряженных градиентов, алгоритм Левен-берга-Марквардта, сеть Хопфилда и т.д. Большинство из них относятся к видам с контролируемым обучением, каждый имеет специфические особенности, преимущества и недостатки, но в основном они не могут быть адаптированы под задачи планирования ЦП.
3. Нейронные сети и планирование ЦП
Планирование процессора задействовано на каждом уровне работы облачных вычислений, что сказывается на производительности платформы (операционной системы), программного обеспечения и времени отклика [9]. Следовательно, выбор оптимального алгоритма планирования ЦП будет представлять собой более выгодную альтернативу, чем приобретение новых инфраструктур для повышения скорости работы. Алгоритм планирования ЦП в облачных вычислениях должен прогнозировать время для каждой задачи:
- уменьшение количества переключателей контекста (количество раз, когда процессор переключается с одной задачи на другую);
- сокращение среднего показателя времени, затрачиваемого на выполнение задачи.
Исходя из вышеперечисленного, получаются следующие ключевые параметры нейронной сети, которые могут влиять на работоспособность облачных вычислений:
- время ответа (51): время, необходимое для получения результата;
- методы обучения (52): поддержка существующих методов обучения нейронных сетей;
- продолжительность обучения (53): количество времени, необходимое для обучения алгоритму, прежде чем он начнет принимать решения;
- интеграция (£4): простота кодирования и интеграция с существующими платформами (гипервизоры, операционные системы, облачные платформы).
Теоретический вес, варьирующийся от 0 до 1, был дан каждому из указанных выше параметров, которые представляют его важность для решения проблемы планирования:
время отклика: ^1=0,4;
методы обучения: ^2=0,2;
продолжительность обучения: ^з=0,3;
интеграция: ^4=0,1 [6].
4
^ wn = 1 .
И=1
4. Результаты
Задача состоит в том, чтобы подобрать тип нейронной сети, который будет наиболее адаптирован для решения задачи планирования процессора для облачных вычислений (табл. 1, 2).
Таблица 1
Области применения различных архитектур нейронных сетей
Нейронная сеть Возможности / Приложения Адаптировано для управления планированием ЦП / Управление системными ресурсами
Многослойный персептрон [9] Контролируемое обучение; Распознавание образов; Распознавание речи; Распознавание изображений; Машинный перевод Используется для оптимизации результатов планирования работы
Сеть радикально-базисных функций Логическая карта; Система нелинейного прогнозирования; Прогнозирование Используется для прогнозирования времени и ресурсов, используемых приложениями
Самоорганизующаяся карта Кохонена Метеорология, океанография; Приоритет и выбор проектов -
Рекуррентная нейронная сеть Распознавание речи; Компьютерное зрение Используется оптимизация количества очередей и квантов, чтобы уменьшить время отклика процессов и повысить производительность планирования
Модулярная нейронная сеть Распознавание образов; Классификация -
Таблица 2
Показатель эффективности нейронных сетей
Нейронная сеть Время отклика Si Метод обучения & Продолжительность обучения S3 Интеграция S4
Многослойный персептрон 0,8 Обратное распространение; Устойчивое обратное распространение; Генетический алгоритм; (0,3) 0,6 0,8
Сеть радикально-базисных функций 0,7 Градиентный спуск; Фильтр Калмана; Генетический алгоритм; (0,3) 0,5 0,7
Самоорганизующаяся карта Кохонена 0,1 Самоорганизующаяся карта; (0,1) 0,1 0,1
Рекуррентная нейронная сеть 0,5 Периодическое обучение; Расширенный фильтр Калмана; Градиентный спуск; Глобальная оптимизация; (0,4) 0,4 0,5
Модулярная нейронная сеть 0,1 Модульный алгоритм обучения нейронной сети; (0,1) 0,1 0,1
Общий балл для каждой сети рассчитывается суммой произведения заданной важности и оценки:
S = ^ wn х Sn .
о,/ 0,6 0,5 0,4 0,3 0,2 0,1 0
0.64
Общий балл
Я
и 5
5 Я
я i
а
н
я
>11 н
■1}
U
U
0 ^6
о
0,1 0,1
§ Л и
я о g я
Кохонена я Я i 5 я о н я 2Ъ я £ я t
Рн 1 3
Рис. 2. Сравнительный анализ эффективности некоторых архитектур нейронных сетей
при планировании ЦП
Как видно из рисунка 2, многослойный персептрон является наиболее эффективной архитектурой нейронной сетью для решения проблем планирования процессора для облачных вычислений.
n=1
Примечания:
1. Saxena H., Agarwal P. Introduction to CPU Scheduling Algorithms: Design and Performance Evaluation of Optimum Service Time Concept for Round Robin Algorithm (OSTRR). 2012. 52 рр.
2. Hicham G.T., Chaker E. Cloud Computing CPU Allocation and Scheduling Algorithms Using Cloud Sim Simulator // International Journal of Electrical and Computer Engineering. 2016. Vol. 6, No. 4. P. 1866-1879.
3. Риз Дж. Облачные вычисления. СПб.: БХВ-Петербург, 2011. 288 с.
4. Haykin S. Neural Networks and Learning Machines. 3rd ed. Paperback. 2010. 889 рp.
5. Samarasinghe S. Neural Networks for Applied Sciences and Engineering: From Fundamentals to Complex Pattern Recognition. 2007. 582 рp.
6. Частиков А.П., Малыхина М.П., Урвачев П.М. Анализ распознавания паттернов нейросетевыми методами // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2014. № 98. С. 457-467.
7. Сравнительный анализ некоторых алгоритмов роевого интеллекта при обнаружении сетевых атак нейросетевыми методами / В. А. Частикова, М.П. Малыхина, С.А. Жерлицын, Я.И. Воля // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2017. № 129. С. 106-115.
8. Частикова В.А. Исследование основных параметров генетического алгоритма метода генетических схем в интеллектуальных системах, основанных на знаниях // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2011. № 69. С. 151-163.
9. Хайкин С. Нейронные сети: полный курс. 2-е изд. М.: Вильямс, 2006. 1104 с.
References:
1. Saxena H., Agarwal P. Introduction to CPU Scheduling Algorithms: Design and Performance Evaluation of Optimum Service Time Concept for Round Robin Algorithm (OSTRR). 2012. 52 pр.
2. Hicham G.T., Chaker E. Cloud Computing CPU Allocation and Scheduling Algorithms Using Cloud Sim Simulator // International Journal of Electrical and Computer Engineering. 2016. Vol. 6, No. 4. P. 1866-1879.
3. Reese G. Cloud Computing. SPb.: BKhV-Petersburg, 2011. 288 pp.
4. Haykin S. Neural Networks and Learning Machines. 3rd ed. Paperback. 2010. 889 рp.
5. Samarasinghe S. Neural Networks for Applied Sciences and Engineering: From Fundamentals to Complex Pattern Recognition. 2007. 582 рp.
6. Chastikov A.P., Malykhina M.P., Urvachev P.M. Analysis of pattern recognition by neural network methods // Polythematic Network Electronic Scientific Journal of the Kuban State Agrarian University. 2014. No. 98. P. 457-467.
7. Comparative analysis of some algorithms of swarm intelligence when network attacks are detected by neural network methods / V.A. Chastikova, M.P. Malykhina, S.A. Zherlitsyn, Ya.I. Volya // Polythematic Network Electronic Scientific Journal of the Kuban State Agrarian University. 2017. No. 129. P. 106-115.
8. Chastikova V.A. The study of the main parameters of the genetic algorithm of the method of genetic schemes in intelligent systems based on knowledge // Polythematic Network Electronic Scientific Journal of the Kuban State Agrarian University. 2011. No. 69. P. 151-163.
9. Khaykin S. Neural networks: a full course. 2nd ed. M.: Williams, 2006. 1104 pp.