СТАТЬИ И ПУБЛИКАЦИИ

Вход или Регистрация

ПОМОЩЬ В ПАТЕНТОВАНИИ НАУЧНО-ТЕХНИЧЕСКИЙ ФОРУМ Научно-техническая библиотекаНаучно-техническая библиотека SciTecLibrary
 
Cтатьи и Публикации    Программное обеспечение РАЗРАБОТКА ОДНОПРОХОДНОГО МЕТОДА ПРОГНОЗИРОВАНИЯ СЕРВЕРНОЙ НАГРУЗКИ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ

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

© А.В. Городилов

Московский Институт Электронной Техники (Технический Университет)

Контакт с автором: Gorodilov_A@ellit.com

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

Основными показателями эффективности работы любой клиент-серверной системы обслуживания пользовательских заявок являются время реакции и количество задействованных ресурсов [1]. Повышение производительности таких комплексов в последнее время является одной из насущных проблем. Это обусловлено бурным развитием Internet-технологий, большинство из которых построено по клиент-серверной схеме [2]. Производительность вычислительных комплексов обслуживания клиентских запросов зависит в большей мере от эффективности серверного программного обеспечения (ПО) нежели от клиентских частей. Таким образом, проблема оптимизации обслуживания запросов сервером является актуальной.

Наилучшим способом увеличения эффективности серверного ПО является внедрение более совершенного алгоритма обслуживания клиентских запросов. На рис. 1 приведен один из вариантов дополнения архитектуры клиент-сервера механизмом регулирования. В состав механизма входят следующие части: модуль прогнозирования нагрузки; модуль сбора статистики; модуль настройки. Модуль прогнозирования производит изменение количества обработчиков в пуле на основе прогноза нагрузки на систему. Основной задачей модуля сбора статистики является фиксирование изменения нагрузки на протяжении всего периода работы системы с тем, чтобы при помощи модуля настройки эксперт мог выявить зависимости нагрузки от внешних параметров и задать эффективный способ работы модуля прогнозирования. На основе полученных статистических данных, а также в зависимости от текущей нагрузки, подсистема регулирования должна производить инициализацию дополнительных обработчиков, либо освобождение простаивающих. Такой подход позволит высвободить максимально возможное количество ресурсов без ущерба общей производительности системы.

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

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

Рассмотрим механизм прогнозирования на основе многослойной нейронной сети с алгоритмом обучения - обратное распространение ошибки [3]. Многослойный перцептрон может рассчитывать вектор для любого входного вектора , т.е. формировать значения некоторой векторной функции . (1)

Следовательно, условие любой задачи, которая может быть поставлена перцептрону [4], должно являться множеством векторов с компонентами каждый: . Решением задачи будет множество векторов , каждый вектор с компонентами: , где p=1..P – номер предъявленного образа. Перцептрон способен сформировать отображение . Данное отображение мы не можем “извлечь” полностью из перцептрона, а можем только посчитать отображение произвольного количества точек:

здесь множество векторов -формализованное условие задачи, а множество - формализованное решение задачи. Задача формализации, т.е. выбора смысла, которым наделяются компоненты входного и выходного векторов, пока решается только человеком на основе практического опыта. Жестких рецептов формализации для нейронных сетей пока не создано.

Задачу прогнозирования потребности в ресурсах можно представить в виде (1). Вектор состоит из одной компоненты - количество необходимого ресурса (в нашем случае кумулятивным ресурсом будет обработчик) в момент времени (t+1), а вектор изкомпонентов (совокупность параметров в момент t, от которых может зависеть количество потребляемых ресурсов в момент t+1). Наиболее простой способ формализации – это сеть с входами и одним выходом.

Задача прогнозирования потребности системы в ресурсе является задачей аппроксимации функции многих переменных. Пусть R(t) – дискретная функция, количество ресурса необходимое системе в момент времени t. Тогда R(t) можно представить в виде:

 (2)

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

Для прогнозирования потребности в ресурсе нет необходимости получения полного аналитического вида зависимости (2). Решение задачи прогнозирования требует лишь получения численного значения функции (2) по набору .

Для аппроксимации дискретной функции R(t) необходимо определить правила формирования и обучения сети. Конфигурация сети определяется следующими параметрами:

I – количество входов сети,

O – количество выходов сети,

L- количество скрытых слоев сети,

- количество нейронов в каждом из скрытых слоев.

По виду зависимости R от N переменных можно предположить, что сеть будет с N входами и одним выходом. Однако, для улучшения качества сходимости при применении сигмоидальной функции в качестве функции активации рекомендуется входные и выходные значения ограничивать рамками [-1;1] что исключает попадание значений в область насыщения. Представим значение каждой переменной в двоичном виде. Получаем набор векторов

(3)

где - количество двоичных разрядов необходимых для представления значений каждого из параметров. Значение выхода функции также представим в двоичном виде: .

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

Количество выходов соответственно

Следует показать, что существует несколько алгоритмов представления значений входных и выходных параметров в двоичном виде. Наиболее распространенное двоично-десятичное кодирование используется в вычислительной технике. Основной его чертой с точки зрения кодирования значений является экономичность. Добавление следующего разряда производится только в случае невозможности кодирования следующего числа уже задействованным количеством разрядов. В генетическом алгоритме нейрокомпьютинга предложен другой вид кодирования – код Грея. Преимущество этого метода состоит в том, что в двоичной нотации переход от десятичного числа к следующему (или предыдущему) осуществляется с помощью замены всего одного бита. Также можно применить метод, при котором количество входов будет соответствовать набольшему числу из диапазона параметра. Назовем этот метод количественное кодирование.

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

