Развитие сетевого моделирования путем создания факторовых сетевых моделей
Основные понятия и элементы, методика расчета временных параметров и критического пути сетевой модели проекта. Аналитическое и симуляционное моделирование. Применение нейрокомпьютеров для переработки информации в плохо формализуемых областях знаний.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | научная работа |
Язык | русский |
Дата добавления | 09.12.2012 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- эффект отклонения обычно снижается при увеличении размерности сети.
Для величины установлены предельные значения (границы допустимого риска). Из практики известно, что если Р>0,65, то проект спланирован с запасом, и даже с излишним, можно увеличить ; если Р< 0,35 - угроза срыва.
Пример расчета вероятностной сети методом PERT. Пусть задан следующий граф (рис. 6.24). Здесь около каждой работы проставлены как оценки и (через "точку с запятой"), так и рассчитанные (см. табл. 6.3) значения (выделены полужирным шрифтом).
Рис. 6.24. К примеру расчета СМ методом PERT
Порядок расчетов следующий.
1. Строится и заполняется вспомогательная таблица (табл. 6.3). При необходимости более подробных расчетов составляется полная расчетная таблица (табл. 6.2).
Таблица 6.3 Расчет СМ методом PERT
Работы |
Временные характеристики |
|||||
0 |
1 |
1 |
4 |
2,2 |
0,36 |
|
0 |
2 |
5 |
9 |
6,6 |
||
1 |
2 |
3 |
8 |
5,0 |
1,0 |
|
1 |
3 |
2 |
4 |
2,8 |
||
2 |
3 |
6 |
10 |
7,6 |
0,64 |
|
2 |
4 |
5 |
6 |
5,4 |
||
3 |
4 |
0 |
0 |
0 |
||
3 |
5 |
3 |
7 |
4,6 |
0,64 |
|
4 |
5 |
1 |
3 |
1,8 |
2.Определяются
например,
и т. д., и критический путь, отмечаемый в данном случае на СМ (рис. 6.24). Здесь
3.Вычисляются дисперсии длительностей работ на
Отсюда = 0,36 + 1,0 + 0,64 + 0,64 = 2,64, среднее квадратичное отклонение есть
4.Таким образом, функция распределения есть:
5.Далее могут быть определены
С вероятностью, равной 0,9974,
Вероятность выполнения работы в срокрассчитаем для двух случаев:= 20;= 17. Пусть= 20.
Замена переменной
приводит к центрированному нормальному распределению N(0, 1)
В табл. П 2.4 нет точного значения 0,37. Округлив до= 0,4, получим= 0,656.
Пусть=17, тогда
Из табл. П 2.4 видно, что соответствующее значение находится между 0,066 и 0,080, т. е. около 0,07, что весьма малая вероятность.
Глава 3. Сетевое моделирование
Ни один проект крупной сети со сложной топологией в настоящее время не обходится без исчерпывающего моделирования будущей сети (речь, разумеется, идет не о России). Программы, выполняющие эту задачу, достаточно сложны и дороги. Целью моделирования является определение оптимальной топологии, адекватный выбор сетевого оборудования, определение рабочих характеристик сети и возможных этапов будущего развития. Ведь сеть, слишком точно оптимизированная для решений задач текущего момента, может потребовать серьезных переделок в будущем. На модели можно опробовать влияние всплесков широковещательных запросов или реализовать режим коллапса (для Ethernet), что вряд ли кто-то может себе позволить в работающей сети. В процессе моделирования выясняются следующие параметры:
· Предельные пропускные способности различных фрагментов сети и зависимости потерь пакетов от загрузки отдельных станций и внешних каналов.
· Время отклика основных серверов в самых разных режимах, в том числе таких, которые в реальной сети крайне нежелательны.
· Влияние установки новых серверов на перераспределение информационных потоков (Proxy, Firewall и т.д.).
· Решение оптимизации топологии при возникновении узких мест в сети (размещение серверов, DNS, внешних шлюзов, организация опорных каналов и пр.).
· Выбор того или иного типа сетевого оборудования (например, 10BaseTX или 100BaseFX) или режима его работы (например, cut-through, store-and-forward для мостов и переключателей и т.д.).
· Выбор внутреннего протокола маршрутизации и его параметров (например, метрики).
· Определение предельно допустимого числа пользователей того или иного сервера.
· Оценка необходимой полосы пропускания внешнего канала для обеспечения требуемого уровня QOS.
· Оценка влияния мультимедийного трафика на работу локальной сети, например, при подготовке видеоконференций.
Перечисленные задачи предъявляют различные требования к программам. В одних случаях достаточно провести моделирование на физическом (MAC) уровне, в других нужен уже уровень транспортных протоколов (например, UDP и TCP), а для наиболее сложных задач нужно воспроизвести поведение прикладных программ. Все это должно учитываться при выборе или разработке моделирующей программы. Ведь нужно учесть, что ваша машина должна в той или иной мере воспроизвести действия всех машин в моделируемой сети. Таким образом, машина эта должна быть достаточно быстродействующей и, несмотря на это, моделирование одной секунды работы сети может занять при определенных условиях не один час.
3.1 Аналитическое моделирование
Определение характеристик сети до того, как она будет введена в эксплуатацию, имеет первостепенное значение. Это позволяет отрегулировать характеристики локальной сети на стадии проектирования. Решение этой проблемы возможно путем аналитического или статистического моделирования. Для реализации такого моделирования можно использовать общедоступные пакеты NS-2 или программа моделирования NS-2, или Macedon.
Аналитическая модель сети представляет собой совокупность математических соотношений, связывающих между собой входные и выходные характеристики сети. При выводе таких соотношений приходится пренебрегать какими-то малосущественными деталями или обстоятельствами.
Телекоммуникационная сеть при некотором упрощении может быть представлена в виде совокупности процессоров (узлов), соединенных каналами связи. Сообщение, пришедшее в узел, ждет некоторое время до того, как оно будет обработано. При этом может образоваться очередь таких сообщений, ожидающих обработки. Время передачи или полное время задержки сообщения d равно:
D = Tp + S + W,
где Tp, S и W, соответственно, время распространения, время обслуживания и время ожидания. Одной из задач аналитического моделирование является определение среднего значения D. При больших загрузках основной вклад дает ожидание обслуживания W. Для описания очередей в дальнейшем будет использована нотация Д. Дж. Кенделла:
A/B/C/K/m/z,
где А - процесс прибытия: В - процесс обслуживания; С - число серверов (узлов); К - максимальный размер очереди (по умолчанию - ); m - число клиентов (по умолчанию - ); z - схема работы буфера (по умолчанию FIFO). Буквы А и В представляют процессы прихода и обслуживания и обычно заменяются следующими буквами, характеризующими закон, соответствующий распределения событий.
D - постоянная вероятность;
M - марковское экспоненциальное распределение;
G - обобщенный закон распределения;
Ek - распределение Эрланга порядка k;
Hk - гиперэкспоненциальное распределение порядка k;
Наиболее распространенными схемами работы буферов являются FIFO (First-In-First-Out), LIFO (Last-In-First-Out) и FIRO (First-In-Random-Out). Например, запись M/M/2 означает очередь, для которой времена прихода и обслуживания имеют экспоненциальное распределение, имеется два сервера, длина очереди и число клиентов могут быть сколь угодно большими, а буфер работает по схеме FIFO. Среднее значение длины очереди Q при заданной средней входной частоте сообщений л и среднем времени ожидания W определяется на основе теоремы Литла (1961):
Для варианта очереди M/G/1 входной процесс характеризуется распределением Пуассона со скоростью поступления сообщений ?? Вероятность поступления k сообщений на вход за время t равно:
Пусть N - число клиентов в системе, Q - число клиентов в очереди и пусть вероятность того, что входящий клиент обнаружит j других клиентов, равна:
Пj = P[n=j], j=0,1,2,… ;
Тогда среднее время ожидания w:
(формула Поллажека-Хинчина)
? - среднеквадратичное отклонение для распределения времени обслуживания.
Для варианта очереди M/G/1 H(t) = P[X? t] = 1 - e-?t (H - функция распределения времени обслуживания). Откуда следует ?2 = ?2.
Для варианта очереди m/d/1 время обслуживания постоянно, а среднее время ожидания составляет:
Аналитическая модель для сетей Ethernet (CSMA-CD) разработана Лэмом (S.S. Lam: "A Carrier Sense Multiple Access Protocol for Local Networks," Computer Networks, vol. 4, n. 1, pp. 21-32, January 1980). Здесь предполагается, что сеть состоит из бесконечного числа станций, соединенных каналами с доменным доступом. То есть станция может начать передачу только в начале какого-то временного домена. Распределение сообщений подчиняется закону Пуассона с постоянной скоростью следования ?. Среднее значение времени ожидания для таких сетей составляет:
где е - основание натурального логарифма, ? - задержка распространения сигнала в сети. , соответственно первый и второй моменты распределения передачи или обслуживания сообщения. f(?) преобразование Лапласа для распределения времени передачи сообщения. Следовательно
,
а для сообщений постоянной длины f(?)=e-? , где . Для экспоненциального распределения длин сообщений:
, .
Рассмотрим вариант сети Ethernet на основе концентратора-переключателя с числом каналов N. При этом будет предполагаться, что сообщения на входе всех узлов имеют пуассоновское распределение со средней интенсивностью i, распределение сообщений по длине произвольно. Сообщения отправляются в том же порядке, в котором они прибыли. Трафик в сети предполагается симметричным. Очередь имеет модель M/G/1. Среднее время ожидания в этом случае равно:
,
где
,
, а G=1/(N-1) равно вероятности того, что сообщение отправителя i направлено получателю j. Требование стабильности ???1 требует, чтобы Для больших n это приводит к
Среднее время распространения сообщения в сети равно , где ? равно RTT.
3.2 Симуляционное моделирование
Симуляционное (статистическое) моделирование служит для анализа системы с целью выявления критических элементов сети. Этот тип моделирование используется также для предсказания будущих характеристик системы. Такое моделирование может осуществляться с использованием специализированных языков симулирования и требует априорного знания относительно статистических свойств системы в целом и составляющих ее элементов. Процесс моделирования включат в себя формирование модели, отладку моделирующей программы и проверку корректности выбранной модели. Последний этап обычно включает в себя сравнение расчетных результатов с экспериментальными данными, полученными для реальной сети.
При статистическом моделировании необходимо задать ряд временных характеристик, например:
Системное время |
Интервал от момента генерации сообщения до получения его адресатом, включая ожидание в очереди |
|
Время ожидания |
Промежуток от приема сообщения сетевым интерфейсом до обработки его процессором |
|
Время распространения |
Задержка передачи сообщения от одного сетевого интерфейса до другого |
|
Время передачи |
Задержка пересылки сообщения от одного процессора до другого |
Полный список таких временных характеристик включает в себя значительно больше величин.
В процессе моделирования рассчитываются следующие параметры:
- Статистика очередей
- Средняя длина очереди
- Пиковая длина очереди
- Среднеквадратичное отклонение длины очереди от среднего значения
- Статистика времени ожидания
- Среднее время ожидания
- Максимальное время ожидания
- Среднеквадратичное отклонение времени ожидания
- Статистика системного времени
- Среднее системное время
- Максимальное системное время
- Среднеквадратичное отклонение системного времени
- Полное число сообщений в статистике системного времени
- Пиковое значение числа системных сообщений
- Среднеквадратичное отклонение числа системных сообщений
- Статистика потерь сообщений
- Полное число потерянных сообщений
- Частота потери сообщений
- Доля потерь из-за переполнения очереди
- Доля потерь из-за таймаутов
Разумеется, реальный перечень вычисляемых параметров может быть существенно шире и определяется конкретными целями расчетов. Рассмотрим частную задачу определения среднего числа связей между процессорами (узлами). Предполагается, что полное число узлов равно N, а схема соединения узлов соответствует изображенной на рис. 3.1.
Рис. 3.1
Среднее расстояние от произвольного узла до всех остальных узлов равно D(N+1)/3, где D - расстояние между соседними узлами (предполагается константой).
Возможны разные подходы к моделированию. Классический подход заключается в воспроизведении событий в сети как можно точнее и поэтапное моделирование последствий этих событий. В реальной жизни события могут происходить одновременно в различных точках сети. По этой причине для моделирования идеально подошел бы многопроцессорный компьютер, где можно воспроизводить любое число процессов одновременно. В любом случае необходимо выбрать некоторый постоянный временной интервал и считать, что события произошли одновременно, если расстояние между ними меньше этого интервала. Для сетей типа ethernet таким временным интервалом может быть бит-тайм (для 10-мегагбитного ethernet это 100нс). Понятно, что это уже отступление от реальности (ведь задержки в сетевом кабеле не кратны этому времени), но не слишком значительное. Надо сказать, что такого рода предположений при моделировании приходится делать много. По этой причине крайне важно сравнивать результаты моделирования с данными, полученными для реальной сети. Если отличия лежат в пределах 10-20%, можно считать, что сделанные предположения не увели программу слишком далеко от жизни и ею можно пользоваться для расчетов. Рассмотренный выше подход пригоден для моделирования сетевого коллапса, так как скорость расчетов здесь зависит от числа узлов и почти не зависит от сетевой загрузки.
Другим подходом может стать метод, где для каждого логического сегмента (зоны столкновений) сначала моделируется очередь событий. При этом в каждой рабочей станции моделируется последовательность пакетов, ожидающих отправки. Эта очередь может время от времени модифицироваться, например, при получении ЭВМ пакета извне и необходимости послать на него отклик. После того как такая очередь для каждого сетевого объекта (сюда помимо ЭВМ входят мосты, переключатели и маршрутизаторы) построена, запускается программа отправки пакетов. При этом выбирается самый первый по времени пакет (ожидающий дольше других) и проверяются для него условия начала передачи (отсутствие несущей на входе сетевого интерфейса в данный момент и в течение 9,6 мксек до рассматриваемого момента - 96 тайм-битов). Если условия отправки выполнены, он "посылается" в сеть. Вычисляются моменты достижения им всех узлов данного логического сегмента, проверяются условия его столкновения с другими пакетами. Следует заметить, в этом подходе снимаются ограничения "дискретности" временной шкалы, использованной в предыдущем "классическом" подходе. Этот подход позволяет заметно ускорить расчеты при большом числе узлов, но малой загрузке сети. Проблемы реализации данной концепции моделирования связаны с обслуживанием довольно сложного списка, описывающего очередь пакетов, ожидающих отправки. В структуру этого списка включается и описание ситуации в сети на данный временной период. Дополнительные трудности сопряжены с поведением мостов, переключателей и маршрутизаторов, так как они могут вставлять в очередь дополнительные элементы, требующие немедленного обслуживания. Аналогичные вставки в очередь будут вызывать полученные станцией пакеты ICMP или TCP, требующие откликов. Причем такое вставление в очередь асинхронно по отношению к процедуре "отправки" пакетов. Очередь для всей локальной сети может быть единой, тогда пакеты разных логических сегментов должны быть помечены определенными флагами. При переходе из сегмента в сегмент флаг будет меняться. Возможно и построение независимых очередей для каждого из логических сетевых сегментов.
Такие режимы трудно реализовать на практике без нанесения серьезного ущерба клиентам сети. Результаты расчета представлены на рис. 3.2.
Рис. 3.2. Зависимость вероятности потери пакета в процентах от загрузки фрагмента сети
3.3 Моделирование сети с помощью процессов (тредов)
В рамках ядра Linux можно сформировать треды, воспроизводящие работу маршрутизаторов, переключателей, сервера или рабочих станций. При этом в такой виртуальной сети внутри ядра Linux можно организовать любые обмены, воспроизвести любой, в том числе нестандартный транспортный протокол, задать любой в уровень перегрузки каналов, любую схему организации очередей. Полоса канала может быть определена с помощью алгоритма маркерное ведро. Если мощности одной машины недостаточно, можно подключить еще одну или более машин, чтобы моделировать более сложную сеть. Привлекательность этого метода заключается в том, что треды работают точно та же как обычные сетевые устройства. В качестве же программ используются модифицированные модули сетевых демонов. К минусам метода можно отнести сложность программирования в рамках ядра Linux.
Целью моделирования является определение зависимости пропускной способности сети и вероятности потери пакета от загрузки, числа узлов в сети, длины пакета и размера области столкновений.
Исходные данные о структуре и параметрах сети берутся из базы данных. Ряд параметров сети задаются конфигурационным файлом (профайлом). Сюда могут записываться емкость буфера интерфейса и драйвера, время задержки обработки запроса (хотя в общем случае эта величина может также иметь распределение) и т.д. К таким параметрам относятся также: MTU, MSS, TTL, window, некоторые значения таймаутов и т.д.
Сеть разбивается на логические сегменты (зоны столкновений), в каждой из которых работает независимая синхронизация процессов (хотя эти процессы и влияют друг на друга через мосты, переключатели и маршрутизаторы).
Полное моделирование сети с учетом рабочих приложений предполагает использование следующих распределений:
· Распределение по проценту времени использования каждого из узлов для того или иного вида приложений.
· Распределение узлов сети по их активности.
· Распределение по используемым протоколам
· Распределение по длинам пакетов.
Последние два пункта существенным образом коррелированы с первым, так как используемые протоколы зависят от приложения, а активность узла может определяться, например длиной пересылаемого файла. По этой причине при полномасштабном моделировании сначала определяется, что собирается делать рабочая станция или сервер, (с учетом распределения по приложениям определяется характер задачи: FTP, MS explorer и т.д.). После этого разыгрываются параметры задания (длина файла, удаленность объекта и пр.), а уже на основе этого формируется фрагмент очереди пакетов.
Задача первого этапа: проверка пропускной способности при вариации загрузки и длин пакетов, подсчет числа столкновений, проверка влияния размера буфера сетевого интерфейса на пропускную способность (влияние размера буфера переключателей по пути до адресата).
Исходные данные для первого этапа:
· частота посылки пакетов для каждого из узлов (в начале равная для всех);
· длина пакета, посылаемого каждым узлом, (в начале равна для всех: минимальная [512 бит] и максимальная [12000 бит]);
· временное распределение моментов посылки пакетов (в начале равномерное);
Структура описания каждого из узлов включает в себя (формируется с учетом будущего расширения):
· Номер узла (идентификатор).
· Код типа узла (байт: рабочая станция, мост, переключатель, маршрутизатор, повторитель).
· mac-адрес (для повторителя =0).
· ip-адрес (для повторителя, обычного MAC-моста и переключателя =0).
· Байт статуса (узел ведет передачу; до узла дошел чужой пакет,….).
· среднее расстояние между концом предыдущего и началом очередного пакета в бит-тактах.
· Дисперсия ширины пакетов.
· Дисперсия значения (зазор между последовательными пакетами).
· Код используемого протокола (IPv4 или IPv6; TCP, UDP, ICMP и т.д.).
· Полная длина сообщения в байтах.
· Время обработки пакета (задержка посылки отклика в бит-тактах).
· Длина очередного пакета.
· Байт типа адресации (unicast, broadcast, multicast).
· Ширина окна (число отправляемых пакетов без подтверждения).
· Объем входного буфера (число пакетов; может измеряться и в байтах, но тогда нужны специальные указатели).
· Объем выходного буфера (число пакетов).
· Байт режима работы (для мостов и переключателей: cut-through; store-and-forward и т.д.; для рабочей станции определяется типом используемого протокола и фазой его реализации).
Формат описания топологии сети (список)
Элемент списка:
· Идентификатор узла (номер).
· Код типа узла.
· Список узлов соседей (номер_соседа: задержка_до_него).
Процесс посылки пакета включает в себя (в соответствии с требованиями документа IEEE 802.3):
1. Проверку возможности начала (отсутствует чужая активность, ipg=9,6 мксек).
2. Последовательную передачу битов (каждый бит-такт).
3. Контроль состояния столкновений (на протяжении времени, соответствующего диаметру столкновений сегмента сети).
4. Обработка случаев столкновения (посылка jam).
5. При столкновении вычисление номера бит-такта попытки возобновления передачи.
Попытка начала передачи предполагает проверку:
1. Осуществлялась ли передача на предыдущем бит-такте?
2. Контроль числа свободных от передачи бит-тактов (<96 ?).
Процесс приема предполагает:
1. Контроль окончания приема (бит-такт без данных в канале). Окончание приема может означать переход в режим анализа полученных данных.
2. Контроль наличия столкновения.
3. Необходимо предусмотреть возможность (в некоторых режимах) контроля адресов (mac и ip) и содержимого пакета и т.д. (включая изменение режима работы узла, например, переход от чтения к передаче). Данный пункт абсолютно необходим для мостов и переключателей.
Центральный менеджер осуществляет:
1. Регистрацию начала передачи любым из узлов (номер узла и номер бит-такта).
2. Расчет положения начала пакета к началу очередного бит-такта для всех возможных путей распространения.
3. Запись в байты статуса узлов.
Вариант 1 (равномерное распределение по времени)
Для каждого узла устанавливается определенная средняя частота посылки пакетов. Время посылки предполагается случайным. Средняя частота может быть задана равной для всех узлов. Так как минимальный размер пакета равен 64 байт (51.2 мксек=512 бит-тактов), максимальная частота посылки пакетов составляет ~19.5 кГц.
Минимальный средний период посылки пакетов определяется в бит-тактах и должен быть больше 512 бит-тактов. Понятно, что пока узел осуществляет передачу, он не может пытаться передать новый пакет (многозадачные, многопользовательские системы с несколькими сетевыми интерфейсами пока рассматривать не будем). По этой причине частота посылки пакетов однозначно определяется паузой между концом предыдущего пакета и началом нового (?). Среднее значение периода посылки пакетов равно Тпакета+96(бит-тактов)+? (значение ? величина статистическая). Для каждого узла задается значение ? (сначала равное для всех узлов). Если предположить равномерное распределение вероятности (передача пакета может начаться в любой бит-такт с равной вероятностью).
При определении того, пытаться ли начинать передачу в данный бит-такт будет проверка условия:
rndm<1/? (выполнение условия предполагает попытку начала передачи).
Если вероятность прихода n пакетов на время t распределена по закону Пуассона:
,
где L - средняя частота следования событий, то реальное время между событиями ? может быть определено как ?????T ln(R). R - случайное число 0? R ? 1, а T = 1/L.
Результатами моделирования могут являться (фиксируются отдельно для каждого набора входных параметров):
1. Вероятность потери пакета для логического сегмента и каждой из рабочих станций.
2. Пропускная способность серверов для каждого из логических сегментов (путь сервер -> логический сегмент)
3. Вероятность столкновения для каждого логического сегмента и каждой рабочей станции.
4. Распределение потоков по логическим сегментам (и рабочим станциям) независимо для каждого направления (вход и выход).
5. Распределение потоков для всех входов/выходов переключателей мостов и маршрутизаторов.
6. Доля вспомогательного трафика (ICMP, SNMP, отклики TCP, широковещательные запросы и т.д.) по отношению к информационному потоку для различных узлов сети (серверов, маршрутизаторов)
7. Уровень широковещательного трафика для каждого из логических сегментов
3.4 Сетевые технологии на основе сетевого формализма в глобальной сети Internet
Ниже рассматривается инструментальное средство построения РВС на основе глобальной сети Internet, а также вопросы, связанные с выбором средств его реализации и методологии разработки сетевых спецификаций на его основе. Данное инструментальное средство носит название среды СТФ-ИНТЕРНЕТ (Сетевые Технологии на основе сетевого Формализма в глобальной сети ИНТЕРНЕТ). Входным языком СТФ-ИНТЕРНЕТ является язык сетевых моделей. В качестве прототипа СТФ-ИНТЕРНЕТ выбрана система СИМС-М, в которой сетевая технология "заложена" на платформе локальной сети Ethernet. В этой системе в качестве протокола межузлового обмена используется протокол IPX, в качестве интерфейса прикладной программы (API) - библиотека Netware C Interface for Dos, а основной язык реализации системы - Borland C++.
Обмен данными между СТФ-узлами основан на семействе протоколов TCP/IP. Семейство TCP/IP состоит из нескольких протоколов, например, IP, ICMP, TCP и UPD. Интерфейс прикладной программы для сетей TCP/IP - это интерфейс сокетов (Беркли). Сокет можно рассматривать как конечный пункт передачи данных по сети. Для прикладных программ он является абстракцией, представляющей одно из окончаний сетевого соединения. Связь между сокетами может быть ориентирована на соединение. Когда одна программа желает установить связь с другой, программа-передатчик отдает свою информацию сокету, а интерфейс сокетов в свою очередь передает ее дальше стеку сетевых протоколов TCP/IP. Перед этим программа должна создать сокет, вызвав системную функцию socket, а затем сконфигурировать его, пользуясь функциями, также входящими в интерфейс сокетов. Интерфейс функции socket определяется как socket (protocol_family, socket_type, protocol), где первый параметр задает семейство, к которому принадлежит протокол, например, семейство TCP/IP; второй параметр (тип сокета) задает режим соединения: датаграммный или ориентированный на поток байтов; параметр protocol определяет протокол, с которым будет работать сокет, например, TCP.
Доступ к протоколам TCP/IP в среде Windows можно получить из языков C, C++ и Visual Basic через интерфейс сокетов Windows. Сокеты Windows (часто называемые Winsock) - это интерфейс прикладного программирования, разработанный на основе сокетов Беркли. Winsock предназначен исключительно для семейства Windows, включающего Microsoft Windows, Windows NT, Windows 95 и т.д. Интерфейс сокетов Windows не входит в состав Windows, а реализован в виде динамически загружаемой библиотеки (DLL).
3.5 Нейрокомпьютинг в Internet: от World Wide Web к "World Wide Brain"
Нейрокомпьютер (НК) в общем случае представляет собой аппаратную либо программно-аппаратную реализацию многоуровневой, адаптивной, обучающейся сети из нейроподобных элементов (НЭ), связи между которыми частично предопределены и фиксированы, а частично перестраиваются в процессе решения задачи. В настоящее время НК считаются весьма эффективным средством обработки информации. Хотя каждый НЭ представляет собой лишь простейший преобразующий элемент, коллективные свойства искусственной нейронной сети (НС), содержащей большое число НЭ, уже не являются тривиальными. Искусственная НС является принципиально параллельной структурой; в ней естественным образом реализуется принцип потока данных.
В настоящее время сформированы две ветви исследований в области построения нейрокомпьютеров и искусственных нейронных сетей [121]. Первая ветвь, называемая нейробиологической, основана на моделировании работы живого мозга, исследовании нервных клеток мозга человека и животных. Вторая ветвь связана с решением задач переработки информации в различных областях знаний, особенно в плохо формализуемых, в случаях, когда существующие модели субъективно неадекватны. Анализ работ показывает, что наиболее значительные результаты в использовании искусственных НС достигнуты при распознавании образов, построении ассоциативной памяти, создании экспертных самообучающихся систем, решении вычислительных задач и решении оптимизационных задач большой размерности. Среди последних - задачи комбинаторной оптимизации, в том числе задача коммивояжера, задача о назначениях с различными ограничениями, задача о концентраторе терминалов и др. Особенно важным является то, что указанные задачи сложны в вычислительном отношении (большинство из них - NP-полные), а нейросетевые методы обеспечивают решение за полиномиальное время, допуская к тому же аппаратную реализацию в НК с высокой степенью параллелизма. Обычно считается, что при разработке нейросетевых методов решения задач второй ветви не обязательно добиваться строгого соблюдения биологического правдоподобия, хотя сложившаяся терминология в основном заимствована из нейробиологии. В обзоре считается, что основными являются только три принципиально различных типа сетей, соответствующих трем известным методам обучения: самоорганизации, последовательному подкреплению знаний и обучению с учителем. Распространенные НС состоят из НЭ, характерных для сетей трех основных типов: карт Кохонена, сетей Хопфилда и сетей прямого распространения (персептронов). Следую работе, отметим, что первой попыткой создания нейроинтеллекта считается работа У.С. Мак-Каллока и В. Питса (1943), в которой были введены понятия формального нейрона с двумя устойчивыми состояниями и сети нейронов, а также было показано, что с помощью систем из пороговых нейронных элементов можно реализовать исчисление любых логических функций. В работе автор прослеживает два взаимодополняющих направления в области создания нейрокомпьютеров: поиск новых нейропарадигм на основе биологических прототипов и разработка технологий решения прикладных задач на базе известных парадигм. Указано, что два фактора - парадигма и технология - определяют области применения нейрокомпьютеров. Совершенствование технологий с использованием классических нейропарадигм Хопфилда, Кохонена, Фукушимы и других приведет к более эффективной реализации функций НК. Описывается процесс разработки нового программного комплекса - нейроимитатора, являющегося инструментом для нейробионических исследований и создания новых парадигм. Нейроимитатор - это программный продукт для имитационного моделирования нейронных структур мозга. Автор работы справедливо указывает на то, что создание нейрокомпьютерных рабочих станций будет в ближайшее время определяющим для успешного развития и применения нейрокомпьютеров.
Понятие искусственного нейрона и объединение нейронов в нейронные сети достаточно подробно представлены в доступной литературе, например, в издающемся в России с 1992 г. Журнале "Нейрокомпьютер", в тематических выпусках "Методы анализа и синтеза нейронных сетей" журнала "Известия вузов и приборостроение" и многих других работах (см., например, конспект лекций М.А. Щербакова "Искусственные нейронные сети." - Пенза: Издательство Пензенского государственного технического университета, 1996.). Далее будем в основном рассматривать такие работы, итоговыми результатами которых можно воспользоваться при организации искусственных нейронных сетей в сети Internet с использованием распространенных Internet - технологий (WWW, HTML, Java, Winsock). С позиций реализуемости на программной и аппаратной платформах сетей Internet/Ethernet значительный интерес представляют программные комплексы, описанные, например, в работах. В числе проблем, которые необходимо решать при "вложении" искусственной нейроподобной сети в операционную среду глобальной или локальной сети, - проблемы модульности и иерархической структуризации НС. Отметим, что похожая проблема уже решалась для сетей Петри в рамках сетевых технологий СИМС, СИМС-М, СИМС-ГРАФ, SPOL, СТФ-ИНТЕРНЕТ и РО-1(2), что позволяет надеяться на преемственность методов. Модульные структуры и алгоритмы обучения нейроподобных сетей с различной архитектурой представлены, например, в работах.
Использование объектно-ориентированного проектирования на базе инструментальных средств, применяемых в Internet, в частности Java, J++, JBuilder, ActiveX и других, позволит обеспечить максимальную гибкость моделирующей среды. Например, следует учесть, что классы Java [107, 108] можно легко пересылать по сети, поскольку при работе с файловой системой и с сетевыми потоками используется один и тот же интерфейс. Распределенные программы, реализующие нейроподобные сети в глобальной сети Internet, можно совершенствовать, не нарушая их работоспособности. Базовые протоколы для работы в Internet инкапсулированы в несколько простых классов [107]. В данные классы включены как реализации (с возможностью расширения) протоколов ftp, http, nntp, cmtp, так и интерфейсы более низкого уровня для работы с сокетами. Возможности объектно-ориентированной среды для исследования нейроподобных сетей, например, рассмотренной в работе [134], при ее реализации в среде Java могли бы существенно возрасти. Богатая объектная Java-среда позволяет создавать Java-объекты, эффективно взаимодействующие через глобальную сеть. Набор классов можно расширять по мере необходимости, включая в ее состав и созданные ранее базовые классы для реализации нейроподобных сетей. В получаемой распределенной по различным серверам сети Internet "виртуальной" нейросети возможно, используя инкапсулированные в несколько простых классов базовые TCP/IP-протоколы для работы в Internet, производить инициализацию синаптических коэффициентов, установку порога нейрона, задание функции активации, передачу синаптических коэффициентов (методы класса GNeuron [134]). Передавая класс GnrCollection в заданные серверы глобальной сети, можно инициировать неоднородный слой нейронов и с помощью методов данного класса производить в "виртуальной" нейросети добавление нейрона в коллекцию, вставку нейрона в указанное место, исключение нейрона. Объектно-ориентированная Java-среда позволила бы передавать между серверами и другие классы, подобные перечисленным в работе [134], реализуя при этом модели конкретных нейроподобных сетей. Среда Java, позволяющая создавать сетевую объектно-ориентированную многопотоковую систему, может эффективно использоваться для реализации нейроподобных вычислительных структур, при этом синаптические связи определяются архитектурой нейросети и реализуются как классы Java аналогично базовым протоколам ТСР/IP.
Нейроподобные сети эффективно реализуются на параллельных ЭВМ и устройствах различных классов. Многие методы организации взаимодействия фрагментов (модулей) нейроноподобных сетей при решении задач на параллельных ЭВМ могут быть использованы и при реализации нейроподобных вычислительных структур на платформах локальных и глобальных сетей.
Новая нейропарадигма - семантическая нейросеть - представлена в работе. С её помощью произведено имитационное моделирование процессов обработки информации и нейродинамических функций памяти. Процедуры вывода в семантической нейросети построены на использовании логики предикатов первого порядка.
Технологии, описанные здесь, базируются на сетевом формализме, берущим своё начало от сетей Петри. Различные модификации сетей Петри используются и при описании функционирования искусственных нейронных сетей. Например, в работе разработан базовый метод управления системами с помощью модели головного мозга, основанной на сети Петри. В работе предложена новая модель сетей Петри, основанная на использовании логических нейронов (нечеткая логика). Вопросы использования нейроподобных сетей Петри в задачах логического и интеллектуального управления рассмотрены в работе. Более детально рассмотрим нейроподобные сети Петри, описанные в работе и представим пример нейроподобной сети из данной работы в виде образа Web-страницы в сети Internet с текстовым описанием сетевой модели на входном языке системы СИМС. Нейросети Петри, предлагаемые в работе, соответствуют нейробиологической ветви исследований в данной области.
В модели нейроподобной сети метка представляет постсинаптический потенциал. Поскольку постсинаптический потенциал (ПСП) может быть тормозящим или возбуждающим, метки разделены на два класса. Возбуждающему ПСП (положительный потенциал) соответствует цвет c1, тормозящему - цвет c2. Таким образом, каждая метка нейронной СП раскрашена в свой цвет. Каждой метке в сети соответствует потенциал q (в СП он также интерпретируется как "время жизни метки").При появлении метки в позиции ей присваивается потенциал q; по истечении каждой единицы модельного времени величина q уменьшается на единицу. Это уменьшение демонстрирует ослабление ПСП после начального стимулирования нейрона. Цвет метки определяется цветом выходной дуги перехода, по которой она перемещается в выходную позицию. Тело нейрона соответствует позиции; таким образом, множество позиций P соответствует множеству нейронов. Каждый нейрон обладает своим собственным мембранным потенциалом; в нейронной СП мембранный потенциал представлен переходом.
Каждый переход может иметь только одну входную позицию. Выходные дуги, связывающие переходы с выходными позициями, задают аксоны нейрона, представленного входной позицией перехода. Для отражения того факта, что аксон передает возбуждающий или тормозящий ПСП на синапс, выходной дуге перехода присвоен цвет, указывающий на то, с каким потенциалом (положительным - цвет c1 или с отрицательным - цвет c2) метка будет передана в выходную позицию. Каждый переход может иметь множество выходных позиций.
Используя современные Internet-технологии, в частности, объектно-ориентированное проектирование в среде Java или СТФ-ИНТЕРНЕТ, можно построить эффективные многосерверные реализации нейроподобных сетей различных классов, пригодные как для учебных целей, так и для проведения экспериментов. Нейросерверы могут быть построены на основе плат ускорителей нейровычислений на процессорах TMS320C40. Каждая плата содержит 5 Мбайт быстрой памяти, средства комплексирования и обеспечивает быстродействие 1100 MOPS и 200FLOPS. Проектирование и изготовление аппаратуры, поддерживающей нейросетевые алгоритмы, может быть выполнена с использованием, например, САПР фирмы "CADENCE Design Systems Inc. САПР CADENCE установлена на работающих в сети станциях SPARCStation фирмы "Sun Microsystems Inc." Станции работают под управлением ОС UNIX. Отметим, что фирма Sun Microsystems в настоящем времени готовит к выпуску крупный UNIX -сервер - 64-процессорный суперкомпьютер, разработанный на базе уже имеющихся и новых процессоров UltraSPARC с системой внешней памяти.
В настоящее время известно немало разработок в области нейрокомпьютинга, имеющих коммерческое значение. Например, даны сведения об оптико-электронных сопроцессорах, пригодных к коммерческому использованию. Построение данных сопроцессоров основано на нейроподобной сети Хопфилда из трех слоев.
3.6 Обзорная классификация и тенденции развития сетевого моделирования
Данный обзор позволяет выделить следующую обзорную классификацию. Она подразделяется по следующим признакам:
1) по целям (одноцелевые и многоцелевые модели);
2) по изменению во времени (стохастические и детерминированные модели);
3) динамика по целям и ресурсам (динамические модели по целям и ресурсам);
4) адаптивность (адаптивные модели к внешним и внутренним условиям);
5) вероятность наступления события (вероятностные сетевые модели);
6) рискованность моделей (модели, учитывающие риски - симуляционное (статистическое) моделирование);
7) построение сетевых технологий на основе локальных и глобальных сетей (создание локальных и глобальных моделей);
8) адаптивность, многоуровневость и обучаемость (создание программно-аппаратную реализацию многоуровневой, адаптивной, обучающейся сети из нейроподобных элементов);
9) расположение в пространстве (пространственные модели и двухмерные модели).
Новым направлением исследования в данной области является изучение и создание модели в комплексе, то есть это многоцелевая, стохастическая, динамическая по целям и ресурсам, адаптивная к внешним и внутренним условиям, многоуровневая, обучаемая, пространственная, вероятностная сетевая модель. Она лежит в основе создания искусственного интеллекта, прообраза человека будущего. Также новое направление в исследование моделей это применение таких категорий как неопределенность, влияние на модель микро- и макроокружения, влияние временного фактора предшествующих этапов работ в модели, влияние общемирового климата на создание и развитие моделей.
Таким образом, модель это не просто набор кружочков и стрелочек, а гораздо более сложная, многоуровневая, динамичная, адаптивная, многоцелевая, обучаемая система. Изучение дальнейших тенденций развития сетевого моделирования позволит объяснить многие процессы в сетевом проектировании. Например, влияние мирового кризиса на модель развития российской экономики. Или влияние микро- и макроокружения на модель развития фирмы.
Заключение
В ходе выполнения данной работы достигнута главная цель научной работы, заключающаяся в изучении развития сетевого моделирования путем создания факторовых сетевых моделей. Для достижения данной цели решены следующие задачи:
1) изучены теоретические основы проектного управления;
2) изучены понятие модели и ее классификация;
3) изучено сетевое моделирование;
4) разработана сетевая технология проектирования на платформе локальных сетей типа Ethernet и глобальной сети Internet;
5) разработаны сетевые модели как формализм представления знаний и параллельного дедуктивного вывода в сетях Internet и Ethernet.
Главный результат нашей работы: определение путей совершенствования развития сетевых технологий и моделей на платформе локальных сетей типа Ethernet и глобальной сети Internet и влияние окружения и неопределенности на создание и развитие моделей.
Сетевые модели могут использоваться как формализм представления знаний и средство описания параллельного дедуктивного вывода в локальных и глобальных вычислительных сетях, например, в Ethernet и Internet соответственно. Преимущества сетевых моделей в данной области перед другими моделями обусловливаются их свойствами, определенными в начале данного введения.
В случае использования самомодифицирующихся сетевых моделей с изменяемой структурой возможно описание обучающихся и адаптивных систем искусственного интеллекта. Известны нейронные СП, позволяющие описывать управляющие процессы и процессы обработки информации на нейронном уровне.
Нейрокомпьютер (НК) в общем случае представляет собой аппаратную либо программно-аппаратную реализацию многоуровневой, адаптивной, обучающейся сети из нейроподобных элементов (НЭ), связи между которыми частично предопределены и фиксированы, а частично перестраиваются в процессе решения задачи. В настоящее время НК считаются весьма эффективным средством обработки информации. Хотя каждый НЭ представляет собой лишь простейший преобразующий элемент, коллективные свойства искусственной нейронной сети (НС), содержащей большое число НЭ, уже не являются тривиальными. Искусственная НС является принципиально параллельной структурой; в ней естественным образом реализуется принцип потока данных.
Используя современные Internet-технологии, в частности, объектно-ориентированное проектирование в среде Java или СТФ-ИНТЕРНЕТ, можно построить эффективные многосерверные реализации нейроподобных сетей различных классов, пригодные как для учебных целей, так и для проведения экспериментов.
Список используемой литературы
1. Александров В.В., Шнейдеров В.С. Рисунок, чертеж, картина на ЭВМ - СПб: Машиностроение,2007.
2. Батороев К.Б. Кибернетика и метод аналогий - М.: Высшая школа,2006.
3. Башмаков А.И., Башмаков И.А. "Разработка компьютерных учебников и обучающих систем" - М.: Информационно-издательский дом "Филинъ", 2005. - 616 с.
4.Бир С. Кибернетика и управление производством - М.: Наука, 2007.
5. Бухарев Р.Г. Вероятностные автоматы и процессоры. - М: Знание, Математика и киберненика,2006.
6. Вольтерра В. Математическая теория борьбы за существование. М., Наука,2006.
7. Гисин В.Б. Элементы компьютерного моделирования. Пилотные школы. ПМК. N4. КУДИЦ. - М:2008.
8. Горстко А.Б. Познакомьтесь с математическим моделированием. М., Знание,2007.
9. Гулд Х., Тобочник Я. Компьютерное моделирование в физике. М., Мир,2006.
10. Лебедев А.Н. Моделирование в научно-технических исследованиях. - М: Радио и связь, 2005.
11. Липатов Е.П. Теория графов и ее применения. - М: Знание, Математика и кибернетика,2006.
12. Марусева И.В. Компьютерные игры (элементы теории) - СПб: Образование, РГПУ им. Герцена,2007.
13. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика: Учебное пособие для студентов пед. вузов/ под ред. Е.К. Хеннера.-М.:ACADEMIA,2008.
14. Овсянников В.И. Вопросы организации обучения без отрыва от основной деятельности (дистанционное образование). - М.: МГОПУ,2007. - 50 с.
15. Пак Н.И. "Нелинейные технологии обучения в условиях информатизации": Монография. - Красноярск: РИО КГПУ, 2005. - 224 с.
16. Пак Н.И. Использование технологии компьютерного моделирования в образовании. - М: Педагогическая информатика, 2006.
17. Пак Н.И. Компьютерное моделирование в примерах и задачах. Красноярск,2007.
18. Пак Н.И., Рогов В.В. Графика в Турбо-паскале 5.5. - Красноярск: КГПИ, 2005.
19. Пак Н.И., Рогов В.В. Практика работы на Турбо-паскале. - Красноярск: КГПИ, 2008.
20. Панюкова С.В. Информационные и коммуникационные технологии в личностно-ориентированном обучении. - М.: Ин-т информатизации РАО, 2007.
21. Савин Г.И. Системное моделирование сложных процессов. М., Фазис, 2005.
22. Садовский А.П. Математические модели и дифференциальные уравнения. - Минск,2007.
23. Советов Б.Я., Яковлев С.А. Моделирование систем. Практикум. - М.: Высшая школа,2008 г.
24. Шарыгин И.Ф., Ерганжиева Л.Н. Наглядная геометрия. - М: Мирос, КПУ "Марта",2007.
25. Шварц М. Сети связи: Протоколы, моделирование и анализ. - М.: Наука, 2008г.
26. Шеннон Р. Имитационное моделирование систем - искусство и наука. М., Мир,2007.
27. Шикин Е.В., Боресков А.В., Зайцев А.А. Начала компьютерной графики - М: Диалог-МИФИ,2005.
28. Шрайбер Т.Дж. Моделирование на GPSS.- М.: Машиностроение,2007.
Размещено на Allbest.ru
...Подобные документы
Разработка системы расчета характеристик разомкнутых экспоненциальных сетевых моделей, выполняющая имитационное моделирование заданной сетевой модели. Построение модели на языке GPSS, анализ эффективности аналитической модели, выполняющей роль эталона.
курсовая работа [483,6 K], добавлен 01.12.2010Нейрокомпьютер как система. История его создания и совершенствования, разновидности и назначение нейрочипов. Методика разработки алгоритмов и схем аналоговых нейрокомпьютеров для выполнения разных задач обработки изображений, порядок их моделирования.
дипломная работа [462,3 K], добавлен 04.06.2009Понятие сетевого графика как динамической модели производственного процесса. Базовые правила составления сетевого графика, расчет его параметров. Разработка алгоритма программного проекта. Использование объектно-ориентированных сред программирования.
курсовая работа [847,7 K], добавлен 21.01.2016Три типа задач из области информационного моделирования. Элементы системного анализа, его уровни и содержание. Табличные информационные модели, их использование. Информационное моделирование и электронные таблицы. Моделирование знаний в курсе информатики.
презентация [227,2 K], добавлен 19.10.2014Ограничения двухмерного проектирования. Трехмерное моделирование и его преимущества. Назначение, особенности и элементы интерфейса системы КОМПАС-3D. Основные методы создания твердотельных параметрических моделей. Построение 3D-модели детали "упор".
методичка [673,3 K], добавлен 25.06.2013Формализация как важнейший этап моделирования. Методы описания и свойства моделей. Адекватность проекта целям моделирования. Основные принципы и значение формализации. Исследование на компьютере информационных моделей из различных предметных областей.
презентация [1,2 M], добавлен 24.01.2011Значение вербальных и знаковых информационных моделей для исследования объектов, процессов, явлений. Роль метода формализации в процессе создания компьютерной модели. Использование программы AutoCAD для трехмерного моделирования и визуализации объекта.
курсовая работа [866,5 K], добавлен 08.01.2015Способ моделирования сетевого трафика случайным точечным процессом. Ступени разработки моделей процессов в сети. Определение статистик числа отсчетов на интервалах. Принятое в теории фрактальных процессов обозначение интенсивности точечного процесса.
контрольная работа [5,6 M], добавлен 14.12.2015Основные понятия моделирования, виды моделей. Программа моделирования электрических и электронных цепей PSpice. Язык описания заданий на моделирование. Программа Probe и ее основные характеристики. Моделирование электромеханических преобразователей.
статья [522,6 K], добавлен 20.07.2012Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.
реферат [1,2 M], добавлен 02.05.2012Расчет табличным способом параметров сетевого графика: время раннего и позднего начала и окончания работ, полный и частный (свободный) резерв работ. Определение траектории и длины критического пути. Описание метода решения задачи на математическом языке.
курсовая работа [710,6 K], добавлен 18.05.2013Сущность принципов информационной достаточности, осуществимости, множественности моделей, параметризации и агрегирования. Построение концептуальной модели. Сравнение размеров программного кода. Особенности технологии компьютерного моделирования.
презентация [49,3 K], добавлен 16.10.2013Программное средство системного моделирования. Структурная схема модели системы, временная диаграмма и ее описание. Сравнение результатов имитационного моделирования и аналитического расчета характеристик. Описание машинной программы решения задачи.
курсовая работа [146,5 K], добавлен 28.06.2011Сущность, значение и методика проведения моделирования бизнес-процессов. История развития методологий моделирования. Систематизация знаний о компании и ее бизнес-процессах в наглядной графической форме для аналитической обработки полученной информации.
реферат [409,3 K], добавлен 29.04.2009Изучение применения трёхмерного моделирования и анимации при создании статической рекламы, динамических заставок для телеканалов, моделирования катастроф, в компьютерных играх. Характеристика создания моделей с помощью модификаторов Edit Poly, Edit Mesh.
практическая работа [4,0 M], добавлен 29.09.2011Обзор области генерации сетевого трафика. Описание выбранных методов, моделей, алгоритмов решения задач. Создание модели поведения пользователя, распределение количества посещённых страниц сайта. Выбор средств реализации программного продукта (проекта).
курсовая работа [1,3 M], добавлен 30.06.2017Разработка проекта с помощью встроенных средств языка C#, на базе сетевого стека и сетевых функций Windows. Специфика создания удобного интерфейса программы с использованием Windows Forms, которая способна пересылать данные на удалённый компьютер.
курсовая работа [162,6 K], добавлен 16.06.2013Основные понятия: модель, моделирование, виды моделей. Пути и способы изучения темы "Моделирование и формализация" в курсе информатики в 8 классе. Создание табличной информационной модели. Понятие информационной модели, системы и структуры системы.
методичка [1,8 M], добавлен 30.05.2013Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010