Разработка и исследование распределенного клиент-серверного приложения для задач управления на примере метода среднезначной интерполяции Лагранжа, страница 3

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


Рис. 4. Временная диаграмма работы потоков при при Nисх=20 и Nинт=100

Рис. 5. Результаты интерполяции при Nисх=20 и Nинт=100

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

Рис. 6. Временная диаграмма работы потоков при  Nисх=50 и Nинт=500


Реализация распределённого клиент-серверного приложения

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

Один из вариантов организации обмена в таком случае является использование службы глобальных имен:

- в функциях name_attach и name_open необходимо установить флаг NAME_FLAG_ATTACH_GLOBAL,

- для передачи глобальных имён между элементами вычислительной сети используется утилита gns (Global Name Service), которая по-умолчанию в QNX отключена, и функция name_attach() может возвращать ошибку.

Использование механизма gns требует, чтобы хотя бы одна машина в Qnet-сети функционировала в серверном режиме (gns -s). При этом, на машине создаётся папка /dev/name/gns_server, по которой данный сервер можно определить. На остальных машинах утилита запускается в клиентском режиме (gns -c). После этого клиент регистрируется у сервера, и производит через него регистрацию своих глобальных имён и подключение к именованным каналам на других машинах в сети. Пример организации обмена приведён на рис.7.

Рис. 7. Пример использования глобальных имён посредством gns

Испытания

Испытания производились на клиент-серверном приложении интерполяции, в котором были модифицированы функции name_attach() и name_open(). а) Испытание работы приложения с одним клиентом

Описание испытаний в лаборатории системного и программного обеспечения на реальном сетевом оборудовании и компьютерах. Сервер interpolation_server был установлен на компьютер с именем SPOcomp4, а interpolation_client- на SPOcomp8. Результаты испытаний при различных случаях приведены ниже:

Исследование влияния настроек gns. Табл. 2

Настройка gns на различных машинах

Состояние

канала сервера

Состояние связи

SPOcomp4

SPOcomp8

отключен

отключен

Не создан

Отсутствует

сервер

отключен

Создан

Отсутствует

клиент

отключен

Создан

Отсутствует

сервер

клиент

Создан

Установлена

клиент

сервер

Создан

Установлена

сервер

сервер

Создан

Установлена

клиент

клиент

Создан

Отсутствует

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