Зачастую нет необходимости использовать абсолютное значение некоторых параметров в силу того, что они несут в себе мало полезной информации для сети, также возможен слишком широкий разброс значений. Принято их масштабировать. Например: если при прогнозировании не имеет смысла давать сети информацию об абсолютном времени, то можно разделить весь период на куски по 15 минут и пронумеровать их по порядку. Будем называть такой промежуток квантом времени. Давая сети не абсолютное время, а номер кванта получается более простая конфигурация сети и увеличивается скорость обучения. Для использования масштабирования при прогнозировании потребностей в ресурсе необходимо определить для каждого диапазон изменения значений , где и количество квантов . Квантом будем называть диапазон значение параметра при прохождении по которому, при неизменности остальных параметров, значение моделируемой функции не должно поменяться. На вход сети будем подавать не значения параметров , а номера квантов в двоичной кодировке. Для определения принадлежности некоторого значения параметра к определенному кванту будем использовать формулу , где -ближайшее целое большее z.

Таким образом, на входы сети будут подаваться вместо (3) вектора двоичных значений квантов

На выходе также будем иметь вектор значений кванта выхода

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

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

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

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

Литература:

  1. Локтев С. Проблемы внедрения технологии “клиент-сервер”. “CompUnity”, №5 стр. 19-21 №6 стр. 20-22, 1996
  2. Дунаев С. Internet-технологии. М.: “Диалог-МИФИ”, 1997, 117 стр.
  3. Розенблат Ф. Аналитические методы изучения нейронных сетей. М.: Зарубежная радиоэлектроника. – 1965 150 стр.
  4. Минский М., Пейперт С. Персептроны. М.: МИР, 1971. 210 стр.
Дата публикации: 26 мая 2005
Источник: SciTecLibrary.ru

Вы можете оставить свой комментарий по этой статье или прочитать мнения других в следующих разделах ФОРУМА:
Свернуть Защита интеллектуальной собственности и авторских прав
Диспуты по темам изобретательства. Вопросы по изобретениям, проблемы на пути изобретателей и методы их решения.
Патентование. Все о патентовании изобретений, полезных моделей, промышленных образцов и товарных знаков.
Нерешенные задачи. Здесь идет обсуждение нерешенных задач: безопорный двигатель, вечный двигатель, преодоление гравитации и пр.
Свернуть Точные науки и дисциплины
Дебаты по Теории Относительности Эйнштейна. Все кому не лень хотят опровергнуть Теорию Относительности Эйнштейна. Вам предоставляется слово для аргументации.
Физика, астрономия, математические решения. Физико-математические вопросы, наблюдения, исследования, теории и их решение.
Физика альтернативная. Новые взгляды на физические законы, теории, эксперименты, не вписывающиеся в общепринятые законы физики.
Teхника, узлы, механизмы, электроника и аппаратура. Все про технику, приборы, детали, узлы и механизмы. Электроника, компьютеры, программное обеспечение. Новые технические решения в самых разных областях.
Биология, Генетика, Все о жизни. Генетика и другие вопросы биологии. Их развитие. Медицина. Биотехнологии, агротехника и сельское хозяйство. Эволюционные теории и альтернативные им.
Химия. Вопросы по химическим технологиям, разработкам и применению химических материалов. Химические элементы и их свойства.
Геология, все о Земле и ее обитателях. Геология, метеорология, антропология, сейсмология, атмосферные явления и непознанные эффекты природы.
Свернуть Мозговой штурм
Генератор решений. Здесь Вы можете заработать реальные деньги, помогая решать фирмам, предприятиям и частным лицам те или иные технические задачи, которые перед ними стоят. Те, кто ставят задачи перед участниками должны обозначить гонорар за ее решение и перевести указанную сумму на общий счет генератора.
Головоломки. Если у Вас есть желание поломать голову над интересными логическими задачами - Вам сюда.
Гипотезы. В этой теме идет обсуждение гипотез и предположений, основанных чисто на теории и логике.
Найди ляп! Этот раздел для тех, кто хочет мысленно расслабиться. Он посвящен задачам по поискам ляпов, которые встречаются в литературе, интернете, кино и на телевидении.
Свернуть Взгляд в будущее и настоящее
Глобальные темы. Вопросы касающиеся всех. Глобальные угрозы и злободневные темы современности.
Наука и ее развитие. Все о развитии науки, направлениях и перспективах движения научной мысли и знаний.
Новая Цивилизация. Принципы социального устройства новой цивилизации. Увеличение роли созидательного интеллекта... Отдалённые перспективы развития человечества...
Вопросы без ответов. Этот раздел посвящен вопросам и проблемам, которые до сих пор не решены. Предлагайте свои решения.
Военная стратегия и тактика современных боевых действий. Об особенностях современного военного искусства. Проблемные вопросы теории и практики подготовки вооруженных сил к войне, её планирование и ведение в различных конфликтах на планете.
Свернуть Гуманитарные науки и дисциплины
Философские дискуссии. Диспуты по вопросам жизни, сознания, бытия и иных философских понятий.
Экономика. Вопросы по экономике и о путях развития России и других стран.
Социология, Политология, Психология. В этом разделе обсуждаются вопросы, как отдельных частных исследований данных наук, так и проблема соотношения этих наук с остальными.
Образование. Все об образовании: как учить, кому учить, чему учить и кого учить.
Религия и атеизм. Вопросы религий и атеистические взгляды, религиозные споры.

Хотите разместить свою статью или публикацию, чтобы ее читали все?
Как это сделать - узнайте здесь.

Назад

 
О проекте Контакты Архив старого сайта

Copyright © SciTecLibrary © 2000-2017

Агентство научно-технической информации Научно-техническая библиотека SciTecLibrary. Свид. ФС77-20137 от 23.11.2004.