Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка_ПСП_Градиентный спуск C# Клиент-Сервер.docx
Скачиваний:
23
Добавлен:
03.02.2019
Размер:
477.82 Кб
Скачать

3.2 Результат исследование зависимости времени нахождения решения от размерности системы и способа решения

Для проведения вычислительного эксперимента составим систему нелинейных уравнений из 3 и 6 неизвестных. Запускаем приложение server. Загружаем системы A_0.txt, A_1.txt, A_2.txt из текстового файла (Приложение В). Нажимаем кнопку «Решить (линейно)». Отображение времени в поле «Время работы» напротив кнопки «Решить (линейно)» сообщает о готовности результата.

Далее переходим к получению результатов при рапределенном решения системы нелинейных алгебраически уравнений методом натуральных градиентов. Запускаем два клиента. Вводим порты 11000 и 11001 на клиентах соответственно. И переводим их в режим ожидания задания нажатием кнопки «Готов». Далее на серверной части нажимаем кнопку «Решить (распределено)». Отображение времени в поле «Время работы» напротив кнопки «Решить (распределено)» сообщает о готовности результата при решении распределенным способом.

Первый тест был проведен с данными из файла А_0.txt (Приложение В), файл содержит систему нелинейных уравнений состоящую из 3 неизвестных.

Последовательное решение выдало результат, равный 13 мс, и уведомление, что приближенное решение в данной системе не найдено (рисунок 3.9).

Рисунок 3.9 – Результат произведения линейного решения с тремя

неизвестными

Далее произведем тест с теми же тестовыми данными (система нелинейных уравнений так же состоит из тех же тригонометрических функций и содержит то же количество неизвестных переменных), но уже распределенным мето

дом решения с двумя компьютерами, подключенными к одной сети.

Скорость интернет соединения на момент проведения теста: 8.65 Мегабит в секунду – входящее соединение и 12.37 Мегабит – исходящее (рисунок 3.10).

Рисунок 3.10 – Вывод результата тестирование скорости интернета

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

Рисунок 3.11 – Результат проведения тестирования на скорость расчета при распределенном решении

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

После было проведено исследование с количеством неизвестных, равных шести, что выдало результат последовательного решения за 738 мс, что в 2.7 раз быстрее, чем распределенное решение, которое решило систему нелинейных алгебраических уравнений методом натуральных градиентов за 2001 мс. Результат вычисления самой системы – с 6 итерации обнаружена расходимость.

После было принято решение увеличить количество неизвестных еще на 3, в результате тестирования со входным файлом, состоящим из 9 неизвестных были получены данные, подтверждающие теорию о том, что распределенное решение может быть достаточно актуально при необходимости обработки больших объемов данных. Линейное решение дало решение системы уравнений за 4131 мс, распределенное решение после увеличения объема данных произвело решение за 8281 мс. Разница между линейным и распределенным решением с увеличением количества неизвестных уменьшается, если при 3 неизвестных разница была почти в 4 раза в пользу последовательного решения, то с девятью переменными разница между распределенным и линейным решением всего лишь в два раза по прежнему в пользу линейного.

После проведения исследования с 20 неизвестными и вывода результата, при котором коэффициент разницы скорости между линейным и распределенным решением равен 1,8, стало очевидно, что для выгоды использования распределенной системы необходимо, исходя из несложных вычислений, около 500 неизвестных, тогда скорость распределенного решений на разных клиентах с использованием двух компьютеров будет значительно превышать скорость линейного решения. Распределенное решение производилось на двух узлах.

Занесём время вычислений в таблицу 3.1.

Таблица 3.1 – Результаты анализа зависимости скорости вычисления от количества неизвестных и узлов

Способ решения

Количество неизвестных

Количество итераций

Результат

Коэффициент

1

2

3

4

5

Последовательно

3

5

13 мс

Распределено

3

5

50 мс

х 3.8

Последовательно

3

10

34 мс

Распределено

3

10

105 мс

х 3.1

Последовательно

6

С 6 итерации расходимость (100 итераций)

738 мс

Распределено

6

С 6 итерации расходимость (100 итераций)

2001 мс

х 2.7

Последовательно

9

С 6 итерации расходимость (100 итераций)

4131 мс

Продолжение таблицы 3.1

1

2

3

4

5

Распределено

9

С 6 итерации расходимость (100 итераций)

8281 мс

х 2.0

Последовательно

20

С 6 итерации расходимость (300 итераций)

19210 мс

Распределено

20

С 6 итерации расходимость (300 итераций)

35999 мс

х 1.8

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

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

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