ISSN 0236-235X (P)
ISSN 2311-2735 (E)
4

09 Сентября 2024

Учебно-исследовательский программно-лабораторный комплекс NET_LAB


Решетняк В.Н. () - , Сидоренко В.Г. () - , Левин Б.И. () -
Ключевое слово:
Ключевое слово:


     

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

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

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

Программно-лабораторный комплекс (ПЛК) NET_LAB, разработанный в Таганрогском государственном радиотехническом университете на кафедре ВТ, предназначен для организации цикла следующих лабораторных работ по теме "Информационно-вычислительные сети":

- проектирование радиальной ГВС;

- проектирование древовидной ГВС;

- проектирование распределенной ГВС.

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

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

Рис.1.

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

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

Необходимые исходные данные для программы представляют собой список городов, в котором для каждого города указаны его название, широта и долгота. Использование внешней текстовой базы данных позволяет легко и быстро перенести область решения задач на иной уровень. Возможно использование поочередно нескольких баз данных. Таким образом, можно строить сети, например, в пределах Ростовской области, всей России или Европы (как в исходном варианте) или включить в базу данных любые города и регионы мира. Простейший синтаксический анализатор выбирает из строки три токена:

{Имя города}{широта}{долгота}.

Вместе с уникальным набором городов генерируется случайное число терминалов (Xmin

Расчет трех вариантов сетей выполняется в соответствии с нижеописанными алгоритмами.

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

В случае радиальных сетей интенсивность потока в канале соответствует потоку от данного города к центральному. Пример радиальной сети показан на рисунке 2.

Рис.2.

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

Рис.3.

Присоединенность всех городов к сети определяется также путем рекурсивного прохода по сети с отслеживанием всех пройденных каналов. Если непомеченных каналов не осталось, а искомый город не достигнут, то это свидетельствует о незамкнутости сети.

Для определения наличия колец в сети используется предыдущий алгоритм. Все каналы удаляются по очереди, после чего производится попытка определить замкнутость сети (наличие связи между двумя городами, которые соединял удаленный канал). Если связь существует, то сеть имеет кольцо.

Рис.4.

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

 

где: n - число городов в сети;

Na - число терминалов в городе а;

Nb - число терминалов в городе Ь; i - интенсивность потока от одного терминала.

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

Представление распределенной сети как множества древовидных сетей показано на рисунке 5.

                                               Рис.5.

*s *_■ *_ *_• f *• v_* a. > ■ • ■ ч_ * m *—■

...,

Select city

 

Select channel i

"";

Create path |

. .

Delete path

 

Go back

•:'*

Для контроля правильности выполнения работ ПЛК NET_LAB при генерации задания автоматически рассчитывает близкий к оптимальному вариант сети, общие параметры (но не структура) которого сообщаются проектировщику. Это позволяет проверить, насколько вариант, полученный в ходе работы, близок к оптимальному.

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

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

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

Просмотр оптимальных вариантов возможен в защищенном режиме после ввода пароля (привилегированный режим, предназначенный для преподавателя).

После входа в графическую часть пользователь видит перед собой основной экран работы, на котором имеются следующие окна (рис. 2, 3, 4): .

- Network map (топология сети, с которой он будет работать);

- Help window (постоянная подсказка, соответствующая выбранному пункту меню);

- Optimum (окно достижения оптимума);

- Menu (основное меню);

- Network status (окно параметров сети);

- Channel status (окно параметров канала);

- Student status (имя и группа студента);

- Terminal params (окно параметров терминалов).

 Окно "Menu" представляет собой основное меню сетевых операций, доступных пользователю:

- Set net center (установить центр сети);

- Create/delete (создать или удалить канал);

- Channel params (изменить пропускную способность канала);

- Select channel (выбрать канал);

- Edit paths (определить маршруты в распределенной сети);

- Exit (завершить работу);

- Help (помощь);

- Set colors (установить новые цвета).

В окне "Network status" отображаются основные параметры сети:

- money (стоимость оптимального варианта или сумма выделенных средств);

- op.del (средняя задержка сообщений в оптимальном варианте сети (сек.));

- cost (стоимость сети пользователя (доллар));

- delay (средняя задержка сообщений в сети (сек.));

- load (общая загрузка сети (бит/сек.));

- сарас, (общая пропускная способность сети (бит/сек.));

- traff. (суммарная интенсивность потока в сети (сообщ./сек.)).

В окне "Channel status" отображаются параметры выбранного канала:

названия соединяемых городов;

 - сарас. (пропускная способность канала (бит/сек.));

 - dist (длина канала (км.));

- delay (средняя задержка сообщений в канале (сек.));

- rent (стоимость канала);

- load (загрузка канала (бит/сек.)).

В окне "Terminal params" отображаются параметры терминалов:

- stream (интенсивность потока от одного терминала (сообщ./сек.));

- mes.len (средняя длина сообщения (бит)).

Окно "Optimum" показывает в форме шкалы "градусника" степень близости текущего рабочего варианта сети к оптимальному-

При входе в лабораторную работу "Проектирование радиальных ГВС" студент получает случайный вариант сети. Последовательно меняя центр сети и устанавливая необходимые пропускные способности, студент должен получить неперегруженную сеть (сообщение о перегрузке сети или ее неправильной конфигурации выводится в окнах "Optimum" и "Network status" на месте цены и задержки). Далее целенаправленным выбором пропускных способностей студент должен добиться такого соотношения пропускных способностей каналов, чтобы сеть как можно более приблизилась или достигла оптимального варианта.

Перебор каналов осуществляется опцией меню "Select channel". При достижении оптимального варианта сети выдается соответствующее сообщение, что можно наблюдать в окне "Optimum".

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

В любой момент студент может выйти из работы, используя опцию "Exit", при этом (по желанию студента) будет сохранено все текущее состояние работы.

Характер выполнения работы "Проектирование древовидных ГВС", при всей схожести с предыдущей, имеет некоторые отличия, связанные со свойствами древовидной сети.

При входе в программу студент получает набор городов, не связанных между собой, и сам, используя опцию "Create/delete channel", создает желаемую конфигурацию сети. В случае, если сеть окажется незамкнута или будет иметь петли, в окнах "Optimum" и "Network status" будет указано, что сеть имеет неправильную форму.

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

Работа с распределенными сетями строится по следующему принципу. Вначале пользователь создает необходимую конфигурацию сети, используя опцию "Create/delete channel"; при этом сеть, в отличие от предыдущих вариантов, может содержать любое число каналов, объединяющих любые города сети.

После этого студент использует опцию "Edit path", содержащую следующие подменю:

- Select city (выбрать город);

- Select channel (выбрать канал);

- Create path (создать маршрут);

- Delete path (удалить маршрут);

- Go back (вернуться в основное меню).

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

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

Опцией "Select city" студент выбирает город, для которого будет строиться маршрутная сеть (этот город обводится квадратом). Далее, перебирая каналы опцией "Select channel", студент включает их в маршрутную сеть опцией "Create path" или исключает их из нее опцией "Delete path".

Если хотя бы один маршрут является сетью неправильной формы, то в окнах "Optimum" и "Network status" выставляется флаг неправильной конфигурации.

Опцией "Go back" студент возвращается к работе с основным меню. После того как определены маршрутные сети всех городов, студент, используя опцию "Channel params", создает наиболее близкую к оптимальной конфигурацию сети.

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

При желании пользователь может изменить цвета всех объектов экрана, установив свою палитру (набор цветов). Для этого опцией "Set colors" пользователь выбирает объект, цвет которого необходимо изменить, и в следующем меню задает его новый цвет.

ПЛК NET_LAB реализован на языке Turbo С+ . Программа поддерживает различные типы видеоадаптеров: VGA, EGA, MDA, Hercules. Тип адаптера и тип монитора (COLOR/MONO) распознаются программой автоматически во время запуска. Кроме того, при необходимости можно принудительно указать черно-белую конфигурацию, запустив комплекс с опцией 'т' в командной строке. ПЛК также автоматически учитывает несоответствие экранных размеров по вертикали и горизонтали для разных типов видеоадаптеров.

ПЛК не использует аппаратно-зависимые функции ДОС, благодаря чему может быть использован на любых IBM-совместимых компьютерах. Программа автоматически распознает наличие в системе сопроцессора и изменяет свой код, заменяя вызовы функций обработки плавающей точки на коды соответствующих команд сопроцессора.

Комплекс успешно апробирован в Таганрогском государственном радиотехническом университете и Санкт-Петербургском государственном электротехническом университете (курсы "Вычислительные комплексы, системы и сети" и "Информационные системы" для студентов специальностей 22.01 - 22.04). ПЛК NET_LAB может быть использован вузами России для обеспечения технологий компьютерного обучения.



http://swsys.ru/index.php?id=1155&lang=%29&page=article


Perhaps, you might be interested in the following articles of similar topics: