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

Глобальное имя в папке /dev/name/global появлялось только после установления подключения к серверу, т.е. gns-клиент не заносит в систему информацию о зарегистрированных глобальных именах, пока она не потребуется. Поэтому, проверка наличия сервера по имени в соответствующем каталоге не гарантирует верный результат.

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

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

в) Испытание работы программы с многими серверами

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

Если один из серверов работает на компьютере программы-клиента, то она подключается именно к этому серверу. Следовательно, алгоритм выбора сервера основан на минимизации времени обмена по сети.

Примеры Выводов по результатам исследования функционирования распределенного приложения

В исследовании была произведена разработка и исследование работы клиент-серверного приложения в локальном и распределённом вариантах средствами операционной системы QNX.

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

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

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

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