Моделювання ЛОМ. Призначення та результати
На сегодняшний день, когда локальные вычислительные сети (ЛВС) являются определяющим компонентом в информационной стратегии большинства организаций, недостаточное внимание к оценке их производительности и планированию структуры приводит к необходимости полной или частичной реконфигурации. Производительность ЛВС определяется рядом факторов: выбором рабочих станций, сетевого оборудования, операционных систем рабочих станций, серверов и их конфигураций, распределением файлов базы данных по серверам сети, организацией распределенного вычислительного процесса, защиты, поддержания и восстановления работоспособности в ситуациях сбоев и отказов и т. п. Максимальные возможности корпоративной ЛВС для конкретных приложений (банковская, офисная, проектно-конструкторская, управленческая деятельность и др.) могут быть достигнуты только на основе комплексного подхода к оптимизации ЛВС на всех этапах её жизненного цикла (от технико-экономического обоснования и технического задания на разработку до эксплуатации и модернизации).
Для оценки качества функционирования и оптимизации ЛВС применяют аналитические (математические) и имитационные (программные) методы и модели экспериментального исследования [1].
Долгое время большой популярностью пользовались аналитические модели и методы исследования. Важное преимущество аналитических решений заключается в том, что они позволяют быстро и с минимальными затратами получить значения показателей качества в широком диапазоне изменения входных параметров модели. В то же время аналитические модели имеют ряд существенных недостатков:
· — значительные упрощения, свойственные большинству аналитических моделей (представление потоков заявок как простейших, предположение об экспоненциальном распределении длительностей обслуживания заявок, невозможность обслуживания заявок одновременно несколькими приборами). Подобные упрощения, а зачастую искусственное приспособление аналитических моделей с целью использования хорошо разработанного математического аппарата для исследования реальных ЛВС ставят иногда под сомнение результаты аналитического моделирования;
· — громоздкость вычислений для сложных моделей, например, использование для представления в модели процесса функционирования современной ЛВС по методу дифференциальных уравнений Колмогорова требует (для установившегося режима) решения сложной системы алгебраических уравнений;
· — сложность аналитического описания вычислительных процессов ЛВС. Большинство известных аналитических моделей можно рассматривать лишь как попытку подхода к описанию процессов функционирования ЛВС;
· — недостаточная развитость аналитического аппарата в ряде случаев не позволяет в аналитических моделях выбирать для исследования наиболее важные характеристики (показатели эффективности) ЛВС. Особенно большие затруднения при аналитическом моделировании связаны с учетом в процессах функционирования ЛВС программных средств операционных систем и другого общего ПО.
Указанные особенности позволяют заключить, что аналитические методы имеют самостоятельное значение лишь при исследовании процессов функционирования ЛВС в первом приближении, в частных, специфическихх задачах и на этапах оценочного моделирования. В этих случаях возможности исследования аналитических моделей ЛВС существенно расширяют приближенные методы, например, методы диффузионной аппроксимации, методы операционного анализа и аналитические сетевые модели.
В отличие от аналитического имитационное моделирование снимает большинство ограничений, связанных с возможностью отражения в моделях реального процесса функционирования исследуемой ЛВС, динамической взаимной обусловленности текущих и последующих событий, комплексной взаимосвязи между параметрами и показателями эффективности системы и т. п. Хотя имитационные модели во многих случаях более трудоемки, менее лаконичны, чем аналитические, они могут быть сколь угодно близки к моделируемой системе и просты в использовании.
Важное преимущество имитационных моделей заключается в том, что за счет усложнения ее можно сделать сколь угодно близкой к моделируемому объекту или даже достичь полного совпадения модели с объектом. Имитационные модели представляют собой описание объекта исследования на некотором языке, которое имитирует элементарные явления, составляющие функционирование исследуемой системы, с сохранением их логической структуры, последовательности протекания во времени, особенностей и состава информации о состоянии процесса. Можно отметить имеющуюся аналогию между исследованием процессов методом имитационного моделирования и экспериментальным исследованием.
Как уже было сказано, в отличие от аналитического имитационное моделирование снимает большинство ограничений, связанных с возможностью отражения в моделях реального процесса функционирования исследуемой ЛВС.
На сегодняшний день существуют два радикально противоположные мнения по вопросу имитационного моделирования. Первое заключается в том, что основными недостатками имитационного моделирования, несмотря на имеющиеся различные системы моделирования, считается сложность, высокая трудоемкость и стоимость разработки моделей, а иногда и большая ресурсоемкость моделей при реализации на ЭВМ. Согласно второму мнению имитационное моделирование является самым распространенным инструментом в руках ученого и инженера, что подтверждается данными обследования 1000 крупнейших фирм США , основные результаты которых приведены в таблице [4, 5].
Наиболее часто используемые методы моделирования, % | |
Имитационное моделирование | |
Линейное программирование | |
Сетевые методы | |
Теория управления | |
Нелинейное программирование | |
Динамическое программирование | |
Целочисленное программирование | |
Теория массового обслуживания | |
Прочие | |
Итого |
Успех или неудача построения и расчета характеристик имитационной модели во многом определяется выбором соответствующего инструмента. Обычно для решения задач подобного рода пользуются либо универсальными языками программирования (Pascal, C, FORTRAN), либо специализированными языками имитационного моделирования (GPSS, BOSS, Simscript). Известно что, у языков имитационного моделирования по сравнению с универсальными есть два важных преимущества, которые заключаются в удобстве программирования и концептуальной выразительности [6]. Последнее достоинство — возможность четко и ясно описывать различные понятия — важно на стадии моделирования и выбора общего подхода к изучению вычислительной сети. Однако подобное утверждение утратило свою актуальность после появления языков объектно-ориентированного программирования (C++, Object Pascal и др.). Качество и удобство программирования средствами объектно-ориентированных языков неоднократно было темой отдельных статей и книг [7], а поэтому не подлежит сомнению, что же касается концептуальной выразительности, то этот вопрос требует детального пояснения. Для моделирования ЛВС наиболее часто используются следующие типы систем массового обслуживания (СМО):
· — одноканальные СМО с ожиданием представляют собой один обслуживающий прибор с бесконечной очередью. Данные СМО являются наиболее распространенными при моделировании. С той или иной долей приближения с их помощью можно моделировать практически любой узел ЛВС;
· — одноканальные СМО с потерями представляют собой один обслуживающий прибор с конечным числом мест в очереди. Если число заявок превышает число мест в очереди, то лишние заявки теряются. Этот тип СМО может быть использован при моделировании каналов передачи в ЛВС;
· — многоканальные СМО с ожиданием представляют собой несколько параллельно работающих обслуживающих приборов с общей бесконечной очередью. Данный тип СМО часто используется при моделировании групп абонентских терминалов ЛВС, работающих в диалоговом режиме;
· — многоканальные СМО с потерями представляют собой несколько параллельно работающих обслуживающих приборов с общей очередью, число мест в которой ограничено. Эти СМО, как и одноканальные с потерями, часто используются для моделирования каналов связи в ЛВС;
· — одноканальные СМО с групповым поступлением заявок представляют собой один обслуживающий прибор с бесконечной очередью. Перед обслуживанием заявки группируются в пакеты по определенному правилу;
· — одноканальные СМО с групповым обслуживанием заявок представляют собой один обслуживающий прибор с бесконечной очередью. Заявки обслуживаются пакетами, составляемыми по определенному правилу. Последние два типа СМО могут использоваться для моделирования таких узлов ЛВС, как центры (узлы) коммутации.
Для реализации указанных типов СМО современные языки объектно-ориентированного программирования (ООП) поддерживают широкий спектр динамических структур данных с различными дисциплинами обслуживания, что снимает необходимость их кодирования. С другой стороны, используя такие возможности ООП как наследственность и полиморфизм, возможно создание структур, которые отсутствуют в системах имитационного моделирования. Заявки представляются в виде структуры, состав и тип полей которых зависят от моделируемого метода доступа к среде передачи и степени детализации процесса, если речь идет о моделировании вычислительных сетей.
Третий подход к проблеме исследования характеристик локальных вычислительных сетей является самым точным и объективным из уже рассмотренных — это метод экспериментальных исследований. Экспериментальные методы позволяют определять численные характеристики эффективности функционирования локальных вычислительных сетей для достижения следующих практических целей: анализа и модернизации имеющихся ЛВС и синтеза новой ЛВС.
Реализация экспериментальных методов требует наличия специализированного программно-аппаратного оборудования, позволяющего генерировать, регестрировать и обрабатывать сетевой трафик. К такому оборудованию относятся сетевые генераторы, мониторы и анализаторы. Генераторы позволяют создавать в сети любую, интересующую разработчика нагрузку. Мониторы и анализаторы контролируют и обрабатывают сетевой трафик, позволяя определить численные характеристики функционирования как отдельных компонент, так и сети в целом.
Эффективность экспериментальных методов в значительной степени зависит от качества планирования экспериментов и правильности выбора типа нагрузки. Эксперимент состоит из набора тестов, выполняемых в процессе исследований, а тест, в свою очередь, состоит из ряда сеансов или «прогонов». В течение сеанса или «прогона» накапливается информация о поведении системы и, возможно, рабочей нагрузке. Поскольку рабочая нагрузка меняется, число наблюдений, которое требуется получить для каждой интересующей администратора величины, должно быть таким, чтобы распределения и их моменты могли быть оценены с требуемой точностью. Таким образом, продолжительность сеанса зависит от необходимого числа наблюдений.
Эксперимент длительностью в один сеанс достаточен для оценки, если нужно рассмотреть только одну конфигурацию системы и один тип рабочей нагрузки. Например, если измерения производятся для того, чтобы выяснить, обеспечивает ли данная ЛВС при заданной рабочей нагрузке (трафике) удовлетворительную производительность, т. е. отвечает ли она определенным требованиям. Эксперименты длительностью в несколько сеансов необходимы при определении влияния определенных факторов на производительность системы или при оптимизации системы последовательными итерациями. Основной проблемой, возникающей при планировании этих экспериментов, является определение состава и требуемой точности регистрации измеряемых параметров.
Но несмотря на очевидную прозрачность и кажущуюся простоту экспериментальных методов, их основными недостатками являются: высокая трудоемкость и продолжительность экспериментов, обязательное наличие локальной вычислительной сети и потенциальная угроза производственному процессу при выполнении прогонов с экстремальной рабочей нагрузкой, способной парализовать работу отдельных узлов. Таким образом, аналитические методы используются, как правило, на этапах начального (оценочного) проектирования ЛВС, когда из множества сетевых технологий и сетевого оборудования необходимо выбрать оптимальное для построения сети.
Интуитивно понятный принцип организации моделей средствами языков ООП, на практике оказывается значительно продуктивнее концептуальной выразительности систем имитационного моделирования и намного точнее большинства аналитических методов. Возможности великолепной переносимости имитационных моделей, разработанных средствами языков ООП, и получения точных моделей практически любых вычислительных сетей позволяют сделать вывод о целесообразности использования имитационного моделирования в качестве наиболее подходящего средства точной оценки производительности локальных вычислительных сетей. Экспериментальные методы наиболее эффективны для задач, связанных с количественной оценкой производительности и контролем функционирования действующих локальных вычислительных сетей.