MuPAD Report: Ein denotationales Modell für ... - webexams.ch
MuPAD Report: Ein denotationales Modell für ... - webexams.ch
MuPAD Report: Ein denotationales Modell für ... - webexams.ch
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
152 ANHANG C. PARALLELITÄT IN MUPAD<br />
C.2.3<br />
Beispiele<br />
An Hand zweier Beispiele - der Bere<strong>ch</strong>nung der Fibonacci-Zahlen mit Hilfe der übli<strong>ch</strong>en<br />
Definition und der normalen Matrixmultiplikation (beidesmal wurden keine optimalen<br />
Algorithmen benutzt) - soll gezeigt werden, wie ein Programm zu parallelisieren ist und<br />
wel<strong>ch</strong>e Auswirkungen dies auf die Laufzeit hat.<br />
Die Laufzeiten wurden auf einer mit 12 Prozessoren des Typs 80386- jeweils mit 16MHz<br />
getaktet - ausgestatteten Sequent Symmetry gemessen. Die folgenden Angaben für<br />
die Laufzeiten geben bei den sequentiellen Programmen die benötigte Prozessorzeit an,<br />
während sie bei den parallelen Programmen die benötigte Realzeit angeben. Da die Mas<strong>ch</strong>ine<br />
ni<strong>ch</strong>t vom Tester allein benutzt wurde, können bei den parallelen Programmen<br />
höhere Zeiten dadur<strong>ch</strong> hervorgerufen werden, daß dem parallelen <strong>MuPAD</strong> ni<strong>ch</strong>t immer<br />
genügend Prozessoren zur Verfügung standen. Je größer die von <strong>MuPAD</strong> benutzte Anzahl<br />
von Prozessoren ist, desto größer ist die Wahrs<strong>ch</strong>einli<strong>ch</strong>keit für dieses Ereignis. Dies<br />
war beim Testen daran zu erkennen, daß die Varianz der gemessenen Laufzeiten mit der<br />
Anzahl der benutzten Prozessoren stark anstieg.<br />
In den folgenden Tabellen, die Laufzeiten enthalten, werden die Laufzeiten in Sekunden<br />
angegeben. Dana<strong>ch</strong> folgt der Speedup gegenüber dem sequentiellen Programm auf der<br />
sequentiellen Version.<br />
Fibonacci-Zahlen<br />
Programme: Programme, die die Definition der Fibonacci-Zahlen implementieren,<br />
können in <strong>MuPAD</strong> wie folgt aussehen:<br />
fl := proc(n)<br />
begin<br />
if n < 2 then<br />
1<br />
else<br />
fl(n-l) + fl(n-2)<br />
end_if<br />
end_proc:<br />
f2 := proc(n)<br />
begin<br />
if n < 2 then<br />
1<br />
else<br />
_plus«parbegin<br />
f2(n-l)<br />
f2(n-2)<br />
end_par»<br />
end_if<br />
end_proc:<br />
f3 := proc(n)