- •Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №4 Изучение команд «Сервис – Монитора»
- •Лабораторная работа №5 Переключение микропроцессора в защищенный режим
- •Методические указания Простая программа переключения режима мп
- •Изменения в коде программы
- •Лабораторная работа №6
- •Результаты и вывод
Лабораторная работа №6
Цель работы: изучение одного из вариантов построения вычислительной системы (вычислительного кластера) на базе ЛВС в среде ОС Windows 9x/NT, приобретение навыков работы с программным комплексом многомашинной системы и проведение экспериментов с ним. Определение времени решения задачи с использованием различного количества ЭВМ в кластере.
Вариант задания №7
2*(a + b*d - c)/(d + 2) - (8 + b)*5;
a = 12.5
b = 2.5
c = 8
d = 4
Работа с одним клиентом:
Листинг C1.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,'c1.dat');
reset(f1);
read(f1,a);
read(f1,b);
read(f1,c);
read(f1,d);
for i1:=1 to 20000000 do
begin
r1:= 2*(a + b*d - c)/(d + 2) - (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,'out1.dat');
rewrite(f2);
write(f2,r1);
close(f1);
close(f2);
writeln('Работа программного модуля успешно завершена');
{ readkey;}
end.
С1.DAT
12.5
2.5
8
4
Результат работы:
OUT1.DAT
-47.67
Время затраченное на подсчет формулы с помощью сервера и одно клиента заняло 12 минут.
Работа с двумя клиентами:
Листинг 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:=2*(a + b*d - 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.
С1.DAT
12.5
2.5
8
4
Листинг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,b);
for i1:=1 to 20000000 do
begin
r2:= - (8 + b)5;
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.
С2.DAT
2.5
Результат работы:
OUT1.DAT
4.83
OUT2.DAT
-52,5
Время затраченное на подсчет формулы с помощью сервера и двух клиентов заняло 7 минут 50 секунд.
Работа с тремя клиентами:
Листинг 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
8
4
Листинг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
8
4
Листинг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 минут.