Листинг C1.EXE
uses crt,dos; var f1:text; f2:file of real; a,b,c:real; i1:longint; r1:real; begin clrscr; writeln('Программныймодульзапущен. N=20 000 000'); writeln('Для аварийного выхода нажмите любую клавишу'); assign(f1,'c1.dat'); reset(f1); read(f1,a); read(f1,b); read(f1,c); read(f1,d); for i1:=1 to 20000000 do begin r1:= (a + bd - c)/(d + 2); if (i1 mod 10000)=0 then begin gotoxy(1,3); writeln(i1); writeln(r1:5:2); ifkeypressed then Exit; end; end; assign(f2,'out1.dat'); rewrite(f2); write(f2,r1); close(f1); close(f2); writeln('Работа программного модуля успешно завершена'); { readkey;} end.
C1.DAT
12.5 2.5
ЛистингC2.EXE uses crt,dos; var f1:text; f2:file of real; b,c,d:real; i1:longint; r2:real; begin clrscr; writeln('Программный модуль запущен.N=20 000 000.'); writeln('Для аварийного выхода нажмите любую клавишу.'); assign(f1,'c2.dat'); reset(f1); read(f1,a); read(f1,b); read(f1,c); read(f1,d); for i1:=1 to 20000000 do begin r2:= (a + b*d - c)/(d + 2); if (i1 mod 10000)=0 then begin gotoxy(1,3); writeln('i=',i1); writeln(r2:5:2); ifKeypressed then Exit; end; end; assign(f2,'out2.dat'); rewrite(f2); write(f2,r2); close(f1); close(f2); writeln('Работа программного модуля успешно завершена.'); { readkey;} end.
C2.DAT
12.5 2.5 ЛистингC3.EXE uses crt,dos; var f1:text; f2:file of real; a,b,c,d:real; i1:longint; r1:real; begin clrscr; writeln('Программный модуль запущен.N=20 000 000'); writeln('Для аварийного выхода нажмите любую клавишу'); assign(f1,'c3.dat'); reset(f1); read(f1,b); for i1:=1 to 20000000 do begin r1:= - (8 + b)*5; if (i1 mod 10000)=0 then begin gotoxy(1,3); writeln(i1); writeln(r1:5:2); ifkeypressed then Exit; end; end; assign(f2,'out3.dat'); rewrite(f2); write(f2,r1); close(f1); close(f2); writeln('Работа программного модуля успешно завершена'); { readkey;} end.
C3.DAT
2.5 Результат работы: OUT1.DAT 2.42 OUT2.DAT 2.42 OUT3.DAT -52,5 Время затраченное на подсчет формулы с помощью сервера и двух клиентов заняло14 минут.
Результаты и вывод
На основе результатов лабораторной работы, выполненной на ЭВМ кафедры ЭВМ, можно сделать чледующий вывод, что для решения сложных задач эффективно использовать компьютерные сети, тем самым производя расчеты на нескольких ЭВМ одновременно. Это в значительной степени увеличивает скорость выполнения программы вобщем. Но на основе зависимости общего времени выполнения задачи от числа ЭВМ можно сделать вывод, что нужно грамотно формировать кластеры, т.е. выбирать оптимальное количество ЭВМ для решения конкретной задачи, а иначе время сэкономленное за счет разбиения задачи на части будет меньше времени, затраченным на обмен данными между машинами, в следствие чего имеем низкую производительность. Эти выводы можно сделать на основе выше приведенной диаграммы. Из нее становится очевидным, что на двух ЭВМ задача решается почти в 2 раза быстрее, чем на одной, а на трех уже уступает по скорости в сравнении с одной машинной.
|