автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.01, диссертация на тему:Алгоритмы нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы обработки информации
Автореферат диссертации по теме "Алгоритмы нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы обработки информации"
На правах рукописи
АЛГОРИТМЫ НЕЙРОПРОГНОЗИРОВАНИЯ ДЛЯ ОПЕРАТИВНОГО РЕГУЛИРОВАНИЯ РАСПРЕДЕЛЕННОЙ ЦЕНТРАЛИЗОВАННО-КОЛЬЦЕВОЙ СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ
Специальность: 05.13.01 - Системный анализ, управление и обработка информации
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Москва -2006
Работа выполнена на кафедре информатики и программного обеспечения вычислительных систем Московского государственного института электронной техники (технический университет).
Научный руководитель:
доктор технических наук, профессор Гагарина Л.Г. Официальные оппоненты:
доктор физико-математических наук, доцент Рычагов М.Н. кандидат технических наук Скоробутов А.Ю. Ведущая организация: НИИ "Научный ценгр"
Защита состоится иы&Т-гЗ'_ 2006 г. в /V ^ часов на
заседании диссертационного совета Д 212. ¡34.02 в Московском государственном институте электронной техники (техническом университете) по адресу 124498, Москва, Зеленоград, МИЭТ.
С диссертацией можно ознакомиться в библиотеке МИЭТ. Автореферат разослан 12- .х^Д 2006 г.
Ученый секретарь диссертационного сове кандидат технических наук, профессор
¿оюьк
ЧЛТо^
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы. Стремительный рост популярности глобальной сети Интернет, появление новых видов задач и значительное увеличение масштабов старых систем обуславливают потребность в высокопроизводительных вычислительных комплексах. На фоне ежегодного увеличения производительности процессоров на первый план выходит проблема оптимальной организации вычислений. Постоянный рост масштабов вычислительных систем и увеличение объемов обрабатываемой информации определяет актуальность и значимость исследований в области разработки крупных систем обслуживания пользовательских заявок. Яркими примерами таких систем являются интернет-порталы, электронные магазины, системы управления предприятиями, а в последнее время уже внедряются системы электронных платежей. Большинство современных систем обслуживания пользовательских заявок являются централизованными. При этом основная нагрузка по обработке запросов ложится на серверную часть, а клиентская занимается лишь взаимодействием с пользователем (уровень представления). Существует множество систем, которые обрабатывают большое количество тяжелых, с точки зрения нагрузки, заявок. При этом часто ресурсоемкая обработка заявок требует большого количества ресурсов вычислительной системы. Результатом перегрузки, зачастую, является немотивированный отказ сервера в обработке.
Для предотвращения таких ситуаций серверная часть крупных систем в современных комплексах реализуется в виде кольца обрабатывающих узлов. Кроме того, обрабатывающие узлы системы размещается на заведомо более мощном оборудовании, чем это необходимо. В результате совокупная стоимость системы значительно увеличивается. Зачастую, для экономии средств на одних и тех же вычислительных мощностях размещают несколько серверов различных систем. При этом настройка каждого из серверов на оптимальную работу при минимально возможном использовании ресурсов представляет значительную сложность. Выбор вычислительной мощности системы является серьезной проблемой при настройке сервера на оптимальное функционирование.
3 __
РОС. НАЦИОНАЛЬНАЯ БИБЛИОТЕКА С.-Петербург .
ОЭ 200(ржтУ<?3
На фоне постоянного роста производительности новых вычислительных систем и удешевлении комплектующих существующих систем, при разработке программного обеспечения (ПО) не уделяется должное внимание проблеме оптимального использования ресурсов системы. Однако, в случае достаточно статичной структуры функционирующей системы, задача экономии ресурсов не так актуальна, как в случае с системами с достаточно динамично изменяющейся структурой. Клиент-серверная обработка заявок подразумевает именно такую изменчивую структуру в памяти машины. Для обработки нагрузки производится заимствование ресурсов, которые возвращаются после окончания обработки. Обычной практикой является жесткая установка количества доступного системе ресурса, при этом данная величина постоянна и не меняется в процессе функционирования системы. Другим вариантом является вычисление на основе статистики средней величины нагрузки и дальнейшее использование именно этого значения в качестве эталона. При этих вариантах работы большую часть времени занятые системой ресурсы простаивают, т.к. ситуация, когда поток пользовательских заявок равномерен и постоянен, бывает чрезвычайно редко. Основная проблема при создании механизма регулирования заключается в разработке подсистемы прогнозирования, способной работать независимо от характера нагрузки. Существующие в настоящее время пакеты создания распределенного ПО (Microsoft DCOM, OMG Corba, Microsoft .NET, Java RMI) не предоставляют готовых решений для регулирования вычислительной мощности разрабатываемых на их основе систем.
Таким образом, разработка алгоритма нейропрогнозирования для оперативного регулирования централизованно-кольцевой системы для эффективного решения задач оперативного масштабирования крупных распределенных систем и его программной реализации, может стать общим решением для любой распределенной системы.
Теоретические основы распределенных и параллельных вычислений рассмотрены в работах Барского А.Б., Воеводина В.В., Воеводина Вл.В., Крюкова В.А., Топоркова В.В., Таненбаума Э., Ван Стеена М. и др. В работе Гоффа М.К. "Сетевые распределенные вычисления. Достижения и проблемы" рассмотрена текущая ситуация в разработке распределенного программного обеспечения, разобраны проблемы и перспективы области. Практические вопросы
проектирования и разработки распределенных систем наиболее полно представлены в работах Брауде Э., Буча Г., Дейтела X., Фаулера М., Эммериха В., Грегори Р. Эндрюса.
Анализ существующих исследований, посвященных решению задач оперативного регулирования централизованно-кольцевых систем, показал, что ни одна из современных технологий разработки распределенного программного обеспечения не имеет в своем составе аппарата для решения задач оперативного регулирования, что связано с отсутствием практики решения таких задач и недостаточно проработанной теорией для синтеза универсального метода прогнозирования. Поэтому представляются актуальными исследования, направленные на разработку алгоритмов нейропрогнозирования для оперативного регулирования распределенных систем обработки информации в целях эффективного решения задач оперативного масштабирования крупных распределенных систем на основе оптимизации использовании вычислительных ресурсов.
Цель работы состоит в разработке алгоритмов и программных компонентов механизма оперативного регулирования распределенных централизованно-кольцевых систем, позволяющих увеличить производительность серверного программного обеспечения и уменьшить количество используемых вычислительных ресурсов в распределенных централизованно-кольцевых системах с целью повышения эффективности решения задач оперативного масштабирования крупных распределенных систем.
Поставленная цель достигается за счет интеграции подсистемы оперативного регулирования распределенной системы на основе нейропрогнозирования нагрузки в схему распределенной централизованно-кольцевой системы.
Задачи работы. Определенная выше проблема по разработке алгоритмов нейропрогнозирования для оперативного регулирования вычислительной мощности предполагает решение следующих задач:
-исследование способов построения распределенных систем на основе разделения функциональности на слои;
-определение особенностей организации межузлового взаимодействия в распределенных системах и разработка на их основе новых алгоритмов нейропрогнозирования для оперативного регулирования распределенных централизованно-кольцевых систем;
-разработка архитектуры и программная реализация средств нейропрогнозирования для оперативного регулирования распределенных централизованно-кольцевых систем;
-экспериментальная проверка реализации механизма нейропрогнозирования для оперативного регулирования в распределенной централизованно-кольцевой системе.
Методы исследования. При выполнении исследований использовался математический аппарат теории графов, теория массового обслуживания и теория нейронных сетей, а также методы имитационного моделирования сложных систем.
Научная новизна В работе получены следующие новые научные результаты:
1. Предложен новый алгоритм нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы, позволяющий уменьшить количество простаивающих обработчиков серверного кольца на 5% и сократить время обработки клиентских заявок в 2,6 раза.
2. Обоснована необходимость применения математического аппарата нейронных сетей при синтезе подсистемы прогнозирования алгоритмов оперативного управления распределенной централизованно-кольцевой системы.
3. Предложен новый способ преобразования входных и выходных переменных нейронной сети для стандартизации формата переменных, основанный на двоичном преобразовании данных по коду Грея, позволяющий сократить очередь входящих заявок на 10% в сравнении с традиционными способами двоичного кодирования.
4. Разработана объектно-ориентированная архитектура классов и программная реализация алгоритма нейропрогнозирования для оперативного регулирования вычислительной мощности централизованно-кольцевой системы, позволяющая стандартизировать его использование в распределенных системах.
5. Разработан пакет программных компонентов для механизма оперативного регулирования вычислительной мощности распределенных систем с использованием различных способов кодирования значений переменных.
6. Разработана имитационная модель централизованно-кольцевых распределенных систем в виде программного комплекса с
возможностью сбора и анализа результатов в хранилище данных на основе СУБД.
Практическая ценность работы. Применение предложенных технических решений позволяет уменьшить количество задействованных ресурсов, увеличить производительность во время пиков нагрузки в централизованно-кольцевой системе обработки информации за счет более эффективного распределения ресурсов вычислителей.
Разработанный программный комплекс для оперативного регулирования позволяет создавать самонастраивающиеся и адаптирующиеся к вычислительной нагрузке распределенные серверные системы для корпоративных информационных систем, систем управления предприятием и производством, \VWW-cepBepoB.
Разработанные программные компоненты представляют собой законченную программную реализацию в виде библиотеки классов, применимую практически в любой разрабатываемой или уже внедренной крупной централизованно-кольцевой системе с минимальными доработками по взаимодействию.
Проведенные эксперименты выявили уменьшение очереди входящих заявок более чем в 7 раз, сокращение задействованных ресурсов на 5%, уменьшение времени обработки заявок более чем в 2,6 раза при применении алгоритмов нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы.
Полученные результаты, являются достоверными в силу того, что основные теоретические выводы и положения диссертации научно обоснованны и подтверждены результатами экспериментальных исследований автора, актами внедрения результатов диссертационных исследований.
Личный вклад автора. Все основные результаты получены автором лично. Главными из них являются:
разработка алгоритма нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы;
разработка объектно-ориентированной архитектуры и программной реализации многослойного перцептрона с обучением по методу обратного распространения ошибки и его интеграция в механизм оперативного регулирования централизованно-кольцевых распределенных систем;
реализация разработанного алгоритма в виде библиотеки повторно используемых классов и компонентов;
создание имитационной модели централизованно-кольцевых систем обработки информации;
разработка методики экспериментальной проверки эффективности внедрения алгоритмов нейропрогнозирования для оперативного регулирования в распределенные централизованно-кольцевые системы различных типов;
разработка серверной части информационно-поисковой системы нормативно-правовой документации "НПДок" и серверного программного обеспечения распределенной системы управления сетью "Утконос" компании "Новый Импульс" с применением механизма оперативного регулирования.
Реализация и внедрение результатов работы. Результаты работы использованы кафедрой Информатики и программного обеспечения вычислительных систем МИЭТ при создании информационно-поисковой системы нормативно-правовой
документации "НПДок". Применение разработанных программных компонентов при реализации серверной части информационно-поисковой системы позволило существенно сократить время обработки пользовательских запросов и количество используемой машинной памяти. Кроме того, разработанные программные компоненты использованы при реализации серверного программного обеспечения автоматизированной системы управления распределенной сети "Утконос" компании "Новый Импульс-Центр", что позволило сократить использование системной памяти серверов. Результаты работы используются в учебном процессе Московского государственного института электронной техники при чтении лекций кафедрой "Информатики и программного обеспечения вычислительных систем" (ИПОВС) по курсам "Автоматизированные информационные системы" и " Операционные системы, среды и оболочки ". На защиту выносятся:
• анализ состояния проблемы построения распределенных систем и разделения их функциональности на слои;
• адаптированный к применению в составе централизованно-кольцевых систем алгоритм нейропрогнозирования для оперативного регулирования вычислительной мощности распределенной централизованно-кольцевой системы;
• объектно-ориентированная архитектура и программная реализация алгоритма нейропрогнозирования и механизма оперативного регулирования централизованно-кольцевыми распределенными системами на основе нейросетевого прогнозирования нагрузки;
• имитационная модель центр ализованно-колйцевых вычислительных систем в виде программного комплекса с возможностью сбора и анализа результатов в хранилище данных на основе СУБД;
• результаты экспериментальной проверки снижения времени обработки клиентских заявок и экономии вычислительных ресурсов при применении алгоритма нейропрогнозирования для оперативного регулирования в централизованно-кольцевой распределенной системе.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на следующих научных конференциях:
IX Международная научно-практическая конференция студентов, аспирантов и молодых ученых "Современные техника и технология". Томск, ТПУ, 2003 г.
IV Всероссийская научно-техническая конференция "Новые информационные технологии". Москва, МГАПИ 2003 г.
XI всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2004 г.
X всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2003 г.
IX всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2002 г.
Публикации. По теме диссертации опубликовано 12 печатных работ, в том числе 7 научных статей и 5 тезисов доклада. Без соавторов опубликовано 9 работ.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы из 156 наименований и приложения. Диссертация включает 164 страниц основного текста, 73 страницы с рисунками и таблицами, 25 страниц приложений.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность темы диссертационной работы, сформулированы цель и задачи исследования, приведено краткое содержание работы.
В первой главе рассмотрены проблемы проектирования и реализации крупных распределенных систем.
Проведенный анализ показал, что основными требованиями при проектировании и реализации распределенных систем являются: масштабируемость; открытость; неоднородность; разделение ресурсов; отказоустойчивость. Принимая во внимание, что реализация неоднородности, отказоустойчивости и прозрачности часто строится на масштабировании, то наиболее важным свойством крупной распределенной системы является поддержка масштабируемости.
В настоящее время практически во все крупные современные распределенные системы заложена возможность масштабирования при изменении нагрузки, однако, этот процесс зачастую проходит в ручном режиме и требует остановки всей системы, либо ее подсистем. Таким образом, наиболее актуальны исследования, направленные на разработку механизмов оперативного регулирования распределенных систем, которые могли бы позволить проводить масштабирование без остановок системы.
Сравнительный анализ существующих технологий разработки распределенного программного обеспечения (Microsoft СОМЮСОМ, OMG CORBA, Microsoft .NET Framework, Java RMI/Jini/JMX/Jire/JXTA) выявил наличие широких возможностей реализации механизмов управления работой распределенных компонентов. При этом ни в одной из технологий не представлены механизмы автоматического масштабирования.
Рассмотрены распределенные системы с точки зрения организации связей между узлами. Выделено четыре основных топологии организации связей между узлами распределенных систем: централизованная, децентрализованная, иерархическая и кольцо. Проведен анализ достоинств и недостатков каждого способа организации. Показано, что реальные распределенные системы, как правило, строятся на основе гибридных топологий- централизованно-кольцевая, централизованно-централизованная и централизованно-децентрализованная. Установлено, что наиболее перспективной схемой
является централизованно-кольцевая, в силу заложенной на уровне топологии возможности изменения вычислительной мощности системы за счет регулирования количества узлов серверной части системы.
Проанализировано разделение крупных распределенных систем на три функциональных уровня: уровень данных, уровень логики и уровень представления. Рассмотрены механизмы взаимодействия между узлами и уровнями распределенных систем, как на системном уровне, так и на алгоритмическом.
С учетом выявленных особенностей распределенных систем проведен анализ существующих схем организации вычислений, таких как локальный сервер, клиент-сервер и трехзвенная схема. Показано, что централизованно-кольцевая система может быть построена на основе трехзвенной системы путем замены узла слоя логики на кольцо однотипных узлов.
Рассмотрены проблемы организации централизованно-кольцевых систем. Проблема распределения узлов по вычислителям с минимизацией трафика решается алгоритмами на основе графового представления (Graph-Theoretic Determenistic Algorithm) и алгоритма по таблице использования "Вверх-вниз". Эти алгоритмы являются централизованными. Системы без единого центра решают проблему с помощью "иерархического алгоритма" или "распределенного эвристического алгоритма по получателю или по отправителю". Рассмотрены различные способы балансировки нагрузки между узлами: балансировка основанная на распространении (Diffusion Based Load Ballancing), градиентная модель (Gradient Model), модель с центральным диспетчером (Central Job Dispatcher) и способ основанный на применении нейросетей WTA. Проблема выбора оптимального количества вычислителей и узлов может быть решена с помощью аппарата систем массового обслуживания в случае стационарности и предсказуемости потока заявок. Показано, что все эти алгоритмы имеют функциональный характер и не могут являться универсальным решением.
С учетом проведенного анализа сформулированы цели работы, состоящие в реализации механизма оперативного регулирования централизованно-кольцевой распределенной системы обработки информации с целью минимизации количества задействованных ресурсов и времени обработки запросов.
Во второй главе описан разработанный алгоритм нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы.
Предложена новая архитектура распределенной централизованно-кольцевой системы, включающая подсистему оперативного регулирования вычислительной мощности состоящую из модулей сбора статистики, прогнозирования и настройки, представленная на рис. 1.
2св#пП I
2с*пЛ2 I р„
I 2
2сь«п1к I „ ■ | •
Очередь входящи> просов
✓ \ ' I 4
/ Ц . \ ' и Л—2 N
°_1.
ЛПо0°иТ
Модуль сбора статистики
Модуль настройки
ЦП
и
__— ■»«••
модуль прогнозирования нагрузки
Рис. 1 Архитектура системы оперативного регулирования вычислительной мощности
Модуль прогнозирования производит изменение количества обработчиков в пуле на основе прогноза нагрузки на систему. Основной задачей модуля сбора статистики является фиксирование изменения нагрузки на протяжении всего периода работы системы с тем, чтобы при помощи модуля настройки администратор системы мог выявить зависимости нагрузки от внешних параметров и задать эффективный способ работы модуля прогнозирования.
Сравнительный анализ основных методов одношагового прогнозирования в том числе: экспоненциальное сглаживание, АРПСС (авторегрессионное проинтегрированное скользящее среднее), множественная линейная регрессия, спектральный анализ, графический технический анализ показал, что им присущи существенные недостатки, заключающиеся в нестационарности прогнозируемого процесса, неадекватности линейных регрессионных моделей, сложности построения аналитических зависимостей, описывающих временной ряд, необходимости нахождения несглаженных значений.
С учетом специфики задачи прогнозирования показаны преимущества решения задачи прогнозирования нагрузки с помощью нейронных сетей заключающиеся в отсутствии ограничений на характер входных данных, способности находить оптимальные для текущей задачи индикаторы и строить по ним оптимальную для данного ряда стратегию прогнозирования, простоте формализации, способности успешно решать задачи, в которых не очевидна связь между входными и выходными данными. Другим явным преимуществом нейронных сетей является способность работать, опираясь на неполную или зашумленную информацию. Благодаря присущему им внутреннему параллелизму, нейросети обеспечивают высокую скорость вычислений, что является наиболее важным в задачах реального времени и высокопроизводительных вычислительных комплексах. Все вышеперечисленные факторы определяют целесообразность использования нейронных сетей для решения задач прогнозирования.
Проанализирована применимость нейропарадигм различного типа к задаче прогнозирования. Анализ показал, что из сетей Хопфилда, Хэмминга, встречного распространения, радиального базиса, карт Кохонена, многослойного перцептрона, двунаправленной ассоциативной памяти для решения задачи прогнозирования наиболее эффективным является многослойный перцептрон, в силу простоты реализации, нетребовательности к ресурсам и высокой скорости получения результата за один проход.
По результатам сравнительного анализа многослойного перцептрона и сети радиального базиса в качестве механизма прогнозирования выбран многослойные перцептрон.
На основе нейросетевого прогнозирования разработан алгоритм оперативного регулирования, состоящий из четырех этапов: выбор
набора входных переменных и их масштабирование, формирование сети, обучение, работа сети в режиме прогнозирования.
На рис.2 представлен первый этап алгоритма оперативного регулирования. На первом этапе на основе оценки экспертов выделяется набор факторов внешнего мира и внутренних состояний системы, влияющих на прогноз.
1.1. Определение входных параметров (л,.....xN) и выходного параметра (г).
I
1.2. Определение диапазона изменения
' „mm гш ^ 1 •Л1
значений , где jC <
N * N
Iran щах V 'Г
1.3. Определение количества квантов каждого из параметров AT,.....KN,Kr
Ъ
Рис.2. Этап 1. Выбор набора входных переменных и их масштабирование
Определяется диапазон изменения значений каждой из переменных
min m Л| , Л]
„тш „max XN ,XN
min max
, включая значения выхода сети, где xl,..,xN - переменные
характеризующие факторы, на основе которых будет производиться прогнозирование, г - значение спрогнозированной величины. Определяется количество квантов каждого из параметров. Кроме того, на первом этапе производится сбор значений выбранных факторов.
На втором этапе, представленном на рнс.З, производится бинаризация (преобразование всех входных и выходных векторов к двоичному виду) переменных на основе сформированных экспертом диапазонов изменения их значений и количества квантов.
Рис. 3. Этап 2. Формирование сети
На этом этапе становятся известны основные параметры нейронной сети - количество входов/ = ^Гм, , где М,- количество разрядов
/
необходимых для двоичного представления значений параметра к и количество выходов нейросети О = М г, где М г - кол-во разрядов необходимых для двоичного представления значения выхода. По результатам обработки данных формируется сеть.
На третьем этапе, представленном на рис.4, производится обучение сети. Для обучения формируется двоичный массив преобразованных значений входного и выходного вектора. Сформированный массив обучающих данных делится на две части -обучающие данные и тестовый набор. Первый набор используется для обучения сети, второй - для оценки качества обученной модели. Обучение сети производится методом обратного распространения ошибки. Он заключается в циклическом предъявлении сети входных значений с известным выходом. По результатам сравнения полученного и известного выхода производится коррекция весовых коэффициентов сети. Если после окончания обучения проверка на тестовом множестве выявляет неудовлетворительное качества, производится переобучение сети.
После формирования обучающей выборки производится подготовка данных включающая квантование и бинаризацию. Такая подготовка позволяет учитывать характер входных данных, и при этом не производить отказ от абсолютных значений, что характерно большинству существующих методов подготовки данных. Суть масштабирования данных заключается в преобразовании всех используемых значений к двоичному виду. Обучение сети на двоичных значениях существенно повышает скорость сходимости. Такое преобразование данных позволяет привести разнородные данные к одному диапазону.
Преимущества предложенного способа подготовки данных в сравнении с традиционными способами линейного масштабирования и масштабирования на основе статистических характеристик ряда заключаются в возможности ограничить диапазон возможных значений получаемых данных и одновременно добиться равномерного заполнения этого диапазона.
Новизна данного подхода заключается во введении дополнительного шага в традиционный алгоритм подготовки данных. При подготовке данных производится квантование (деление на отрезки) всего диапазона возможных значений фактора. Все полученные отрезки нумеруются, после чего значения номеров преобразовываются к двоичному виду. После этого производится перекодирование всех значений в соответствии с полученной кодировкой диапазона.
3.1. Формирование обучающей выборки'
х' У 1 " • *** г'
X * " • хы ^ г2 \ /
3.2. Квантование'
• 'К . ' ^
* II р и
л2 • ■ кг \ /
1.1«"
, где С
[г]-ближайшее целое большее г
3.3. Бинаризация:
О. =Вт(Кх) =
Оя = Вт(К„) =
(«Л.....л",\<1\,..,<1и,'.........<Л,.
<1\.....<1иг\<1\,...,аиг............</' .
1?..... «?' ' ......................»5
......¿Г-'
Л.....<£•
V г г /
3.4. Обучение сети по методу обратного распространения ошибки Входные данные - Рх , соответствующие им выходняе значения -
о.
Рис. 4. Этап 3. Обучение сети.
Рассмотрим сеть с входным вектором хх,..ххы. Для использования масштабирования при прогнозировании потребностей в ресурсе определим для каждого х1 диапазон изменения значений
D =
„nun „max Xl ,Xt
где x\
main
<x™x и количество квантов Kl,..,KN. Квантом
будем называть диапазон значений параметра, при прохождении по которому при неизменности остальных параметров, значение выхода не должно поменяться. На вход сети будем подавать не значения параметров xx,..,xN, а номера квантов kx,..,kN в двоичной кодировке. Для определения принадлежности некоторого значения параметра к определенному кванту будем использовать формулу
„min
' где
к, =
к
ten
к1'" - величина кванта i-ro параметра (к'ел = —
len
К,
[г] -ближайшее целое, большее ъ.
Таким образом, на входы сети будут подаваться векторы
/ 1 , \ .....
двоичных значений квантов k1,..,kN =
kMt к V *l *N /
На выходе также будем иметь вектор значений кванта выхода
л 1 л
к1
км*
\К У
Количество разрядов, необходимых для представления значения кванта, определяется согласно выбранному методу кодирования.
При двоично-десятичном преобразовании значений в работе предложено в дополнение к традиционным методам кодирования использовать кодирование Грея. Преимущество этого метода состоит в том, что в двоичной нотации переход от десятичного числа к следующему (или предыдущему) осуществляется с помощью замены всего одного бита.
Четвертый этап, представленный на рис.5, представляет собой работу модуля прогнозирования в штатном режиме.
Сети предъявляются значения факторов, при которых необходимо получение величины прогноза. На данном шаге необходима дебинаризация и преобразование, обратное масштабированию, выхода для нахождения абсолютного числового промежутка значений прогноза. В режиме прогнозирования также постоянно производится оценка качества прогноза. В случае обнаружения большого количества неточностей в прогнозе производится переобучение сети.
Третья глава посвящена практической реализации алгоритма нейропрогнозирования для оперативного регулирования централизованно-кольцевой системы. В ней рассмотрены вопросы организации прогнозирования средствами нейронных сетей, на основе предложенных в работе решений, а также приведена их реализация в виде объектно-ориентированного программного кода на языке Borland Delphi.
Разработанная объектно-ориентированная архитектура библиотеки, представленная на рис.6, позволяет использовать все преимущества современного объектно-ориентированного подхода к разработке программного обеспечения, а именно: повторную используемость кода и расширяемость. Кроме того, объектный подход позволяет использовать полученный в работе результаты из любого современного пакета разработки программного обеспечения, что добавляет открытость и доступность.
Рис. 5. Этап 4. Работа сети в режиме прогнозирования
*
ТЫеигоп ТЬауег
Т№ига1Ые!
ТЫеигопВР
ТЬауегВР
ТЫеига1№ВР
Функциональность нейронной сети многослойного персегттрона с реализацией обучения обратным распространением ошибки
ТЫЫУаНаЫе
ТЫ№1пУаг1аЫе ТЫЫбгауУаНаЫе
ТЫМСопЛдига^оп
ТЫ№а1а ТУаНаЫе
ТЫЫМападег
Реализация алгоритма оперативного регулирования и классы оперирования значениями переменных
Рис. 6. Архитектура библиотеки реализации механизма оперативного регулирования распределенных централизованно-кольцевых систем.
Библиотека состоит из двух частей. В первой части представлены классы, реализующие базовую функциональность нейронных сетей. В первую очередь это класс ТИеигоп с основными свойствами и методами нейрона, а именно весовые коэффициенты и вычисление значения выхода нейрона. Класс ТЬауег инкапсулирует в себе свойства и методы слоя нейросети. Он отвечает за работу с нейронами входящими в слой. Базовый класс нейросети ТМеигоКе! реализует работу с входным, выходным и массивом скрытых слоев.
Для реализации поведения характерного многослойным перцептронам базовые классы переопределены и расширены наследниками: Т№игопВР, ТЪауегВР, ТКеига!Ые1ВР. В них добавлена функциональность и свойства необходимые для реализации метода обучения сети обратным распространением ошибки.
Вторая часть библиотеки содержит классы реализующие преобразование и подготовку значений переменных и классы алгоритма
нейропрогнозирования для оперативного управления. Базовым классом управления переменными является TVariable. Методами этого класса осуществляется квантование и масштабирование. Объекты этого класса хранят значения и параметры переменных на этапах работы алгоритма оперативного регулирования. Базовым классом двоичных преобразований является класс TNNVariable. В нем объявлены абстрактные методы и свойства для двоично-десятичного преобразования в любом направлении. Непосредственно способы кодирования при двоично-десятичном преобразовании реализуются потомками TNNB invariable и TNNGrayVariable - традиционное кодирование и код Грея соответственно. Таким образом, наличие базового класса с абстрактными методами позволяет расширять библиотеку в части реализуемых способов кодирования. Например, при необходимости использования нового способа кодирования переменных достаточно переопределить класс TNNVariable и в новый класс добавить реализацию методов преобразования данных, именно так реализованы классы TNNBinVariable и TNNGrayVariable.
Представленные в главе фрагменты кода позволяют детально рассмотреть практические аспекты реализации и использования предложенных в работе результатов. При реализации классов проводился постоянный рефакторинг кода, что позволило поддерживать код в прозрачном и легком для понимания виде на протяжении всего времени работы над проектом. Кроме того, применение рефакторинга позволило в результате получить самодокументированную реализацию классов, при этом логика работы достаточно просто отслеживается по названиям методов, свойств, переменных и классов.
Относительная простота интеграции разработанной объектно-ориентированной программной реализации алгоритма оперативного регулирования позволяет использовать разработанный алгоритм в любой крупной распределенной системе, построенной по централизованно-кольцевой схеме.
В четвертой главе представлены результаты экспериментальных исследований разработанного в диссертационной работе алгоритма нейропрогнозирования для оперативного регулирования.
Разработана имитационная модель работы централизованно-кольцевой распределенной системы с возможностью использования в качестве хранилища данных СУБД. Реализована модель на Borland
Delphi с целью интеграции в нее программной реализации алгоритма оперативного регулирования.
Проведены два эксперимента. Целью первого эксперимента является подтверждение факта увеличения производительности при экономии ресурсов вычислителей. Проведено моделирование работы реальной системы (почтовый сервер) с применением алгоритма оперативного регулирования и без него. Основными исследуемыми величинами в эксперименте являются: средний размер очереди ожидающих заявок (Q _ queue avg), среднее количество простаивающих
обработчиков (L_freemg) и среднее время выполнения заявки
которые характеризуют скорость обработки запросов и количество блокированного, но не востребованного вычислительного ресурса системы.
Результаты первого эксперимента представлены в таблице 1, из которой видно, что при применении динамического регулирования на фоне уменьшения на 5% количества простаивающих обработчиков размер очереди ожидающих заявок сократился более чем в 7 раз.
Таблица 1
Результаты экспериментальной проверки скорости обработки заявок
№ Описание Среднее количество обработчиков Q _ 4ueueavg (L_freeavg j* all
1 Без регулиро вки 86 178 19 3,62
2 Динамич еская регулиро вка 86 24 18 1,36
• Целью второго эксперимента является выявление наилучшего
способа кодирования, оптимальной величины кванта и величины обучающей выборки. При проведении второго эксперимента модели представлены статистические данные работы крупного веб-ресурса.
При выявлении эффективного способа кодирования экспериментальная проверка показала, что при незначительном изменении количества простаивающих обработчиков кодирование на основе кода Грея позволяет уменьшить очередь заявок на 10%.
Установлено, что при делении значения выхода сети на 15 квантов очередь входящих заявок минимальна при относительно одинаковых количествах простаивающих обработчиков. С увеличением количества квантов очередь запросов уменьшается, что объясняется большей чувствительностью сети к абсолютным значениям и, как следствие, меньшая ошибка прогнозирования в абсолютных значениях при неверном прогнозе сети.
Эксперимент показал, что с увеличением обучающей выборки происходит уменьшение размера очереди входящих заявок. Существенное увеличение обучающей выборки грозит переобучением сети, что ухудшает обобщающие свойства.
На рис. 7 представлен пример поведения системы на одном из этапов моделирования. Обозначения: 0_т -количество поступивших заявок, Ь ехес - количество обработанных заявок, Олиеие -количество заявок в очереди.
Врмм,чае
Рис. 7. Результаты моделирования данных
На диаграмме отчетливо видны скачки нагрузки пяти рабочих дней. При этом подсистема прогнозирования угадывает их возникновение и продолжительность, однако, видно, что абсолютное значение не всегда прогнозируется точно. Это объясняется тем, что сеть способна уловить тенденцию к увеличению или уменьшению
нагрузки, но при прогнозировании абсолютных значений возникают трудности, кроме того сети, в соответствии с разработанным алгоритмом, предъявляются преобразованные данные, в которых точность уменьшена. Сеть выдает прогноз с точностью до размера одного кванта. С учетом деления величины прогноза на 10 квантов подсистемой прогнозирования достигается точность в 95%. Для нейтрализации проблемы неточных значений прогноза предложено держать в постоянной готовности резервный пул.
В залючении представлены основные результаты проведенных научных исследований.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
В ходе выполнения диссертационной работы были получены следующие научные и практические результаты:
1. Предложена формальная постановка задачи разработки средств регулирования вычислительной мощности кольца централизованно-кольцевой системы на основе нейропрогнозирования нагрузки. Определены показатели и параметры увеличений эффективности работы алгоритма на стороне сервера.
2. Проведен анализ существующих методов прогнозирования и научно обоснована необходимость использования многослойного перцептрона, позволяющего в силу своей простоты, эффективности обучения и внутренней параллельности вычислений, получать достоверный прогноз нагрузки при минимальных вычислительных затратах.
3. Разработан алгоритм нейропрогнозирования для оперативного регулирования вычислительной мощности распределенной централизованно-кольцевой системы. Предложен способ преобразования переменных на основе кода Грея с целью обеспечения независимости от конфигураций входных и выходных переменных подсистемы прогнозирования нагрузки.
4. Разработана объектно-ориентированная архитектура и программная реализация механизма оперативного регулирования централизованно-кольцевыми распределенными системами на основе нейросетевого прогнозирования нагрузки.
5. Разработана имитационная модель централизованно-кольцевых вычислительных систем с оперативным регулированием с возможностью сбора и анализа результатов моделирования в хранилище данных на основе СУБД.
6. В ходе проведения экспериментальных исследований подтверждена эффективность применения механизма оперативного регулирования вычислительной мощности на основе нейропрогнозирования нагрузки, выразившаяся в уменьшении на 5% количества простаивающих обработчиков, снижении размера очереди ожидающих заявок, более чем в 7 раз и сокращении времени обработки заявок более чем в 2,6 раза. Применение предложенного в работе метода преобразования данных на основе кодирования Грея сократило очередь запросов на 10% в сравнении с традиционным двоичным кодированием. Коэффициент успешности прогноза составляет 95%.
7. Результаты диссертационной работы внедрены в серверное ПО автоматизированной системы управления распределенной сети "Утконос", информационно-поисковую систему нормативно-правовой документации "НПДок" и учебный процесс кафедры "Информатика и программное обеспечения вычислительных систем" (ИПОВС) Московского государственного института электронной техники.
СПИСОК ОПУБЛИКОВАННЫХ РАБОТ ПО ТЕМЕ ДИССЕРТАЦИИ:
1. Городилов A.B. Механизм динамического распределения ресурсов сервера между обработчиками запросов на основе прогнозирования нагрузки - Известия ВУЗов. Электроника.-М., 2005 №3, С.88-89
2. Гагарина Л.Г., Городилов A.B. Особенности разработки программных компонентов взаимодействия с монитором производительности. - Оборонный комплекс- научно-техническому прогрессу России: Межотр. науч.-техн. журнал/ВИМИ.-М., 2004, №3, С.20-24
3. Гагарина Л.Г., Городилов A.B. К вопросу о реализации механизма множественного наследования при программировании на
Borland Delphi. - Оборонный комплекс- научно-техническому прогрессу России: Межотр. науч.-техн. журнал/ВИМИ.-М., 2003, №3, С.22-24
4. Городилов A.B. К вопросу о реализации механизма множественного наследования при программировании на Borland Delphi// IX Международная науч.-практическая конференция студентов, аспирантов и молодых ученых "Современные техника и технологии". Тез. докл. В 2-х томах, Т.2 -Томск.:ТПУ, 2003.-С.124-125
5. Городилов A.B. Разработка электронного архива нормативно-правовой документации "НПДок'7/ IV Всероссийская научно-техническая конференция "Новые информационные технологии". Тез. докл. В 2-х томах, Т.2 -М.: МГАПИ 2003.-С.93-95
6. Городилов A.B. Разработка компонентов взаимодействия с монитором производительности// XI всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тез. докл. -М.:МИЭТ 2004.-С.273
7. Городилов A.B. К вопросу о методологиях разработки программного обеспечения// X всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тез. докл. -М.:МИЭТ 2003.-С.243
8. Городилов A.B., Крагин А.Н. Организация электронного архива документов// IX всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тез. докл. - М.:МИЭТ 2002.-С.169
9. Городилов A.B. К вопросу об организации взаимодействия между узлами в гетерогенной среде с оперативным распределением нагрузки. - Актуальные проблемы современной науки: СпутникПлюс-М.,2006г,№2.-С.151-152
10. Городилов A.B. Особенности реализации механизма асинхронного взаимодействия в гетерогенных системах с применением алгоритмов оперативного регулирования. - Естественные и технические науки: СпутникПлюс-М., 2006, №1.С.192-196
11. Городилов A.B. Разработка однопроходного метода прогнозирования серверной нагрузки вычислительной системы -Журнал агентства научно-технической информации SciTecLibrary, май 2005
12. Городилов A.B. Алгоритм оперативного управления диспетчеризацией ресурсов распределенной системы. - Техника и технология: СпутникПлюс-М.,2006, №2.-С.37-41
Подписано в печать:
Заказ N9%. Тираж/Ч^экз. Уч.-изд.л^Формат 60x84/16
Отпечатано в типографии МИЭТ
124498, Москва, Зеленоград, проезд 4806, д.5, МИЭТ
¿P0A
»11110
i
\
<
Оглавление автор диссертации — кандидата технических наук Городилов, Александр Викторович
Введение.
1. Исследование проблем оперативного регулирования распределенных систем и постановка задачи диссертационных исследований.
1.1. Основные требования к архитектуре распределенных систем обработки информации.
1.2. Топология распределенных систем.
1.3. Функциональные уровни распределенных систем.
1.4. Обобщенная структура распределенных систем.
1.5. Обзор технологий разработки распределенных систем.
1.6. Проблемы регулирования вычислительной нагрузки в распределенных системах.
1.7. Постановка задачи диссертационного исследования.
Выводы по главе 1.
2. Анализ и разработка методов и алгоритмов нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы.
2.1. Анализ повышения эффективности распределенных централизованно-кольцевых систем обработки информации.
2.2. Разработка архитектуры распределенных систем с оперативным регулированием вычислительной мощности.
2.3. Анализ основных методов прогнозирования вычислительной нагрузки.
2.4. Обоснование выбора типа нейронной сети для реализации механизма оперативного прогнозирования.
2.5. Разработка общего подхода к прогнозированию на основе аппарата нейронных сетей.
2.6. Метод прогнозирования нагрузки на основе многослойного перцептрона.
2.7. Способ подготовки данных нейронной сети.
Выводы по главе 2.
3. Программная реализация механизма оперативного регулирования распределенной централизованно-кольцевой системы.
3.1. Архитектура и состав библиотеки компонентов.
3.2. Классы и программная реализация функциональности нейронной сети.
3.3. Программная реализация механизма обучения многослойного перцептрона.
3.4. Программная реализация модуля прогнозирования вычислительной нагрузки распределенной централизованно-кольцевой системы.
Выводы по главе 3.
4. Экспериментальное исследование эффективности механизма оперативного регулирования в распределенной централизованно-кольцевой системе с применением нейропрогнозирования.
4.1. Разработка имитационной модели для оперативного регулирования распределенных централизованно-кольцевых систем.
4.2. Определение параметров экспериментальных исследований.
4.3. Результаты экспериментальной проверки времени обработки запросов и количества ресурсов вычислителей с применением оперативного регулирования.
Выводы по главе 4.
Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Городилов, Александр Викторович
В последние годы значительно увеличилось количество пользовательских компьютеров. Все чаще компьютеры объединяются в сети с выходом в Интернет не только на предприятиях и в организациях, но и в жилых домах. Все это создает хорошие предпосылки для развития интернет-технологий. Востребованность электронных услуг заставляет вводить в строй глобальные системы, обслуживающие разнообразные запросы пользователей. Яркими примерами таких систем являются интернет-порталы, электронные магазины, системы управления предприятиями. В качестве экспериментов уже появляются распределенные системы оплаты коммунальных услуг через Интернет. Практически все функционирующие в настоящее время системы являются распределенными. При этом используется "тонкий" клиент, реализующий функции презентационного слоя и сервер приложений, построенный по кольцевой схеме. Вся обработка, а значит основная нагрузка, приходится на серверную часть такой системы.
Существует множество систем, которые обрабатывают большое количество тяжелых, с точки зрения нагрузки, заявок. Зачастую для обработки поступающей в систему заявки формируется поток заявок к другим, функционирующим выше по иерархии, системам. Обработка одной подобной заявки может достигать нескольких минут, что достаточно критично в условиях большой загруженности. Кроме того, для обработки таких заявок обычно требуется значительное количество ресурсов вычислительной системы. Результатом перегрузки, зачастую, является немотивированный отказ сервера в обработке.
Учитывая важность, а в некоторых случаях критичность, доступности и работоспособности тех или иных вычислительных ресурсов серверная часть системы размещается на заведомо более мощном оборудовании. Это ведет к значительному удорожанию системы. При этом зачастую, практикуется вариант размещения на одних и тех же вычислительных мощностях нескольких серверов. При этом настройка каждого из серверов на оптимальную работу при минимально возможном использовании ресурсов представляет значительную сложность. Выбор вычислительной мощности системы является серьезной проблемой при настройке сервера на оптимальное функционирование.
Большинство средних и крупных распределенных систем в настоящее время создается по централизованно-кольцевой схеме. При этом серверная часть представляет собой кольцо однотипных вычислительных узлов. Разработчики серверного программного обеспечения достаточно редко используют для оптимизации управления серверного кольца какие-либо средства. Часто количество серверных узлов жестко устанавливается в настройках и является постоянным в независимости от нагрузки. Реже работающая система на основе статистики нагрузки вычисляет некоторую среднюю величину нагрузки и далее использует ее в качестве эталона для определения необходимого количества вычислительных узлов. При этом большую часть времени занятые системой ресурсы простаивают, т.к. ситуация, когда поток пользовательских заявок равномерен и постоянен, бывает чрезвычайно редко. Существующие в настоящее время пакеты разработки распределенного программного обеспечения (Microsoft DCOM, OMG Corba, Microsoft .NET, Java RMI) не предоставляют готовых решений для оперативного регулирования серверным программным обеспечением (ПО) централизованно-кольцевых систем.
Перспективность развития автономных вычислений, концепция компании IBM, выдвинутая, как ключевая инициатива самоуправляющихся вычислительных систем, свидетельствует о необходимости развития новых и совершенствовании существующих механизмов автономного и оперативного управления подсистем крупных распределенных сетей.
Таким образом, разработка алгоритма оперативного регулирования централизованно-кольцевой системы для эффективного решения задач оперативного масштабирования крупных распределенных систем и его программной реализации, может стать общим решением для любой распределенной системы.
Теоретические основы распределенных и параллельных вычислений рассмотрены в работах Барского А.Б. [4], Воеводина В.В.[12], Воеводина Вл.В.[12,13], Крюкова В.А. [53,54], Топоркова В.В. [85], Таненбаума Э. [82,83], Ван Стеена М.[83] и др. В работе Гоффа М.К. [31] проанализированы основные аспекты разработки распределенного программного обеспечения, показаны основные проблемы и перспективы. Практические вопросы проектирования и разработки распределенных систем освещены в работах Брауде Э. [9], Буча Г. [10], Дейтела Х.М. [34], Фаулера М. [87,88], Эммериха В. [94], Грегори Р. Эндрюса [95].
Анализ существующих исследований, посвященных решению задач оперативного регулирования централизованно-кольцевых систем, показал, что ни одна из современных технологий разработки распределенного программного обеспечения не имеет в своем составе аппарата для решения задач оперативного регулирования, что связано с отсутствием практики решения таких задач и недостаточно проработанной теорией для синтеза универсального метода прогнозирования. Поэтому представляются актуальными исследования, направленные на разработку алгоритмов оперативного регулирования распределенных систем обработки информации, для эффективного решения задач оперативного масштабирования крупных распределенных систем на основе математического аппарата нейронных сетей.
Цель работы состоит в разработке алгоритмов и программных компонентов механизма оперативного регулирования распределенных централизованно-кольцевых систем, позволяющих увеличить производительность серверного программного обеспечения и уменьшить количество используемых вычислительных ресурсов в распределенных централизованно-кольцевых системах с целью повышения эффективности решения задач оперативного масштабирования крупных распределенных систем.
Поставленная цель достигается за счет интеграции подсистемы оперативного регулирования распределенной системы на основе нейропрогнозирования нагрузки в схему распределенной централизованно-кольцевой системы.
Основные задачи работы: -исследование способов построения распределенных систем на основе разделения функциональности на слои;
-определение особенностей организации межузлового взаимодействия в распределенных системах и разработка на их основе новых алгоритмов нейропрогнозирования для оперативного регулирования распределенных централизованно-кольцевых систем; -разработка архитектуры и программная реализация средств нейропрогнозирования для оперативного регулирования распределенных централизованно-кольцевых систем; -экспериментальная проверка реализации механизма нейропрогнозирования для оперативного регулирования в распределенной централизованно-кольцевой системе.
Методы исследования. При выполнении исследований использовался математический аппарат теории графов, теория массового обслуживания и теория нейронных сетей, а также методы имитационного моделирования сложных систем.
Научная новизна. В работе получены следующие новые научные результаты:
1. Предложен новый алгоритм нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы, позволяющий уменьшить количество простаивающих обработчиков серверного кольца на 5% и сократить время обработки клиентских заявок в 2,6 раза.
2. Обоснована необходимость применения математического аппарата нейронных сетей при синтезе подсистемы прогнозирования алгоритмов оперативного управления распределенной централизованно-кольцевой системы.
3. Предложен новый способ преобразования входных и выходных переменных нейронной сети для стандартизации формата переменных, основанный на двоичном преобразовании данных по коду Грея, позволяющий сократить очередь входящих заявок на 10% в сравнении с традиционными способами двоичного кодирования.
4. Разработана объектно-ориентированная архитектура классов и программная реализация алгоритма нейропрогнозирования для оперативного регулирования вычислительной мощности централизованно-кольцевой системы, позволяющая стандартизировать его использование в распределенных системах.
5. Разработан пакет программных компонентов для механизма оперативного регулирования вычислительной мощности распределенных систем с использованием различных способов кодирования значений переменных.
6. Разработана имитационная модель централизованно-кольцевых распределенных систем в виде программного комплекса с возможностью сбора и анализа результатов в хранилище данных на основе СУБД.
Практическая ценность работы. Применение предложенных технических решений позволяет уменьшить количество задействованных ресурсов, увеличить производительность во время пиков нагрузки в централизованно-кольцевой системе обработки информации за счет более эффективного распределения ресурсов вычислителей.
Разработанный программный комплекс для оперативного регулирования позволяет создавать самонастраивающиеся и адаптирующиеся к вычислительной нагрузке распределенные серверные системы для корпоративных информационных систем, систем управления предприятием и производством, WWW-серверов.
Разработанные программные компоненты представляют собой законченную программную реализацию в виде библиотеки классов, применимую практически в любой разрабатываемой или уже внедренной крупной централизованно-кольцевой системе с минимальными доработками по взаимодействию.
Проведенные эксперименты выявили уменьшение очереди входящих заявок более чем в 7 раз, сокращение задействованных ресурсов на 5%, уменьшение времени обработки заявок более чем в 2,6 раза при применении алгоритмов нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы.
Полученные результаты, являются достоверными в силу того, что основные теоретические выводы и положения диссертации научно обоснованны и подтверждены результатами экспериментальных исследований автора, актами внедрения результатов диссертационных исследований.
Личный вклад автора. Все основные результаты получены автором лично. Главными из них являются: разработка алгоритма нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы; разработка объектно-ориентированной архитектуры и программной реализации многослойного перцептрона с обучением по методу обратного распространения ошибки и его интеграция в механизм оперативного регулирования централизованно-кольцевых распределенных систем; реализация разработанного алгоритма в виде библиотеки повторно используемых классов и компонентов; создание имитационной модели централизованно-кольцевых систем обработки информации; разработка методики экспериментальной проверки эффективности внедрения алгоритмов нейропрогнозирования для оперативного регулирования в распределенные централизованно-кольцевые системы различных типов; разработка серверной части информационно-поисковой системы нормативно-правовой документации "НПДок" и серверного программного обеспечения распределенной системы управления сетью "Утконос" компании "Новый Импульс" с применением механизма оперативного регулирования.
Реализация и внедрение результатов работы. Результаты работы использованы кафедрой Информатики и программного обеспечения вычислительных систем МИЭТ при создании информационно-поисковой системы нормативно-правовой документации "НПДок" [29,30]. Применение разработанных программных компонентов при реализации серверной части информационно-поисковой системы позволило существенно сократить время обработки пользовательских запросов и количество используемой машинной памяти. Кроме того, разработанные программные компоненты использованы при реализации серверного программного обеспечения автоматизированной системы управления распределенной сети "Утконос" компании "Новый Импульс-Центр", что позволило сократить использование системной памяти серверов. Результаты работы используются в учебном процессе Московского государственного института электронной техники при чтении лекций кафедрой "Информатики и программного обеспечения вычислительных систем" (ИПОВС) по курсам "Автоматизированные информационные системы" и " Операционные системы, среды и оболочки ". Акты внедрения результатов диссертационной работы приведены в Приложении 1.
На защиту выносятся:
• анализ состояния проблемы построения распределенных систем и разделения их функциональности на слои;
• адаптированный к применению в составе централизованно-кольцевых систем алгоритм нейропрогнозирования для оперативного регулирования вычислительной мощности распределенной централизованно-кольцевой системы;
• объектно-ориентированная архитектура и программная реализация алгоритма нейропрогнозирования и механизма оперативного регулирования централизованно-кольцевыми распределенными системами на основе нейросетевого прогнозирования нагрузки;
• имитационная модель централизованно-кольцевых вычислительных систем в виде программного комплекса с возможностью сбора и анализа результатов в хранилище данных на основе СУБД;
• результаты экспериментальной проверки снижения времени обработки клиентских заявок и экономии вычислительных ресурсов при применении алгоритма нейропрогнозирования для оперативного регулирования в централизованно-кольцевой распределенной системе.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на следующих научных конференциях:
IX Международная научно-практическая конференция студентов, аспирантов и молодых ученых "Современные техника и технология". Томск, ТПУ, 2003 г.
IV Всероссийская научно-техническая конференция "Новые информационные технологии". Москва, МГАПИ 2003 г.
XI всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2004 г.
X всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2003 г.
IX всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Москва, МИЭТ, 2002 г.
Публикации. По теме диссертации опубликовано 12 печатных работ, в том числе 7 научных статей и 5 тезисов доклада. Без соавторов опубликовано 9 работ.
Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы из 156 наименований и приложения. Диссертация включает 164 страниц основного текста, 73 страницы с рисунками и таблицами, 25 страниц приложений.
Заключение диссертация на тему "Алгоритмы нейропрогнозирования для оперативного регулирования распределенной централизованно-кольцевой системы обработки информации"
Выводы по главе 4
1. Разработана интегрированная с хранилищем данных на основе СУБД имитационная модель централизованно-кольцевой распределенной системы обработки информации.
2. Проведенные экспериментальные исследования времени обработки запросов и количества вычислителей с применением оперативного регулирования на основе нейропрогнозирования показали, что при уменьшении количества простаивающих обработчиков на 5% очередь сокращается более чем в 7 раз, в результате время обработки запроса уменьшается в 2,6 раза.
3. Установлено, что наиболее эффективным методом кодирования значений прогнозируемой величины является код Грея, применение которого позволило сократить очередь заявок на 10% в сравнении с применением традиционного двоичного кодирования.
4. Экспериментально установлено, что при размере кванта в 15 единиц нейропрогнозирование показывает наилучшие результаты, оптимальная величина обучающей выборки составляет 15% от исходной выборки, коэффициент успешности прогноза составляет 95%.
Заключение
В ходе выполнения диссертационных исследований получены следующие основные результаты:
• Предложена формальная постановка задачи разработки средств регулирования вычислительной мощности кольца централизованно-кольцевой системы на основе нейропрогнозирования нагрузки. Определены показатели и параметры увеличений эффективности работы алгоритма на стороне сервера.
• Проведен анализ существующих методов прогнозирования и научно обоснована необходимость использования многослойного перцептрона, позволяющего в силу своей простоты, эффективности обучения и внутренней параллельности вычислений, получать достоверный прогноз нагрузки при минимальных вычислительных затратах.
• Разработан алгоритм нейропрогнозирования для оперативного регулирования вычислительной мощности распределенной централизованно-кольцевой системы. Предложен способ преобразования переменных на основе кода Грея с целью обеспечения независимости от конфигураций входных и выходных переменных подсистемы прогнозирования нагрузки.
• Разработана объектно-ориентированная архитектура и программная реализация механизма оперативного регулирования централизованно-кольцевыми распределенными системами на основе нейросетевого прогнозирования нагрузки.
• Разработана имитационная модель централизованно-кольцевых вычислительных систем с оперативным регулированием с возможностью сбора и анализа результатов моделирования в хранилище данных на основе СУБД.
В ходе проведения экспериментальных исследований подтверждена эффективность применения механизма оперативного регулирования вычислительной мощности на основе нейропрогнозирования нагрузки, выразившаяся в уменьшении на 5% количества простаивающих обработчиков, снижении размера очереди ожидающих заявок, более чем в 7 раз и сокращении времени обработки заявок более чем в 2,6 раза. Применение предложенного в работе метода преобразования данных на основе кодирования Грея сократило очередь запросов на 10% в сравнении с традиционным двоичным кодированием. Коэффициент успешности прогноза составляет 95%.
Результаты диссертационной работы внедрены в серверное ПО автоматизированной системы управления распределенной сети "Утконос", информационно-поисковую систему нормативно-правовой документации "НПДок" и учебный процесс кафедры Информатики и Программного Обеспечения Вычислительных Систем (ИПОВС) Московского государственного института электронной техники.
Библиография Городилов, Александр Викторович, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)
1. Айвазян С.А., Бежаева З.И., Староверов О.В. Классификация многомерных наблюдений. - М.: Статистика, 1974. - 240 с.
2. Андерсон Т. Статистический анализ временных рядов. М.: Мир, 1976.-755 с.
3. Арсено Ж. и др. Переносимость программного обеспечения.GNU. // Открытые системы, 1993 г., №2, стр. 29-35
4. Барский А.Б. Параллельные процессы в вычислительных системах. -М.:Радио и связь, 1990. 256 с.
5. Басканова Т.Ф., Панкин Ю.П. Нейросетевые алгоритмы самостоятельной адаптации. // Всероссийская научно-техническая конференция Нейроинформатика-99. Научная сессия МИФИ-99. Сборник научных трудов, В 3 ч. - М.: МИФИ, 1999. - ч. 2. - с. 17-24
6. Бокс Дж, Джеккинс Г. Анализ временных рядов. Прогноз и управление. М.: Мир, 1974. - 406 с.
7. Боровков А.А. Математическая статистика. М.: Наука, 1984. - 219 с.
8. Браверман Э.М., Мучник И.Б. Структурные методы обработки эмпирических данных. -М.: Наука. Гл. Ред. Физ.-мат. лит., 1983. -467 с.
9. Брауде Э. Технология разработки программного обеспечения. -СПб.:Питер, 2004, 655 с.
10. Ю.Буч Г. Объектно-ориентированный анализ и проектирование: с примерами приложений на С++. СПб.:Издательство Бином, 1998. -560 с.
11. Васкевич Д. Стратегии клиент-сервер. Киев:Диалектика, 1996, - 384 с.
12. Воеводин В.В. Воеводин Вл.В. Параллельные вычисления. -СПб.:БХВ-Петербург, 2002, 600 с.
13. З.Воеводин В.В. Математические модели и методы в параллельных процессах. М.:Наука, 1986, - 296 с.
14. Гагарина Л.Г., Городилов А.В. К вопросу о реализации механизма множественного наследования при программировании на Borland Delphi. //Оборонный комплекс- научно-техническому прогрессу России: Межотр. науч.-техн. журнал/ВИМИ.-М., 2003, №3, с.22-24
15. Гагарина Л.Г., Городилов А.В. Особенности разработки программных компонентов взаимодействия с монитором производительности. // Оборонный комплекс- научно-техническому прогрессу России: Межотр. науч.-техн. журнал/ВИМИ.-М., 2004, №3, с.20-24
16. Галушкин А.И. Нейрокомпьютеры. Книга 3. Учебное пособие для ВУЗов. М.:ИПРЖР, 2000г. - 528 с.
17. Глаз А.Б. Применение принципов самоорганизации для построения решающих правил на недостаточных обучающих выборках. // Автоматика. :Киев, 1984. № 3. - С. 3 - 12.
18. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.:Наука.Гл.ред.физ.-мат.лит, 1987., 336 с.
19. Головко В.А. Нейронные сети: обучение, организация и применение. -М.: Радиотехника, 2001.- 256 с.
20. Горбань А.Н., Россиев Д.А., Коченов Д.А. Применение самообучающихся нейросетевых программ. Красноярск: СПИ, 1994.- 169 с.
21. Городилов А.В. Алгоритм оперативного управления диспетчеризацией ресурсов распределенной системы. //Техника и технология: СпутникПлюс-М.,2006, №2.-С.37-41
22. Городилов А.В. К вопросу о методологиях разработки программного обеспечения// X всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тез. докл. М.:МИЭТ 2003.-с.243
23. Городилов А.В. К вопросу об организации взаимодействия между узлами в гетерогенной среде с оперативным распределением нагрузки. // Актуальные проблемы современной науки: СпутникПлюс-М., 2006г, №2.-0.151-152
24. Городилов А.В. Механизм динамического распределения ресурсов сервера между обработчиками запросов на основе прогнозирования нагрузки // Известия ВУЗов. Электроника.-М., 2005 №3, с.88-89
25. Городилов А.В. Особенности реализации механизма асинхронного взаимодействия в гетерогенных системах с применением алгоритмов оперативного регулирования. // Естественные и технические науки: СпутникПлюс-М., 2006, №1.С. 192-196
26. Городилов А.В. Разработка компонентов взаимодействия с монитором производительности// XI всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тез. докл. -М.:МИЭТ 2004.-c.273
27. Городилов А.В. Разработка однопроходного метода прогнозирования серверной нагрузки вычислительной системы // Журнал агентства научно-технической информации SciTecLibrary, май 2005
28. Городилов А.В. Разработка электронного архива нормативно-правовой документации "НПДок'7/ IV Всероссийская научно-техническая конференция "Новые информационные технологии". Тез. докл. В 2-х томах, Т.2 -М.: МГАПИ 2003.-С.93-95
29. Городилов А.В., Крагин А.Н. Организация электронного архива документов// IX всероссийская межвузовская научно-техническаяконференция студентов и аспирантов. Тез. докл. М.:МИЭТ 2002.-с.169
30. Гофф М.К. "Сетевые распределенные вычисления. Достижения и проблемы", М.: Кудиц-образ, 2005.-320с.
31. Громов А. Каменова М. Особенности реализации больших проектов, // Computerworld. 1996. №22 - С. 33-36.
32. Дарвин Ян Ф. Java. Сборник рецептов для профессионалов. СПб.: Питер, 2002. - 768с.
33. Дейтел X. М., Дейтел П. Дж., Сантри С. И., Технология программирования на Java 2. Книга 2. Распределенные приложения. М.: Бином-Пресс, 2003, 464 с.
34. Демиденко Е.З. Линейная и нелинейная регрессия. М.: Финансы и статистика, 1981. - 302 с.
35. Долгов К.А. Исследование и разработка методов адаптивного управления ресурсами сети коммутации пакетов. Автореф. дис. . канд. техн. наук. М., 1997.-29с.
36. Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976.-512 с.
37. Дьяконов В.П. «Закон Мура» и компьютерная математика. // Научно практический журнал ExponentaPro, 2003 г, №1, с. 82-86
38. Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. -М.: МИФИ, 1998. 224 с.
39. Емельянов А.А., Е.А. Власова, Р.В. Дума. Имитационное моделирование экономических процессов. М.: Финансы и статистика, 2002 - 364 с.41.3аенцев И.В. Нейронные сети: основные модели. Воронеж: ВГУ, 1999.- 157 с.
40. Иванова Е. Вершинин М. Java 2 Enterprise Edition. СПб.:БХВ-Петербург, 2003 - 1088 с.
41. Ивахненко А.Г. Перцептроны. Киев: Наукова Думка, 1974. - 179 с.
42. Ивченко Г.И., Каштанов Г.И., Коваленко И.Н. Теория массового обслуживания. М.: Высшая школа, 1982., 256 с.
43. Информационные технологии. Открытая распределенная обработка данных. Эталонная модель. Основы : Интернет-сайт.-http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail7CSNUM BER=20697&ICS1=35&ICS2=80&ICS3=
44. Искусственный интеллект. Справочник, В 3-х кн. Под ред. Д.А.Поспелова. - М.: Радио и связь, 1990. - Кн.2: Модели и методы. --304 с.
45. Казаков С.И. Основы сетевых технологий. М.: "Микроинформ", 1995
46. Касперски К. Техника оптимизации программ. Эффективное использование памяти. СПб.:БХВ-Петербург, 2003. - 464 с.
47. Кениг Д., Штойян Д. Методы теории массового обслуживания: Пер. с нем. Под. ред. Г.П.Климова. М.:Радио и связь, 1981.
48. Керимов А.К. Методы анализа и прогнозирования ценовых данных: Технический анализ: Учебное пособие. М:РУДН, 2003 - 107 с.
49. Ковалев И.В. Моделирование и оптимизация параллельных процессов в информационно управляющих системах. Учебное пособие. Красноярск: ИПЦ КГТУ, 2003, 111 с.
50. Колмогоров А.Н. Представление непрерывных функций многих переменных суперпозицией функций одной переменной и сложением. Докл. АН СССР, № 5, вып. 114 С.953-956.
51. Коновалов Н.А., Крюков В.А. Параллельные программы для вычислительных кластеров и сетей.//"Открытые системы", 2002, №3(Интернет адрес: http://wwvv.osp.ru/os/2002/03/012.htin)
52. Крюков В.А. Удовиченко Р.В. Отладка DVM-программ.//Программирование, 2001, №3, стр. 19-29
53. Лалетин П.А., Панкина Э.Г., Ланкин Ю.П. Использование сетей с самостоятельной адаптацией для распознавания слов человеческой речи // Сборник научных трудов II Всероссийской научно-технической конференции. Нейроинформатика 2000. М., 2000. -С.88-95.
54. Ланкин Ю.П. Некоторые особенности самоадаптирующихся нейросетей на примере управления механическим объектом // Нейроинформатика-99: Материалы Всероссийской научно-технической конференции. М., 1999. - С. 278-284.
55. Локтев С. Проблемы внедрения технологии "клиент-сервер". //CompUnity, №5-6, 1996
56. Макстеник М. Сравнение сетевых архитектур, //Сети, №2, 1997, Интернет-сайт.- http://vvww.osp.ru/nets/1997/02/14.htm
57. Мамойленко С.Н. Разработка и исследование средств организации функционирования распределенных вычислительных систем. Автореф. дис. . канд. техн. наук. Новосибирск, 2004 29 с.
58. Маслова Н.Р. Разработка методов организации распределенной информационной системы территориального управления на основе многослойной структурной модели. Дис. канд. техн. наук., Москва 2002-131 с.
59. Мешков А., Тихомиров 10. Visual С++ и MFC. Программирование для Windows NT и Windows 95. Книга 2. СПб.: BHV-Санкт-Петербург, 1997 - 464 с.
60. Минский М., Пайперт С. Перцептроны. М.: Мир, 1971. - 328 с.
61. Моделирование изменений экологических объектов с помощью нейронных сетей. // Сибирский экологический журнал, 1999. № 4. -С. 449-452.
62. Монахова Е. "Нейрохирурги" с Ордынки // PC Week/RE. 1995. - № 9.-С. 35-43.
63. Мостеллер Ф., Тьюки Дж. Анализ данных и регрессия. -М.: Финансы и статистика, 1982. 239 с.
64. Назаров А.В., Лоскутов А.И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. СПб.:Наука и Техника, 2003.-384 с.
65. Нейроинформатика и нейрокомпьютеры // Тез. докл. рабочего семинара / Гилев С.Е., Горбань А.Н., Галушкин А.И. и др. -Красноярск, 1993. с. 83-85.68.0рфали Роберт, Дэн Харки, Java и CORBA в приложениях клиент-сервер. М.:Издательство Лори, 2000 - 712 с.
66. Павский К.В. Разработка средств анализа функционирования распределенных вычислительных систем. Автореф. дис. канд. техн. наук. Новосибирск 2004 156 с.
67. Пол Киммел Создание приложений в Delphi. М.:Вильямс, - 2003. -631 с.
68. Прицкер А. Введение в имитационное моделирование и язык SLAM-II. -М.:Мир, 1987.-544 с.
69. Прохоров В.В. Технология компонентных моделей представления знаний и ее приложения к построению гетерогенных компьютерных сред: Дис. докт. физ.-мат. наук, Челябинск, 2003, 297 с.
70. Растригин Л.А. Экстраполяционные методы проектирования и управления. М.: Машиностроение, 1986. - 120 с.
71. Родионов П.Е. Решение проблем поиска информации путем использования самообучающихся адаптирующихся систем на базе нейронных сетей // Интеллектуальные технологии и системы. М., 2001. -Вып.3. -С.60-61.
72. Саати Т.Л. Элементы теории массового обслуживания и ее приложения. -М.: Изд-во Советское радио, 1971. 520 с.
73. Саульев В.К. Математические модели теории массового обслуживания. -М.:Статистика, 1979, 96 с.
74. Скурихин А.Н. Нейронные сети: определения, концепции, применение. М.: ЦНИИ управления экономики и информатики, 1991. -274 с.
75. Смирнов А.Н. Исследование методов организации и выполнения параллельных вычислений в сети: Дис. . канд. техн. наук, СПб, 2003,. 142 с.
76. Смирнов Д. В. Разработка моделей иерархических описаний для эффективного решения сложных задач в многомашинных многопроцессорных комплексах. Дис. . канд. техн. наук, Екатеринбург, 2002 130с.
77. Советов Б.Я., Яковлев С.А. Моделирование систем. М.: Высшая школа, 1998.-320 с.
78. Суровцев И.С., Клюкин В.И., Пивоварова Р.П. Нейронные сети. -Воронеж: ВГУ, 1994.-215 с.
79. Таненбаум Э. Архитектура компьютера. 4-е издание. СПб. Литер, -2003.-704 с.
80. Таненбаум Э., Ван Стеен М. Распределенные системы: Принципы и парадигмы, С-Петербург, Питер, 2003, 877 с.
81. Терехов В.А., Ефимов Д.В., Тюкин И.Ю. Нейросетевые системы управления. Книга 8: Учебное пособие для вузов. М.:ИПРЖР, -2002.-480 с.
82. Топорков В.В. Модели распределенных вычислений: Монография. -М:Физматлит, 2004г 320 с.
83. Уоссермен Ф. Нейрокомпьютерная техника. М.: Мир, 1992. - 226 с.
84. Фаулер М. Архитектура корпоративных программных приложений. -М.: Вильяме, 2004, -544 с.
85. Фаулер М. Рефакторинг: Улучшение существующего кода. Пер. с англ. - СПб: Символ-Плюс, 2004. - 432 с.
86. Харман Г. Современный факторный анализ. М.: Статистика, 1972. -486 с.
87. Цимбал А. Технология CORBA для профессионалов. СПб.: Издательство Питер. 2001 - 624 с.
88. Черепанов А.В. Модели и метод интеллектуальной поддержкипостроения многокомпонентной технической системы: Дис. . канд. техн. наук, СПб., 2003
89. Шрайбер Т. Дж. Моделирование на GPSS. М.Машиностроение, 1979.-592 с.
90. Эккель Б. Философия Java, 3-е издание. М.: Издательство Питер, 2003-472 с.
91. Эммерих В. Конструирование распределенных объектов. Методы и средства программирования интероперабельных объектов в архитектурах OMG\CORBA MicrosofiACOM Java\RMI. Перевод с англ. М.:Мир, 2002 - 510 с.
92. Эндрюс Р. Грегори Основы многопоточного, параллельного и распределенного программирования. М.:Вильямс, 2003, 512 с.
93. Alu Е., Mohamed I. "A Neural Network Approach for Dynamic Load Balancing In Homogenius Distributed Systems"// 13th Annual Hawwaii International Conf. System Sciences, 1997
94. Barker R. CASE Method. Entity-Relationship Modeling. Oracle Corporation UK Limited: Addison-Wesley Publishing Co., 1990. 231 p.
95. Bernard Widrow, Michael A. Lehr, 30 Years of Adaptive NeuralNetworks: Perceptron, Madaline, and Backpropagation. Artificial Neural Networks: Concepts and Theory // IEEE Computer Society Press, 1992, pp.327-354.
96. Bishop С. M. Neural Networks and Pattern Recognition. Oxford: Press, 1995.- 168 p.
97. Boillat J.E., "Load Balancing and Poisson Wquation in a Gruph" //Concurency: Practice and Expirience 2(4), 1990, pp.289-313
98. Booch G. The Visual Modeling of Software Architecture for the Enterprise. // Rose Architect. 1998.-Vol.1.-No l.-P. 18-25
99. Burr D.J. Experiments with a Connecnionlist Text Reader. // Proceedings of the IEEE First International Conferense on Neural Networks. San Diego, 1987 Vol. 4. - P. 717-724.
100. Carpenter G., Grossberg S. A Massively Parallel Architecture for a Self-organizing Neural Pattern Recognition Machine. // Computing Vision. Graphics and Image Processing. 1987. - Vol. 37. - P. 54 - 115.
101. Cottrell G.W., Munro P., Zipser D. Image Compression by Backpropagation: An example of extensional programming. San Diego: University of California, 1987.-87 p.
102. Cybenko G., "Load Balancing for Distributed Memory Multiprocessors" //Parallel and Distributed Computing (7), 1989, pp.279301
103. Fukushima K. A Hierarchical Neural Network Model for Associative Memory. // Biological Cybernetics. 1984. - Vol. 50. - P. 105 - 113.
104. Ghosh В., Muthukrishnan S., Schultz M.H., "First and Second Orderth
105. Diffusive, Methods for Rapid, Coarse, Distributed Load Balancing" //8 ACM SPAA, 1996
106. Grossberg S. Adaptive pattern classification and universal recording: Parallel development and coding of neural feature detectors. // Biological Cibernatics 1976. - №23 - P. 187-202.
107. Haines K., Hecht-Nielsen R. A BAM with Increased Information Storage Capacity.// Proceedings of the IEEE International Conference on Neural Networks. San Diego: 1988. - Vol. 1. - P. 181 - 190.
108. Hecht-Nielsen R. Counterpropagation Networks. // Proceedings of the IEEE First International Conference on Newral Networks San Diego:1987.-Vol. 2.-P. 19-32.
109. Hertz J., Krogh A., Palmer R.G. Introduction to the Theory of Neural Computation. London: Addison-Wesley, 1991. - 214 p.
110. Horfield J.J., Tank D.W. Computing with Neural Circuits: A model Science. 1986. - №233. - P.625 - 633.
111. Horfield J. J., Tank D.W. Neural Computation of Decisions in Optimization Problems. // Biological Cybernetics. 1985. - №52. - P. 141 - 152.
112. Kaufman, Perry J. Technical Analysis in Commodities. New York: John Wiley & Sons, 1980
113. Kendalf S.C., Waldo J., Wollrath A., Wyann G., "A Note on Distributed Computing"//November 1994, Интернет-сайт: http://research.sun.eom/techrep/l 994/abstract 29.html
114. Kohonen T. Self-organised Formation of Topologically Correct Feature Maps. //Biological cybernetics. 1982. - №43. - P. 127-138.
115. Kohonen T. The "neural" Phonetic Typewriter. // IEEE. Computer.1988. -№ 3. -P.154.
116. Kohonen T. Self-organization and Associative Memory. New-York: Springer-Verlag, 1989.-P.266.
117. Kosko B. Bi-directional Associative Memories. // IEEE Transactions on Systems. Man and Cybernetics. 1987. - Vol. 18, № 1. - P. 49 - 60.
118. Kosko B. Competitive Adaptive Bi-directional Associative Memories. // Proceedings of the IEEE First International Conference on Neural Networks San Diego, - 1987. - № 1 - Vol. 2. - P. 759 - 766.
119. Liben-Nowell D., Balakrishnan H., Karger D., "Analysis of the Evolution of Peer-to-Peer Systems" //PODC, 2002, pp.233-242
120. Lin F.C.H., Keller R. M., "The gradient model load ballancing method", //IEEE Trans. Software Eng. Vol.13, Num.1, pp. 32-38
121. Lippmann R. An Introduction to Computing with Neural Nets // IEEE Acoustics, Speech, and Signal ProcessingMagazine. 1987. - P.4-22.
122. Litzkow M., Livny M., Mutka M. "Condor A hunter of idlethworkstation" // 8 International Conference on Distributed Computing Sustems.
123. Loh P.K.K., Hsu W.J., Wentong C., Striskanthan N., "How network topology affects dynamic load balancing", //IEEE Parallel and Distributed Technology, Vol.4, Num.3, pp.25-35
124. Maxwell T, Giles C, Lee Y, Chen H. Nonlinear Dynamics of Artificial Neural Systems Proceedings of the conference on neural networks for computing. Washington (D.C.), 1986. - 634 p.
125. McEliece R.J., Rosner E.G. Rodemich E.R. The Capacity of Hop field Associative Memory // IEEE Transactions on Information Theory IT-33. -New York: Venka-tesh S. S., 1987. P. 461 - 482.
126. Meyer auf der Heide F., Oesterdiekhoff В., Wanka R., "Strongly Adaptive Token Distribution." // Algorithmica 15, 1996, pp. 413-427
127. Milojicic D.S., "Load distribution: Implementation for the Mach microcernel", PhD dissertation, University of Kaiserslautern, Kaiserslautern, Germany 1993
128. Minar N. A Survey of the NTP Network.// MIT Media Lab Интернет-сайт -http://alumni.media.mit.edu/-nelson/research/ntp-sui'vey99/html, 1999
129. Minsky M. Logical vs. Analogical or Symbolic vs. Connectionist or Neat vs. Scruffy. -San Diego: MIT Press, 1990. P.225.
130. Nelson Minar, Marc Hedlund,. Peer-to-Peer: Harnessing the Power of Disruptive Technologies. O'Reilly, 2001 - 448 p.
131. Ф 133. Passive DNS Replication. Интернет-сайтhttp://www.enyo.de/fw/software/dnslogger
132. Paul J. Werbos. Backpropagation Through Time: What It Does and Ф How to Do It: Artificial Neural Networks: Concepts and Theory IEEE
133. Computer Society Press, 1992. P.309-319.
134. Pope A. The CORBA Reference Guide. Addison-Wesley, 1998, 327 P
135. Rao A., Lakshminarayanan K., Surana S., Karp R., Stoica I., "Load Balancing in Structured P2P Systems." //IPTPS, 2003ф 137. Robert B. Cooper. Introduction to Queueing Theory. // Elsevier North1. Holland. 1981. p. 2-12
136. Ryou J.C., Wong J.S.K., "A Task Migration Algorithm for Load
137. Balancing in a Distributed System" // 22nd Annual Hawaii Int' 1 Conf. System Sciences", Vol.2, Software Track, 1989
138. Sejnowski T.J., Rosenberg C.R. Parallel Networks that Learn to Pronounce English text. Complex Systems. // New York: Academic Press, 1987.- Vol. l.-P. 145- 168.
139. Shin K. G., Chen M-S, "On the Number of Acceptable Task• Assignment in Distributed Computing Systems" //IEEE Computers,
140. Vol39, No.l, 1990, pp.99-110 ф 141. Sklarew Arthur. Techniques of Professional Commodity Chart Analyst.-New-York: Commodity Research Bureau, 1980 761 p.
141. Stergiou C., Siganos D. Neural Networks: Интернет-сайт.-Ьир:/Ду\у\у-dse.doc.ic.ac.uk/~nd/surprise 96/iournal/vol4/csl 1 /report.html
142. Stone H.S., Bokhari S.H., "Control of distributed processes" //IEEE Computer, Vol.11, 1978, pp.97-106
143. Syme M., Goldie P. "Optimizing Network Performance with Content
144. Switching: Server, Firewall, and Cache Load Balancing" Prentice Hall PTR, 2003, p.288
145. Tanenbaum A., Renesse R., Staven H., Sharp G. "Experiences with the Amoeba distributed system", // Communications ACM, Vol.33, pp.336346
146. Tantawi A., Towsley D., "Optimal Static Load Balancing in Distributed Computer Systems" //Journal ACM, Vol.32, April 1985, pp.445-465
147. Thiel G. "Locus Operating system, a transparent system", //Computer Communications, Vol.14, Num.6, pp. 336-346
148. Truelove K., Chasin A., Morpheus Out of the Underworld //The O'Reilly Peer-to-Peer and Web Services Conference, Washington, D.C., November 5-8, 2001
149. Wasserman P.D. Experiments in Translating Chinese Characters Using Backpropagation // Proceedings of the Thirty-Third IEEE Computer Society International Conference. Washington (D.C.): Computer Society Press of the IEEE, 1988. - P. 349-357.
150. Wellebeek-LeMair M.H., Reeves A.P., "Strategies for dynamic load balancing on highly parallel computers", IEEE Trans. Parallel Distributed Systems, Vol.4, Num.9, pp. 979-993
151. White C.J. An Advanced Guide to Client-Server Applications. // LAN Technology, №6, 1992 p. 19-27
152. Widrow B, Lehr M. 30 Years of Adaptive NeuralNetworks: Perceptron, Madaline and Backpropagation // Artificial Neural Networks: Concepts and Theory. Washington (D.C.): IEEE Computer Society Press, 1992. -P. 327-354.
153. WINSIM. Интернет-сайт.-http://www.daimi.au.dk/PetriNets/tools/db/winsim.html
154. Zaki M.J., Li W., Parthasarathy S. "Customized Dynamic Load Balancing for a Network of Workstations" //Computer Science Dept., The University of Rochester, Technikal Report 602, December 1995
155. Zayas E.R. "Attacking the process migration bottleneck", Proceedings of the 11th ACM Symposium on Operating Systems Principles, 1987, pp. 13-24
156. Zurada J.M. Introduction to Artificial Neural Systems. San Diego: PWS Publishing Company, 1992. - 785 p.
-
Похожие работы
- Управление тепловым режимом комбинированного процесса сварки кольцевых соединений технологических каналов
- Математические модели, методы и проблемно-ориентированные системы дробно-линейной оптимизации
- Автоматизированная система управления процессом гидрорастяжения бандажных колец большого диаметра на основе нечетких алгоритмов
- Маловыступающая кольцевая антенна для подвижной связи в УКВ - диапазоне
- Совершенствование технологии изготовления замыкающих кольцевых соединений нефтеперерабатывающей аппаратуры
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность