Оценка влияния системных связей сетевых кластеров на их характеристики на базе разработанных математических моделей тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат наук Со Хтет Зо
- Специальность ВАК РФ05.13.01
- Количество страниц 171
Оглавление диссертации кандидат наук Со Хтет Зо
ОГЛАВЛЕНИЕ
ОГЛАВЛЕНИЕ
Введение
Глава 1. Анализ особенности объекта исследования
1. 1 Кластеры
1.2 Классификация кластеров
1.2.1 Отказоустойчивые кластеры
1.2.2 Кластеры с балансировкой нагрузки
1.2.3 Кластеры с распределенной обработкой
1.3 Эффективные кластерные решения
1.4 Сетевой Кластер и его особенности
1.5 Сетевые характеристики
1.6 Грид-вычисление
1.7 Облачные вычисления
1.8 Сравнение основных характеристик кластерных, грид и облачных вычислений
Выводы
Глава 2. Математические методы оценки качества функционирования информационно-вычислительных систем
2.1 Сеть массового обслуживания
2.2 Метод Монте-Карло
2.3 Сети Петри
2.4 Нейронная сеть
2.5 Сравнительная оценка математических методов моделирования
Выводы
Глава 3. Принципы разработки математических моделей информационно-вычислительных систем
3.1 Обоснование выбора математического метода
3.2 Описание методики разработки математических моделей
3.3 Методика разработки вероятностно-временных характеристик математических моделей функционирования сетевых кластеров
3.3.1 Основные вероятностно-временные характеристики для каждого узла
3.3.2 Вычисление интегральных вероятностно-временных характеристик
3.4 Описание программы реализации методики разработки математических моделей оценки
ВВХ информационно-вычислительных систем
Выводы
Глава 4. Разработка математических моделей сетевых кластеров типа «прямоугольная решетка» и анализ их вероятностно-временных характеристик
4.1 Модель сетевого кластера «прямоугольная решетка»
4.2 Модель сетевого кластера типа «замкнутая прямоугольная решетка (тор)»
4.3 Результаты моделирования
4.4 Получение стационарных ВВХ
4.4.1 Результаты моделирования для кластера «прямоугольная решетка»
4.4.2 Результаты моделирования для кластера «замкнутая прямоугольная решетка» (ТОР)
4.4.3 Анализ результатов моделирования стационарных ВВХ
4.4.4 Результаты выравнивания нагрузки для модели прямоугольной решетки
4.4.5 Результаты выравнивания нагрузки для модели замкнутой прямоугольной решетки (тор)
4.4.6 Анализ результатов моделирования выравнивания нагрузки
4.4.7 Результаты зависимости коэффициентов нагрузки от интенсивности входных потоков
4.4.8 Результаты для модели замкнутой прямоугольной решетки
4.4.9 Сравнительный анализ полученных результатов
4.5 Получение интегральных ВВХ
4.5.1 Расчеты для модели прямоугольной решетки
4.5.2 Расчеты для модели замкнутой прямоугольной решетки
4.5.3 Обоснование полученных результатов
4.6 Определение зависимости среднего времени доставки для различных маршрутов связи между двумя абонентами
4.6.1 Результаты моделирования для кластера с прямоугольной решеткой
4.6.2 Результаты моделирования для кластера типа замкнутой прямоугольной решетки (ТОР)
4.6.3 Обоснование полученных результатов
4.7 Сравнение полученных характеристик моделей
Выводы
Глава 5. Объект моделирования - сетевой кластер «пирамидальная решетка»
5.1 Этапы разработки математических моделей сетевого кластера
5.2 Анализ достижимости сетевого кластера с топологией «пирамидальная решетка»
5.3 Вывод уравнения баланса интенсивностей входящих потоков требований и коэффициентов загрузки для моноканалов
5.4 Определение интенсивностей входящих потоков в модули сопряжения
5.5 Вычисление вероятностно-временных характеристик для кластера с топологией «Пирамидальная решетка»
5.6 Сравнительные оценки результатов моделирования для рассматриваемых трех вариантов топологий кластеров
Выводы
Заключение
Обозначения и сокращения
Список литературы
Приложение А. Программная среда моделирования ИВС
Приложение Б. Результаты моделирования
Приложение В. Акт о внедрении результатов диссертационной работы
Рекомендованный список диссертаций по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК
Разработка и исследование методов повышения эффективности вычислений в распределенных высокопроизводительных вычислительных системах2024 год, кандидат наук Мин Тху Кхаинг
Методы и алгоритмы распределения нагрузки между вычислительными ресурсами информационных систем2024 год, кандидат наук Викулов Егор Олегович
Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде2013 год, кандидат технических наук Е Мьинт Найнг
Модели и алгоритмы балансировки нагрузки в кластерной системе с поддержкой механизма репликации2015 год, кандидат наук Шилов, Сергей Николаевич
Повышение эффективности протоколов передачи данных в системах высокопроизводительных вычислений кластерной архитектуры2018 год, кандидат наук Ахмед Набиль Мухаммед Мудхш
Введение диссертации (часть автореферата) на тему «Оценка влияния системных связей сетевых кластеров на их характеристики на базе разработанных математических моделей»
Введение
Актуальность диссертационной работы. В связи с растущими потребностями пользователей по передаче и обработке информации и в целях соответствия мировым тенденциям развития повышение эффективности функционирования информационных систем (ИС) на основе использования сетевых кластеров [1,2,3] является важной научно-технической задачей.
При этом решение данной задачи направлено на обеспечение высокого быстродействия, достижимости и балансировки трафика ИС.
Эти показатели эффективности средств доставки и обработки информации в существенной мере определяются их топологией, характеризующей связность узлов сети каналами связи [4,5].
Выбор топологии информационной сети основывается на разумном компромиссе между быстродействием и достижимостью абонентов сети, с одной стороны, и ее стоимостью, с другой стороны (критерий цена/качество).
Из существующих методов доставки и обработки информации значительный интерес представляют задачи исследования влияния сетевой кластеризации на повышение эффективности (обеспечение высокого быстродействия, достижимости и балансировки трафика). Эти показатели являются составной частью вероятностно-временных характеристик (ВВХ) и основой для оценки и прогнозирования эффективности сетевых кластеров [6].
В работе анализируется эффективность функционирования сетевых кластеров регулярных решетчатых топологий. Использование сетевых кластеров регулярных решетчатых топологий большой размерности обеспечивает балансировку трафика и достижимость за счет большого количества альтернативных маршрутов доставки информации.
В работе на стадии «Технических предложений» проектирования жизненного цикла разработки ИС (ГОСТ 2.103—2013 Единая система конструкторской документации. Стадии разработки.) рассматривается влияние топологии сетевых кластеров на эффективность функционирования ИС на физическом, канальном и
сетевом уровнях базовой эталонной модели взаимодействия открытых систем ОБ! Данная стадия является важным шагом исследования эффективности управления информационными потоками в больших информационных системах, таких как, энергосистемы регионального уровня и выше, управление аэропортами, управление движением транспортных средств железных дорог, системами информатизации в интересах МО и т.д.
Вопросы анализа и повышения эффективности функционирования ИС были рассмотрены в работах многих российских и зарубежных ученых: В.М. Вишневского, В.Г. Олифера, А.Р. Бестугина, В.П. Климанова, Л.И. Абросимова, В.Г. Лазарева, Е.А. Денисова, Э. Дийкстры, Р. Беллмана, Дж. Форда, Ф. Бейкера, Р. Уайта и др.
Изучение Российских и зарубежных публикаций показывает, что комплекс проблем, связанный с обеспечением эффективных методов балансировки трафика, высокого быстродействия и достижимости не исчерпан, а задачи использования сетевых кластеров регулярных топологий для повышения эффективности ИС, остаются актуальными.
Однако разработка макета ИВС для оценки ее эффективности является экономически не рациональной [7,8,9], поэтому задача разработки математических моделей оценки влияния топологий сетевых кластеров на эффективность в виде вероятностно-временных характеристик является актуальной.
Цель и задачи исследования. Выбор рациональных топологий сетевых кластеров, которые обеспечивают достижение заданных значений интервала времени доставки и обработки информации, достижимости и балансировки трафика на основе использования разработанных математических моделей.
Для реализации поставленной цели в диссертации сформулированы и решены следующие задачи:
1. Установить связи между вероятностно-временными характеристиками сетевых кластеров и их топологическими схемами.
2. На основе установленных связей разработать комплекс адекватных моделей оценки вероятностно-временных характеристик (ВВХ) сетевых
кластеров.
3. На основе разработанного комплекса математических моделей (теории графов и сетей Джексона) создать методику оценки интервала времени доставки и обработки между абонентами сетевых кластеров регулярных топологий.
4. Реализовать программную среду моделирования сетевых кластеров сложных топологий.
5. На основе анализа результатов моделирования предложить эффективные решения использования сетевых кластеров в конкретных прикладных информационных системах.
Объект исследования. Объектом исследования являются сетевые кластеры регулярной решетчатой топологии.
Предмет исследования. Оценка эффективности функционирования сетевого кластера регулярной топологии по показателям достижимости, быстродействия и балансировки трафика.
Научная новизна результатов заключается в:
- Выявлении связи между вероятностно-временными характеристиками сетевых кластеров и их топологическими схемами.
- Разработке комплекса математических моделей анализа эффективности регулярных топологий сетевых кластеров по следующим показателям: интервалу времени доставки и обработки информации, достижимости и балансировки трафика.
- Проведении сравнительного анализа результатов моделирования вариантов сетевых кластеров разных типов решетчатых топологий с целью оценки их эффективности.
Теоретическая значимость результатов работы состоит в следующем:
- обосновании системотехнических факторов взаимных связей между показателями ВВХ сетевых кластеров и их математическими моделями.
- разработке комплекса математических моделей оценки ВВХ сетевых кластеров в корпоративных сетях;
- методе разработки математических моделей сетевых кластеров на основе математического аппарата теории графов и СеМО.
Практическая значимость результатов работы состоит в следующем:
1. Разработке методики оценки эффективности сетевых кластеров на основе разработанного диссертантом комплекса математических моделей (теории графов и сетей Джексона).
2. Разработке комплекса математических моделей и его реализации в виде программной среды моделирования, которые позволяют на основе результатов моделирования проводить анализ ВВХ различных топологий сетевых кластеров и выбирать наиболее эффективные.
Методы исследования. Методологическая основа исследований определяется проблемной областью решаемых задач и включает в себя разработку методов и алгоритмов решения задач системного анализа:
- методы и алгоритмы прогнозирования и оценки эффективности,
- теорию массового обслуживания,
- математический аппарат теории графов,
- математический аппарат сетей массового обслуживания (СеМО),
- аппарат объектно-ориентированного программирования
Основные результаты работы (положения, выносимые на защиту):
- обоснование системотехнических факторов взаимных связей между показателями ВВХ сетевых кластеров и их математическими моделями СеМО.
- комплекс математических моделей оценки ВВХ сетевых кластеров в корпоративных сетях;
- метод разработки математических моделей сетевых кластеров на основе математического аппарата теории графов и СеМО.
- программная реализация комплекса математических моделей КИВС сложных топологий;
- результаты моделирования, расчеты различных топологических схем сетевого кластера и рекомендации по прогнозированию и оценке их эффективности.
Степень достоверности полученных результатов и обоснованность выводов
обусловлена корректным использованием математических методов теории случайных процессов сетей массового обслуживания (СеМО).
Апробация работы. Основные положения диссертации докладывались на конференции в рамках Международной выставки 23 мая 2016 г. «Металлообработка - 2016 в Экспоцентре г. Москва» и на молодежной научно-практической конференции «Автоматизация и информационные технологии» с 5 по 8 апреля 2016 г. в МГТУ «СТАНКИН».
Соответствие диссертации паспорту специальности. Работа выполнена в соответствии с паспортом специальности 05.13.01 «Системный анализ, управление и обработка информации» (технические системы) по пунктам 1, 3, и 11.
Публикации. Основное содержание диссертации опубликовано в 5 печатных работах, в том числе в 3 работах, включенных в перечень ВАК РФ.
Структура диссертационной работы. В диссертации содержится 1 10 страниц, с приложениями -171 с. и в ней представлены введение, пять глав, заключение, обозначения и сокращения, список литературы и приложение. В работе содержатся 35 рисунков и 13 таблиц. Список литературы включает 72 позиций.
Глава 1. Анализ особенности объекта исследования Проблемы развития ИВС: Кластерные, Grid и Облачные вычисления
Выбор рациональных топологий сетевых кластеров, которые обеспечивают достижение заданных значений интервала времени доставки и обработки информации, достижимости и балансировки трафика является целью работы.
Создание прототипа сети для прогнозирования характеристики ее эффективности не всегда экономически оправдано, поэтому разработка математических моделей для оценки влияния топологий сетевых кластеров на эффективность в виде вероятностно-временных характеристик является актуальной задачей. Перед разработкой необходимо рассмотреть особенности объекта исследования. В данной главе приведены сравнительные характеристики современных ИВС.
1. 1 Кластеры
В широком смысле кластер является интеграцией в системе однородных единиц. Кроме того, данная система представляет собой самостоятельный элемент, обладающий определенными свойствами. В информатике понятие кластера является единицей хранения данных, интеграцией компьютеров, серверов и базы данных, локальных вычислительных сетей (ЛВС) [10]. На самом деле понятие кластера входит во многие области науки — физику, химию, астрономию, социологию и т.д.
В данной работе под сетевым кластером понимается набор ЛВС, связанных каналами связи, обеспечивающими высокую скорость передачи данных и балансировку трафика, т.е. сетевой кластер представляет собой для пользователя распределенную ИВС, решающую единую задачу.
В настоящее время согласно общепринятому определению, впервые приведенному компанией Digital Equipment Corporation, кластером является группа
вычислительных машин, функционирующих как один узел обработки информации и связанных между собою [4].
Узлы кластера могут строиться как по одно- так и по многопроцессорной (многоядерной) схеме, а в качестве соединительных артерий используется локальная сеть, хотя в некоторых системах применяются более скоростные устройства для передачи данных.
Большинство кластеров работают с разделяемой дисковой памятью, на которой хранятся обрабатываемые данные. Внутренние жесткие диски либо вообще отсутствуют, либо предназначены для сугубо утилитарных (системных) функций [5,12].
Кластеры выгодно отличаются от многопроцессорных компьютеров практически неограниченной масштабируемостью и намного более высокой доступностью — в правильно сконструированной системе выход из строя одного из узлов никак не отражается на остальных. Производительность кластера, конечно, снижается, но система продолжает функционировать даже при выходе значительного количества узлов, которые могут быть как сосредоточены в одном месте, так и географически разобщены.
Кластеризация может выполняться на разных уровнях системы в соответствии с ее многоуровневой моделью. Если уровень охватывает технологию кластеризации, то кластер будет надежным, масштабируемым и управляемым.
Пятиуровневая модель кластера приведена на рисунке 1.1.
Кластерные приложения восстанавливают систему после сбоев, распределяют нагрузки и поддерживают параллельные вычисления.
Средства системного управления максимизируют коэффициент готовности путем осуществления соответствующих функций управления и контроля исполнения прикладных программ, аппаратуры и ОС. В кластеризации все серверы управляются из одной точки.
Кластерное ПО позволяет защитить данные, а также и восстановить данные и функционирование системы без участия пользователя. [13]
/ Клас- \
терные приложения
/ Средства системА \ / ного управления \ \
/ Промежуточные ПО \ \
/ Операционная система \ /
/Аппаратные средства серверов. меж-\ / /соединений и запоминающих устройствХ /
Рис. 1.1. Общая схема пятиуровневой модели кластера
Кластер может быть представлен двумя простыми узлами системы, которая соединяет два персональных компьютера, или может быть очень быстрым суперкомпьютером. Обычные кластеры "Beowulf cluster" могут быть построены на основе нескольких персональных компьютеров с целью обеспечения экономической-эффективности, альтернативой традиционным
высокопроизводительным вычислениям.
Один из первых проектов, который показал жизнеспособность концепции кластеризации, является [5] Stone Supercomputer. Разработчики в этом случае использовали операционную систему Linux, параллельную виртуальную машину Toolkit и Message Passing Interface library для достижения высокой производительности по отношению к низким экономическим затратам [14,15].
Создание кластеров предназначено для повышения призводительности и готовности путем объединения ряда обыкновенных персональных компьютеров по определенной топологической схеме. Данное объединение делает возможным формирование различных архитектур и конфигураций информационно-вычислительной среды [15].
1.2 Классификация кластеров
Кластеры могут быть настроены для выполнения различных целей, начиная с общих бизнес-потребностей, таких как веб-службы, до цели расчёта научных вычислений. Выделяют следующие разновидности кластеров:
1. Кластеры с высокой доступностью (High-availability clusters, HA-кластер,
Отказоустойчивые кластеры)
2. Кластеры с балансировкой нагрузки (Load balancing cluster, LBS)
3. Кластеры с распределенной обработкой (computing clusters), или
высокопроизводительные кластеры (High-performance clusters, HPC).
1.2.1 Отказоустойчивые кластеры
Кластеры высокой доступности (High Availability кластеры) улучшают доступность подхода к ресурсам. Они работают, имея избыточные узлы, которые затем используются для предоставления услуг при возникновении сбоя в системе компонентов. Поэтому они также называются failover-системами. Реализация кластеров высокой доступности предназначена для использования избыточности компонентов кластера, чтобы устранить отказ отдельного компонента. Существуют коммерческие реализации кластеров высокой доступности для многих операционных систем. Например, проект Linux-HA является широко используемым свободным программным обеспечением для операционной системы Linux.
Отказоустойчивые кластеры главным образом применяются в критических инфраструктурах, к которым относятся базы данных, коммерческие web-сайты и многое другое [16].
Минимальный HA-кластер состоит из двух узлов, дублирующих друг друга, и при выходе одного узла из строя, его функции берет на себя другой. Естественно, узлы HA- кластеров должны заботиться о поддержке когерентности, т. е. находится
в согласованном состоянии во времени, что технически очень сложно, а практически вообще невозможно. [17,18,19]
Схема HA-кластера приведена на рисунке 1.2. Данный кластер используется в тех случаях, когда необходима высокая надежность системы, а потери, обусловленные отказами элементов инфомационной системы, превосходят затраты на обеспечение безотказности.
Практически все современные операционные системы поддерживают HA-кластеризацию [35]. Microsoft Windows (там эта технология называется Microsoft Cluster Server, или, сокращенно, MSCS) и в настоящий момент она поддерживается Server 2003 и Server 2008.
Рисунок 1.2. Кластер, состоящий из двух узлов и обрабатывающего сетевые
запросы
Linux также поддерживает HA-кластеры, но требует установки специального программного обеспечения, которое помимо собственно Linux поддерживает FreeBSD, OpenBSD, Solaris, Mac OS X и некоторые другие популярные операционные системы. [18,19]
1.2.2 Кластеры с балансировкой нагрузки
Данный кластер за счет перераспределения информационных потоков по альтернативным маршрутам обеспечивает балансировку трафика и одновременно
повышает надежность и производительность [16,18]. На рисунке 1.3 приведена схема кластера с балансировкой нагрузки (Load balancing clusters, LBC-кластер).
В конфигурацию LBC-кластера включены узлы, распределяющие вычислительную нагрузку, чтобы обеспечить лучшую общую производительность. Например, веб-сервер кластер может назначить разные запросы к разным узлам, таким образом общее время отклика будет оптимизировано. Однако подходы к балансировке нагрузки могут существенно отличаться между приложениями, например, высокопроизводительный кластер, используемый для научных вычислений будет балансировать нагрузку с помощью различных алгоритмов вебсервера кластера, который может использовать простой метод round-robin, направляя каждый новый запрос на другой узел [19,21].
В настоящее время только операционная система OpenBSD поддерживает кластеризацию с балансировкой нагрузки путем установки специального программного обеспечения. Другим же требуется аппаратная поддержка со стороны маршрутизаторов, что не составляет проблему, потому что все крупные производители сетевых устройств, в том числе 3Com, Cisco, поддерживают ее. [22,23]
Рисунок 1.3. Кластер, состоящий из двух узлов и обрабатывающий сетевые запросы
1.2.3 Кластеры с распределенной обработкой
Традиционно параллельная обработка осуществлялась несколькими процессорами в специальном разработанном параллельном компьютере. Это системы, в которых несколько процессоров разделяет одну память и интерфейс шины в пределах одного компьютера. С появлением высокой скорости, низкой латентностью коммутационной техники, компьютеры могут быть взаимосвязаны между собой для образования параллельной обработки кластера. Данные типы кластера повышают доступность, производительность и масштабируемость для приложений, особенно для вычислительных задач или задач, требующих большого объема данных.
Параллельный кластер представляет собой систему, которая использует ряд узлов, чтобы одновременно решить конкретную вычислительную задачу. В отличие от кластеров с балансировкой нагрузки или кластров высокой доступности, распределяющих запросы к узлам, в котором узел обрабатывает весь запрос, данный кластер разделит запрос на несколько подзадач, распределяющихся по нескольким узлам кластера для обработки.
Параллельные кластеры обычно используются для аналитических приложений, требующих высокой производительности, таких как математический расчет, научный анализ (прогнозирование погоды, сейсмический анализ и т.д), и анализ финансовых данных. Одной из наиболее распространенных кластерных операционных систем является Beowulf.
Данный кластер может быть определен как ряд систем, чьи мощности обработки одновременно применены в конкретном техническом, научном или бизнесмом приложении.
Каждый узел кластера взаимодействует с друг другом по технологии Ethernet (10/100 Мбит или 10Гбит). Другие высокоскоростные межсетевые технологии, такие как Myrinet, Infiniband, или Quadrics могут также быть использованы в технологии обработки с высокой производительностью. [20,21]
1.3 Эффективные кластерные решения
Кластерное вычисление включает новый класс приложений, требующих большую вычислительную мощность; решает задачи, которые ранее были нерентабельны для многих предприятий. Интеграция с целью эффективного взаимодействия обычных компьютеров для решения весьма сложных, вычислительных задач широко используется в следующих отраслях промышленности, таких как химия или биология, квантовая физика, нефтепоисковые работы, моделирование краха, рендеринг CG и анализ финансовых рисков [3,5]. Кластерное решение эффективно используется в поисковых системах, в моделировании землетрясений и т.д. Самая популярная система Google использует кластерное вычисление, чтобы справиться с огромным количеством поисковых запросов по всему миру. Google использует кластер, поскольку кластер имеет более низкую цену, чем альтернативные высокопроизводительные вычислительные платформы, а также кластер требует меньшего потребления электроэнергии [19,20].
Из-за низкой цены и высокой производительности, кластерные вычисления нашли применение в корпоративных центрах обработки данных, использующих кластеры различных размеров.
Широкое использование кластерных технологий требует более внимательного рассмотрения требований к приложениям и сетевым характеристикам. Знание о том, как приложение использует узлы кластера и как особенности приложения взаимодействуют с базовой сетью, является критически важным. Масштабируемое и модульное сетевое решение имеет огромное значение не только для обеспечения добавочного подключения, но и для обеспечения поэтапного увеличения пропускной способности по мере роста нагрузки. Способность использования передовых технологий в пределах одной сетевой платформы, таких как 10 гигабитный Ethernet, предоставляет новые возможности подключения, увеличивает пропускную способность, обеспечивая при этом защиту инвестиций. Технологии, связанные с кластерными вычислениями, включая
протоколы хоста стек-обработки и межсетевые технологии, стремительно развиваются для удовлетворения потребности современных, новых приложений.
1.4 Сетевой Кластер и его особенности
С увеличением количества вычислительных ресурсов, ресурсов хранения и передачи данных, удаленных географически друг от друга становится актуальной задача повышения эффективности информационно-вычислительной среды. Её решением может стать создание сетевого кластера.
Сетевые кластеры являются одной из разновидностей ИВС, направленных на решение единой задачи.
Сетевой кластер представляет собой разновидность HLB-кластеров (кластеров балансировки трафика-Hardware Load Balancer (HLB)), соединенных высокоскоростными каналами связи через Интернет и, как правило, находящихся в разных местах [21]. В состав сетевого кластера входят стандартные, недорогие компоненты, соединенные сетевыми коммутаторами и контролируемые специальным ПО, дающим возможность пользователю и приложениям воспринимать группу компьютерных систем как единую. Система кластера представлена на рисунке 1.4.
Кластерные решения сегодня находят своих пользователей, потому что обладают высокой производительностью при использовании недорогих (обычных)серверов, низкой латентностью технологии сетевых коммутаторов, которые обеспечивают межузловые связи [19]. Сетевые кластеры, как правило, инкорпорируют один или более выделенных (dedicated) коммутаторов для поддержки коммуникации между узлами этого кластера. Скорость и тип соединяющего узла зависит от требования приложений и организаций. На сегодняшний день с внедрением Gigabit Ethernet коммутаторов, 10-Гигабитного Ethernet и стандартизацией сетевых интерфейсов на узле Ethernet продолжает быть ведущей технологией интерконнекта для многих кластеров [22,23].
jf \ Linux Nodes
N LB Cluster -------
HPC Cluster
Рис 1.4. Концепция сетевого кластера Система сетевого кластера включает в себя следующие особенности:
• Высокая доступность: Если один из элементов сетевого кластера отказывает, то другой элемент может заменить его работу.
• Мульти-административные домены и автономия: Ресурсы распределены территориально по нескольким административным доменам и принадлежат разным организациям. Автономность владельцев ресурсов связана с их локальным управлением ресурсами и политикой использования.
• Неоднородность: Сетевой кластер предполагает множественность ресурсов, которые являются гетерогенными по своему характеру и будут охватывать широкий спектр технологий.
• Масштабируемость: Сетевой кластер может быть расширен от нескольких
интегрированных ресурсов до миллионов. При этом возникает проблема потенциального снижения производительности. Следовательно, приложения, требующие большого количества территориально расположенных ресурсов должны быть предназначены для латентной отказоустойчивости и пропускных способностей системы.
• Адаптивность: В системе сбой ресурса является скорее правилом, чем исключением. На самом деле, с такими количествами ресурсов в кластере, вероятность сбоя нескольких ресурсов высока. Диспетчер ресурсов или приложения должен приспосабливать свое поведение динамически и использовать имеющиеся ресурсы и службы оперативно и эффективно ликвидировать сбои.
• Управляемость: Система предпринимает действия для управления большим количеством компонентов. В кластерной системе, большое количество компонентов объединены и функционируют как единое целое, поэтому управление становится более легким.
Системные архитектуры и компоненты. Ключевыми компонентами сетевого кластера как Грид системы являются [2]:
• Fabric (Уровень остова): Он состоит из всех глобально распределенных ресурсов, к которым осуществляется доступ из любого места через интернет. Этими ресурсами могут быть компьютеры (такие, как ПК, SMPs, кластеры) под управлением различными операционными системами (такими как Unix или Windows), а также система управления ресурсами, такими как LSF (Load Sharing Facility), Condor, PBS (Portable Batch System) или SGE (Sun Grid Engine), хранилище, база данных и специальные научные инструменты, например, радиотелескоп или тепловой датчик.
• Core MiddleWare: Ядро локального программного обеспечения, которое предоставляет основные службы, такие как удаленное управление процессом, совместное распределение ресурсов, доступ к хранилищам,
Похожие диссертационные работы по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК
Архитектура и организация граничных вычислений для виртуального кластера на основе компьютеров с ограниченными вычислительными ресурсами2021 год, кандидат наук Шматков Владислав Николаевич
Использование виртуализации для увеличения эффективности вычислении2020 год, кандидат наук Чжо За
Математическое моделирование средств управления ресурсами и данными в распределенных и виртуализованных средах2007 год, доктор физико-математических наук Тормасов, Александр Геннадьевич
Исследование распределения ресурсов в интерактивных сервисах инфокоммуникационных сетей2014 год, кандидат наук Парфёнов, Денис Игоревич
Управление стратегиями распределения заданий внутри вычислительной Грид-системы2015 год, кандидат наук Гаевой, Сергей Владимирович
Список литературы диссертационного исследования кандидат наук Со Хтет Зо, 2017 год
Список литературы
1. Климанов, В.П. Анализ способов модернизации университетской корпоративной сети / В.П. Климанов, М.В. Левин, С.Е. Сосенушкин // Вестник МГТУ «Станкин». - 2013. - № 3(26). - С. 92-98.
2. María, S. Pérez. Grid and Cloud computing [Электроный ресурс] / S. Pérez María //Universidad Politécnica de Madrid. - Режим доступа: http://laurel.datsi.fi.upm.es/_media/docencia/asignaturas/ccg/gridcloud.pdf
3. Buyya, Rajkumar. Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5 th utility/ Rajkumar Buyya, Yeo Chee Shin, Venugopal Srikumar, Broberg James, Brandic Ivona. - Vienna, Australia: Future Generation Computer Systems, Volume 25, Issue 6, June 2009. Pp.,599-616
4. Журавлев, Е. Е. Модель открытой грид-системы / Е. Е. Журавлев, В. Н. Корниенко, А. Я. Олейников, Т. Д. Широбокова // Журнал радиоэлектроники. - 2012. - №12.
5. Третъяк, В.П. Кластеры предприятий / В.П. Третьяк. - М.: Август Борг, 2006. - 132 с.
6. Сосенушкин, С.Е. Повышение эффективности маршрутизации сетевых пакетов на основе балансиров-ки нагрузки / С.Е. Сосенушкин // Известия Тульского государственного университета. Технические науки. - 2009. - № 3. С. 276-283.
7. Максимов, Н.В. Компьютерные сети / Н.В. Максимов, И.И. Попов. - М.: Форум, 2004. - 334 c.
8. Пятибратов, А.П. А.П. Эффективность вычислительных сетей: Сб. науч. тр. М-во общ. и проф. образования Рос. Федерации. Моск. гос. ун-т экономики, статистики и информатики; [Редкол.: А. П. Пятибратов (гл. ред.) и др.] / А.П. Пятибратов. - М.: Моск. гос. ун-т экономики, статистики и информатики, 1997. - 60 с.
9. Якубайтис, Э.А. Архитектура вычислительных сетей / Э.А. Якубайтис. - М.: Статистика, 1980. - 279 с.
10.Танненбаум, Э. Компьютерные сети / Э Танненбаум. - СПб.: Питер, 2003. -992 с.
11.Назаров, С.В. Локальные вычислительные сети. Книги 1-3 / С. В.Назарова. -М.: Финансы и статистика, 1995. - 248 с.
12.Олифер, В.Г. Компьютерные сети / В.Г. Олифер, Н.А. Олифер. - СПб.: ПИТЕР, 2006. - 958 с.
13.Thushar, K.R. Cluster computing [Электроный ресурс]/ Kanti Routh Thushar // Seminar Report. - 2013. - Режим доступа: http://www.authorstream.com/Presentation/aSGuest68841 -539251 -cluster-computing/
14.Тремасова, Д.Д. Обзор GRID-систем: магистерская диссертационная работа: 230100-68/ Дарья Дмитриевна Тремасова, С.В. Сухарева. - М.: МГТУ «СТАНКИН». - 2010.
15. Танненбаум, Э. Распределительные системы: Принципы и парадигмы / Э. Таннунбаум, М. ван Стеен. - СПб.: Питер, 2003. - 877 с.
16.Сандлер, Дж. Техника надежности систем / Дж. Сандлер. - М.: Наука, 1966. - 300 с.
17. Кузнецов, Е.М. Анализ производительности локальной вычислительной сети для выбора её оптимальной схемы / Е.М. Кузнецов // Материалы XII международной научно-технической конференции «Информационно-технические технологии и их приложения». - Пенза: - 2010. - С. 110-113.
18.Радченко, Г.И. Распределенные вычислительные системы: учебное пособие / Г.И. Радченко. - Челябинск: Фотохудожник, 2012. - 184 c.
19.Kumar, Kaushik. Cluster Computing [Электронный ресурс] / Kaushik Kumar // Seminar Report «Cochin University of Science and Technology». - 2008. pp.6,12,22,35. - Режим доступа: http://dspace.cusat.ac.in/jspui/bitstream/123456789/2626/1/Cluster%20Computin gpdf
20.Берж, К. Теория графов и ее применения / К.Берж.- М.: Издательство иностранной литературы -1962. - 320 с.
21.Олифер, В.Г. Компьютерные сети. Принципы, технологии, протоколы: учебник для вузов / В.Г. Олифер, Н.А. Олифер. - 2-е изд. -СПБ.: Питер, 2004.
- 864 с.: ил.
22. Ермаков, А. А. Комплексное обеспечение надежности кластерных систем на основе математического моделирования: дис. канд. техн. наук: 05.13.01/ Артем Александрович Ермаков. - М., 2008. - 150 с.
23. Со, Хтет Зо. Сравнительный анализ современный технологий информационно-вычислительных систем / Со Хтет Зо, С.В. Федоров // Вестник МГТУ «СТАНКИН». - 2016. - № 2(37).
24.Lazowska, Quantitative System Performance [Электроный ресурс] / Edward D. Lazowska, John Zahorjan, G. Scoot Graham, Kenneth C. Sevick // Prentice-Hall.
- 1984. pp. 2,4,9,14. - Режим доступа: http://homes.cs.washington.edu/~lazowska/qsp/
25.Вентцель, Е.С. Исследование операций / Е.С. Вентцель. - М.: Советское радио, 1972. — 552 с.
26.Крук, Б.И. Телекоммуникационные системы и сети. Современные технологии. Т. 1. / Б.И. Крук, В.Н. Нопантонопуло, В.Н. Шувалов. - М.: Горячая линия - Телеком, 2003. - 647 с.
27.Григелионис, Б.И. О точности приближения композиции процессов восстановления пуассоновским процессом/ Б.И. Григелионис //Литов. Мат. Сб. 1962. Т.2. с.135-143
28.Погожев, И.Б. Оценка отклонения потока отказов в аппаратуре многофазового использования от пуассоновского потока /И.Б. Погожев // Кибернетика на службу коммунизму. Т.2 М ,: Энергия. 1964, с.228-245
29.Абросимов, Л.И. Анализ и проектирование вычислительных сетей: Учебное пособие / Л.И. Абросимов. - М.: Изд-во МЭИ, 2000. - 52 с.
30.Авен, О.И. Оценка качества и оптимизация вычислительных систем / О.И. Авен, Н.Н. Турин, Я.А. Коган. - М.: Наука, 1982, 464 с.
31. Олифер, Н.А. Средства анализа и оптимизации локальных вычислительных сетей [Электроный ресурс] / Н.А. Олифер, В.Г. Олифер // Центр
информационных технологий. - 1998. - Режим доступа: http: //citforum.ru/nets/optimize/
32.Бройдо, В.Л. Вычислительные системы, сети и телекоммуникации / В.Л. Бройдо. - СПб.: ПИТЕР, 2004. - 703 с.
33.Енюков, И.С. Статистический анализ и мониторинг Интернет-сетей / И.С. Енюков, Ретинская И.В., Скуратов А.К. - М.: Изд-во «Финансы и статистика», 2004.
34.Абросимов, Л.И. Методика экспериментального анализа эффективности функционирования корпоративных компьютерных сетей / Л.И. Абросимов, С.Г. Калашников, Д.С. Репин // Вестник Московского энергетического института. - 2008. - №3.
35.Долгов, Л.Е. Отказоустойчивая информационно-коммуникационная инфраструктура для систем дистанционного образования / Л.Е. Долгов // Вестник МГТУ «Станкин». - 2012. - № 4. - С. 122-125.
36.Ивницкий, В.А. Теория сетей массового обслуживания / В.А. Ивницкий. -М.: Физматлит, 2004. - 772 с.
37.Клейнрок, Л. Теория массового обслуживания / Л. Клейнрок. - М.: Машиностроение, 1979. 432 с.
38.Писарев, В.Н. Применение теории массового обслуживания в задачах инженерно-авиационного обеспечения / В.Н. Писарев. — М.: Изд-во ВВИА им. проф. Н.Е. Жукова, 1965. — 45 с.
39.Клейнрок, Л. Вычислительные системы с очередями / Л. Клейнрок. - М.: Мир, 1979. - 600 с.
40.Жожикашвили, В.А. Сети массового обслуживания. Теория и применение к сетям ЭВМ / В.А. Жожикашвили. - М.: Радио и связь, 1988. 192 с.
41.Волков, И. Вероятностные методы анализа рисков [Электроный ресурс] / И. Волков, М. Грачева // Корпоративный менеджмент. - 2015. - Режим доступа: http: //www.cfin.ru/finanalysis/monte_carlo2. shtml?printversion
42.Максимов, А.В. Основы проектирования информационно-вычислительных систем и сетей ЭВМ [Текст] / А.В. Максименков, М. Л. Селезнев. - М.: Радио
и связь, 1991. - 320 с.: ил.
43.Вагнер, Г. Основы исследования операций Т.3 / Г. Вагнер. - М.: Мир,1973. 503 с.
44.Бусленко, Н.П. Моделирование сложных систем / Н.П. Бусленко. - М.: Наука, 1977. - 400 с.
45.Питерсон, Дж. Теория сетей Петри и моделирование систем / Дж Питерсон. - Перевод с английского М.В. Горбатовой, В.Л. Торхова, В.Н. Четверикова под редакцией В.А. Горбатова. - М.: Мир, 1984. - 264 с.
46.Барский, А.Б. Нейронные сети: распознавание, управление, принятие решений / А.Б. Барский. - М.: Финансы и статистика, 2004. - 176 с.
47. Вишневский, В.М. Теоретические основы проектирования компьютерных сетей / В.М. Вишневский. — М.: Техносфера. 2003. - 512 с.
48.Алиев, Т.И. Математические методы теории вычислительных систем: учебное пособие / Т.И. Алиев. - Л., ЛИТМО, 1979, -92 с.
49.Климанов, В.П. Моделирование информационных систем. Математические модели для разработки информационных систем: ме-тодика и решения: учебное пособие / В.П. Климанов, Р.А. Руделёв — Москва: ФГБОУ ВПО МГТУ «СТАНКИН», 2014. — 45 с.
50.Сосенушкин, С. Е. Повышение эффективности доствки и обработки информации в корпоративных информационно-вычислительных сетя на основе балансировки трафика: дис. ... канд. тех. наук: 05.13.01 / Сергей Евгеньевич Сосенушкин. М., 2010. - 128 с.
51. Левин, М.В. Анализ эффективности университетской корпоративной сети на основе использования математического аппарата сетей массового обслуживания / М.В. Левин, С.Е. Сосенушкин, В.П. Климанов // Вестник МГТУ «СТАНКИН». - 2014. - № 4(31). - С. 175-181
52.Закер, К. Компьютерные сети. Модернизация. Поиск неисправностей / К. Закер. - СПб.: БВХ-Петербург, 2002. - 1008 с.
53.Рыжиков, Ю.И. Имитационное моделирование: теория и технология / Ю.И. Рыжиков. - М.: Альтекс-А, 2004. 380 с.
54. Кокс, Д. Статистический анализ последовательности событий / Д. Кокс, П. Лыоис. - М.: «МИР», 1969. - 312 с.
55.Ермаков, А. А. Комплексное обеспечение надежности кластерных систем на основе математического моделирования: дис. ... канд. техн. наук: 05.13.01/ Артем Александрович Ермаков. - М., 2008. - 150 с.
56.Осадчук, А. Сетевые архитектуры современных информационно-вычислительных сетей / А. Осадчук. - М.: Компьютер Пресс, №11, 1995.
57.Климанов, В.П. Корпоративные информационно-вычислительные сети: технологии и модели: монография / В.П. Климанов, М.В. Сутягин. - М.: ГОУ ВПО МГТУ «Станкин», 2009. - 243 с.
58.Климанов, В. П. Методика построения математических моделей информационно-вычислительных сетей для анализа их вероятностно-временных характеристик / В. П. Климанов, Со Хтет Зо // Вестник МГТУ «СТАНКИН». - 2015. - № 2(33).
59.Барановская, Т.П. Архитектура компьютерных систем и сетей / Т.П. Барановская, В.И. Лойко, М.И. Семенов, А.И. Трубилин. - М.: Финансы и статистика, 2003. - 256 с.
60. Продвижение использования информационных и коммуникационных технологий в техническом и профессиональном образовании и обучении в странах СНГ: отчет о НИР / Султанова Н, Тищенко Д. - Москва: ЮНЕСКО, 2012.
61. Пранявичюс, Г.И. Модели и методы исследования вычислительных систем [Текст] / Г.И. Пранявичюс - Вильнюс: «МОКСЛАС», 1982. - 228 с.
62.Климанов, В.П. Анализ эффективности технологии пиринговых сетей при распределенной обработке большого обьема данных / В.П. Климанов, Ф.С. Хлюпин // Естественные и технические науки. - 2011. - № 5. - С. 262-267.
63.Климанов, В.П. Бортовые информационно-вычислительные сети высокой готовности на основе использования кольцевых топологий локальных вычислительных сетей / В.П. Климанов, М.В. Сутягин //Перспективы использования новых технологий и научно-технических решений в ракетно-
космической и авиационной промышленности. Материалы международной конференции. Под ред. Е.И. Артамонова. - М.: Институт проблем управления РАН. - 2008. - С. 61-62.
64.Марчук, Г.И. Методы вычислительной математики / Г.И. Марчук. - М.: Наука, 1989. - 608 с.
65.Гмурман, В.Е. Теория вероятностей и математическая статистика / В.Е. Гумурман. - М.: Высшая школа, 1972. - 479 с.
66.Вентцель, А.Д. Теория случайных процессов / А.Д. Вентцель. - М.: Высшая школа, 2000. - 383 с.
67. Корн, Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. - М.: Изд-во «наука», 1973. - 832 с.
68.Олифер, В.Г. Основы сетей передачи данных: Курс лекций. Учеб. пособие для вузов / В.Г. Олифер, Н.А. Олифер. - М.: Интуит.РУ, 2005. - 176 с.
69.Климанов, В.П. Разработка математических моделей и анализ эффективности вычислительных систем / В.П. Климанов. Под редакцией Кораблина Ю.П. М.: Изд-во МЭИ, 1992. - 103 с.
70.Климанов, В.П. Математическая модель сетевого кластера типа пирамидальная решетка / В.П. Климанов, Со Хтет Зо // Вестник МГТУ «СТАНКИН». - 2015. - № 3(34).
71.Климанов, В.П. Методы разработки аналитических моделей для анализа локальных вычислительных сетей, используемых в управлении технологическим процессом [Текст]: учебное пособие / В.П. Климанов; Под ред. А. П. Еремеева. - М.: Московский энергетический институт, 1995. - 115 с.
72.Кокс, Д.Теория восстановления /Д. Кокс, В. Смит. - М.: Изд-во «Советское радио», 1967.
Приложение А. Программная среда моделирования ИВС
% Анализ достижимости
d:\proga\Projects_last #ifndef _MATRIX_ #define _MATRIX_
struct vector //вектор, одномерный массив {
public:
vector(int length=0);
vector(vector &rhs); //для избежания присвоения адресса новому экземпляру ~vector();
void init(int length); //переинициализация, установка размерности, обнуление void init(double *b, int length); //переинициализация, присвоение значений массива void operator =(vector &rhs); //оператор присвоения значений другого экземпляра operator double *(); //оператор неявного преобразования в вещественный массив double & operator [](int index); //индексатор int GetLength(); //размер массива private:
double *x; int Length;
};
struct matrix //матрица, двумерный массив {
public:
matrix(int n=0, int m=0);
matrix(matrix &rhs); //для избежания присвоения адресса новому экземпляру ~matrix();
void init(int n, int m); //переинициализация, установка размерности, обнуление void init(double **b, int n, int m); //переинициализация, присвоение значений двумерного массива
void operator =(matrix &rhs); //оператор присвоения значений другого экземпляра operator double **(); //оператор неявного преобразования в вещественный двумерный массив
double * operator [](int index); //индексатор
int GetLength(int dimension); //размер массива в разных измерениях void InsertVector(vector &v); private:
double **x; int Length[2];
};
struct doubleArray {
public:
doubleArray(int n=0);
doubleArray(doubleArray &rhs); //для избежания присвоения адресса новому экземпляру
~doubleArray();
void init(int n); //переинициализация, установка размерности, обнуление void operator =(doubleArray &rhs); //оператор присвоения значений другого экземпляра
vector & operator [](int index); //индексатор int GetLength(); //размер массива в разных измерениях void InsertVector(vector &v); private:
vector *x; int Length;
};
matrix minor(matrix A, int i1, int j1); //создание минора, образованного вычеркиванием i1-
строки и j1-столбца
////функции связанные с doubleArray
doubleArray getRoutes(matrix A, int Vi, int To); //получить маршруты из Vi в To без петель
doubleArray getRoutes2(matrix A, int Vi, int To); //получить маршруты из Vi в To с петлями
double getRouteMulValue(matrix &A, vector &Route); //получить произведение значений маршрута
vector getRoutesProbabilities(matrix &A, doubleArray &Routes); //получить вероятности маршрутов
double getRouteAddValue(matrix &A, vector &Route); //получить сложение значений маршрута
//арифметические действия над векторами/// vector operator +(vector &a, vector &b); vector operator -(vector &a, vector &b); vector operator *(vector &a, double d); vector operator *(double d, vector &a);
//арифметические действия над матрицами/// matrix operator *(matrix &A, matrix &B); matrix operator +(matrix &A, matrix &B); matrix operator -(matrix &A, matrix &B);
#endif _MATRIX_
d:\proga\Projects_last\diplom_project\diplom_project\matrix.cpp #include "matrix.h"
vector::vector(int length) {
Length=length; x=new double[Length]; for(int i=0;i<Length;i++) x[i]=0;
}
vector::vector(vector &rhs) {
Length=rhs. GetLength(); x=new double[Length]; for(int i=0;i<Length;i++) x[i]=rhs[i];
}
vector::~vector() {
delete[] x;
}
void vector: :init(int length) {
delete[] x; Length=length; x=new double[Length]; for(int i=0;i<Length;i++) x[i]=0;
}
void vector::init(double *b, int length) {
delete[] x; Length=length; x=new double[Length]; for(int i=0;i<Length;i++) x[i]=b[i];
}
void vector: :operator =(vector &rhs) {
delete[] x;
Length=rhs. GetLength(); x=new double[Length]; for(int i=0;i<Length;i++) x[i]=rhs[i];
}
vector::operator double *()
{
return x;
}
double & vector::operator [](int index) {
return x[index];
int vector::GetLength() {
return Length;
}
//////matrix///////
matrix::matrix(int n, int m) {
Length[0]=n; Length[1]=m;
x=new double *[Length[0]]; for(int i=0;i<Length[0] ;i++)
x[i]=new double[Length[1]]; for(int i=0;i<Length[0] ;i++)
for(int j=0;j<Length[1];j++) x[i][j]=0;//o6HyneHHe
}
matrix::matrix(matrix &rhs) {
Length[0]=rhs.GetLength(0); Length[1]=rhs.GetLength(1); x=new double *[Length[0]]; for(int i=0;i<Length[0] ;i++)
x[i]=new double[Length[1]]; for(int i=0;i<Length[0] ;i++)
for(int j=0;j<Length[1];j++)
x[i][j]=rhs[i][j];
}
matrix::~matrix() {
for(int i=0;i<Length[0] ;i++)
delete[] x[i]; delete[] x;
}
void matrix::init(int n, int m)
{
for(int i=0;i<Length[0] ;i++)
delete[] x[i]; delete[] x;
Length[0]=n; Length[1]=m;
x=new double *[Length[0]]; for(int i=0;i<Length[0];i++)
x[i]=new double[Length[1]]; for(int i=0;i<Length[0] ;i++)
for(int j=0;j<Length[1];j++)
x[i][j]=0;//o6HyneHHe
void matrix::init(double **b, int n, int m)
{
for(int i=0;i<Length[0] ;i++)
delete[] x[i]; delete[] x;
Length[0]=n; Length[1]=m;
x=new double *[Length[0]]; for(int i=0;i<Length[0] ;i++)
x[i]=new double[Length[1]]; for(int i=0;i<Length[0] ;i++)
for(int j=0;j<Length[1];j++) x[i][j]=b[i][j];
}
void matrix::operator =(matrix &rhs) {
for(int i=0;i<Length[0];i++)
delete[] x[i]; delete[] x;
Length[0]=rhs.GetLength(0); Length[1]=rhs.GetLength(1); x=new double *[Length[0]]; for(int i=0;i<Length[0] ;i++)
x[i]=new double[Length[1]]; for(int i=0;i<Length[0] ;i++)
for(int j=0;j<Length[1];j++) x[i][j]=rhs[i][j];
}
matrix::operator double **() {
return x;
}
double * matrix::operator [](int index) {
return x[index];
}
int matrix::GetLength(int dimension) {
if(dimension<2)
return Length[dimension];
else
return 0;
}
Length[0]++;
double **temp=new double *[Length[0]]; for(int i=0;i<Length[0] ;i++)
temp[i]=new double[Length[1]];
for(int i=0;i<Length[0] - 1;i++)
for(int j=0;j<Length[1];j++)
temp[i][j]=x[i]L)];
for(int j=0;j<Length[1];j++)
temp[Length[0]-1][j]=v[j];
for(int i=0;i<Length[0] - 1;i++)
delete[] x[i]; delete[] x;
x=temp;
for(int i=0;i<Length[0] ;i++) x[i]=temp[i];
}
/////doubleArray///////////
doubleArray::doubleArray(int n) {
Length=n;
x=new vector[Length];
}
doubleArray::doubleArray(doubleArray &rhs) {
Length=rhs.Length; x=new vector[Length]; for(int i=0;i<Length;i++) x[i]=rhs.x[i];
}
doubleArray: :~doubleArray() {
delete[] x;
}
void doubleArray::init(int n)
{
delete[] x; Length=n;
x=new vector[Length];
}
void doubleArray::operator =(doubleArray &rhs) {
delete[] x; Length=rhs.Length; x=new vector[Length];
{
for(int i=0;i<Length;i++) x[i]=rhs.x[i];
vector & doubleArray::operator [](int index) {
return x[index];
}
int doubleArray::GetLength() {
return Length;
}
void doubleArray::InsertVector(vector &v) {
vector *temp=new vector[Length+1]; for(int i=0;i<Length;i++)
temp[i]=x[i]; temp[Length++]=v; delete[] x; x=temp;
}
matrix minor(matrix A, int il, int j1)
{//создание минора, образованного вычеркиванием Ü-строки и j1-столбца matrix B(A.GetLength(O)-1, A.GetLength(1)-1); int u=0;
for(int i=0;i<A.GetLength(0);i++) {
int y=0;
for(int j=0;j<A.GetLength(1);j++)
if((i!=i1)&&(j!=j1)) {
B[u][y]=A[i][j];
y++;
}
if(y==B.GetLength( 1)) u++;
}
return B;
}
//////функции связанные с doubleArray//////
doubleArray getRoutes(matrix A, int Vi, int To) //получение маршрута без петель {
doubleArray Path(0); //ступенчатый двумерный массив
for(int j=0;j<A.GetLength(0);j++) //исключаем маршрутные петли A[j][Vi]=0; //сделать Vi вершину не досягаемой
for(int i=0;i<A.GetLength(0);i++) //перебор вершин {
if(A[Vi][i]>0) //если существует путь из Vi в i {
if(i==To) //если i это наша искомая вершина {
vector v(2); //одномерный массив размером 2 v[0]=Vi; //откуда пришли v[1]=To; //куда пришли
Path.InsertVector(v); //добавить массив в двумерный
}
eise //иначе рассматриваем пути из вершины i {
doubleArray Temp=getRoutes(A, i, To); //записываем найдены пути во временный двумерный массив
if(Temp.GetLength()!=0) //если массив не пустой, найдены пути
до искомои вершины
{
массив
вершину откуда идем
for(int j=0;j<Temp.GetLength();j++) {
vector v(Temp[j].GetLength()+1); //одномерный
v[0]=Vi; //первый элемент массива, указываем
for(int k=0;k<Temp[j].GetLength();k++)
v[k+1]=Temp[j][k]; Path.InsertVector(v); //добавляем все найденные
пути в двумерный массив
}
return Path;
}
doubleArray getRoutes2(matrix A, int Vi, int To) //получение маршрута с петлями {
doubleArray Path(0);
for(int i=0;i<A.GetLength(0);i++) {
if(A[Vi][i]>0) {
A[Vi][i]=0; //исключение бесконечных замкнутых петель A[i][Vi]=0;
if(i==To) {
vector v(2);
v[0]=Vi;
v[1]=To;
}
}
}
}
Path.InsertVector(v);
}
else {
doubleArray Temp=getRoutes2(A, i, To);
if(Temp.GetLength()!=0) {
for(int j=0;j<Temp.GetLength();j++) {
vector v(Temp[j].GetLength()+1); v[0]=Vi;
for(int k=0;k<Temp[j].GetLength();k++)
v[k+1]=Temp[j][k]; Path.InsertVector(v);
}
}
}
}
}
return Path;
}
double getRouteMulValue(matrix &A, vector &Route) {
double result=1;
for(int i=0;i<Route. GetLength()- 1;i++) {
int index1=(int)Route[i]; int index2=(int)Route[i+1]; result *= A[index1][index2];
}
return result;
}
vector getRoutesProbabilities(matrix &A, doubleArray &Routes) {
vector Beta(Routes.GetLength()); double Sum=0;
for(int i=0;i<Routes.GetLength();i++) {
Beta[i]=getRouteMulValue(A, Routes[i]); Sum+=Beta[i];
}
for(int i=0;i<Beta.GetLength();i++) Beta[i]/=Sum;
return Beta;
}
{
double result=0;
for(int i=0;i<Route. GetLength()- 1;i++) {
int index1=(int)Route[i]; int index2=(int)Route[i+1]; result += A[index1][index2];
}
return result;
}
//арифметические действия над векторами///
vector operator +(vector &a, vector &b) {
vector c;
if(a.GetLength()==b. GetLength()) {
c.init(a. GetLength()); for(int i=0;i<c.GetLength();i++) c[i]=a[i]+b[i];
}
return c;
}
vector operator -(vector &a, vector &b) {
vector c;
if(a.GetLength()==b. GetLength()) {
c.init(a. GetLength()); for(int i=0;i<c.GetLength();i++) c[i]=a[i]-b[i];
}
return c;
}
vector operator *(vector &a, double d)
{
vector c(a.GetLength()); for(int i=0;i<c.GetLength();i++)
c[i]=d*a[i]; return c;
}
vector operator *(double d, vector &a) {
vector c(a.GetLength()); for(int i=0;i<c.GetLength();i++)
c[i]=d*a[i]; return c;
}
matrix operator *(matrix &A, matrix &B) {
matrix C;
if(B.GetLength(0)==A.GetLength( 1)) {
C.init(A.GetLength(0), B.GetLength(1)); for(int i=0;i<C.GetLength(0);i++)
for(int j=0;j<C.GetLength(1);j++)
for(int k=0;k<B.GetLength(0);k++) C[i][j]+=A[i][k]*B[k][j];
}
return C;
}
matrix operator +(matrix &A, matrix &B) {
matrix C;
if((A.GetLength(0)==B.GetLength(0))&&(A .GetLength( 1)==B. GetLength(1))) {
C.init(A.GetLength(0), A.GetLength(1)); for(int i=0;i<C.GetLength(0);i++)
for(int j=0;j<C.GetLength(1);j++) C[i][j]=A[i][j]+B[i][j];
}
return C;
}
matrix operator -(matrix &A, matrix &B) {
matrix C;
if((A.GetLength(0)==B.GetLength(0))&&(A .GetLength( 1)==B. GetLength(1))) {
C.init(A.GetLength(0), A.GetLength(1)); for(int i=0;i<C.GetLength(0);i++)
for(int j=0;j<C.GetLength(1);j++) C[i][j]=A[i][j]-B[i][j];
}
return C;
}
d:\proga\Projects_last\diplom_project\diplom_project\SeMO.h #include "matrix.h" #include <iostream> using namespace std;
% Анализ вероятностно-временных характеристик ИВС на основе модели СеМО
struct SMO //система массового обслуживания (узел сети) {
SMO(int R=0);
SMO(vector &mu, vector &lambda); ~SMO();
void init(vector &mu, vector &lambda); void operator=(SMO &rhs);
vector Lambda; //интенсивность внешнего источника i-го типа требования vector Mu; //интенсивность обслуживания требования i-типа vector Lambdal; //интенсивность R-мерного потока, циркулирующего в стационарном режиме
void ComputeParameters();
vector RoI; //коэффициент загрузки i-го типа требования double Ro; //коэффициент загрузки
double Wi; //средняя длительность ожидания обслуживания vector U; //среднее время пребывания требования i-го типа vector L; //средняя длина очереди требований i-го типа vector Ni; //среднее число требований i-го типа
};
struct RouteParameters {
RouteParameters(int R=0); ~RouteParameters(); void init(int R);
void operator=(RouteParameters &rhs);
double Wi; //средняя длительность ожидания обслуживания vector U; //среднее время пребывания требования i-го типа vector L; //средняя длина очереди требований i-го типа vector Ni; //среднее число требований i-го типа
};
class SeMO //сеть массового обслуживания {
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.