lab2(1) 4 id 259343 Nieznany

background image

Programowanie równoległe i współbieżne

Ćwiczenie:

Ćwiczenie 2

Data oddania:

27.4.2013

Imię, Nazwisko:

Aleksandra Kulecka

Ocena:

Uwagi:


1.

Cel ćwiczenia

Celem ćwiczenia było zbadanie czasu potrzebnego do obliczenia liczby π, w zależności od

zaangażowanych procesów, ilości interwałów poświeconych tym obliczeniom oraz dobory języka
programowania, w którym został skonstruowany program.

2.

Przebieg ćwiczenia

Po ukończeniu konfiguracji MPI na dostępnych komputerach (SO: Windows XP 32 bit, procesory 4-ro
rdzeniowe), uruchamiano dwa pliki, których zadaniem było obliczanie liczby π. Programy były
uruchamiane z konsoli MPICH, jako pliki po operacji debugowania. Przygotowane programy były
napisane w języku C oraz C++.

3.

Wyniki badań

Poniżej przedstawiono wyniki badań w formie tabel i wykresów.

Język C

Tabela 1 Czasy obliczeń dla 15 bilionów interwałów C

200 x 10

6

Interwałów

Ilość procesów

Czas obliczeń [s]

Prędkość [int./s]

1

5,21

38387715,93

2

4,43

45146726,86

3

2,95

67796610,17

4

2,22

90090090,09

5

2,19

91324200,91

6

2,04

98039215,69

7

1,98

101010101

8

1,87

106951871,7

Średni czas

2,86125

-

Prędkość średnia

-

79843316,54

Tabela 2 Czasy obliczeń dla 200 milionów interwałów C



150 x 10

8

Interwałów

Ilość procesów

Czas obliczeń [s]

Prędkość [int./s]

1

19,56

766871165,6

2

9,89

1516683519

3

6,5

2307692308

4

4,95

3030303030

5

5,33

2814258912

6

5,07

2958579882

7

4,97

3018108652

8

4,95

3030303030

Średni czas

7,6525

-

Prędkość średnia

-

2430350062

background image

Język C++

150 x 10

8

Interwałów

Ilość procesów

Czas obliczeń [s]

Prędkość [int./s]

1

19,7

761421319,8

2

9,82

1527494908

3

6,55

2290076336

4

4,91

3054989817

5

5,34

2808988764

6

4,92

3048780488

7

4,97

3018108652

8

4,93

3042596349

Średni czas

7,6425

-

Prędkość średnia

-

2444057079

Tabela 3 Czasy obliczeń dla 15 bilionów interwałów C++

200 x 10

6

Interwałów

Ilość procesów

Czas obliczeń [s]

Prędkość [int./s]

1

5,25

38095238,1

2

4,48

44642857,14

3

3,01

66445182,72

4

2,23

89686098,65

5

2,21

90497737,56

6

2,01

99502487,56

7

1,98

101010101

8

1,86

107526881,7

Średni czas

2,87875

-

Prędkość średnia

-

79675823,06

Tabela 4 Czasy obliczeń dla 200 milionów interwałów C++

Wykres 1 Czas obliczeń


0

2

4

6

8

10

12

14

16

18

20

1

2

3

4

5

6

7

8

Czas obliczeń [s]

150 bil. C

150 bil. C++

200 mln. C

200 mln. C++

background image

Wykres 2 Prędkość [interwały/s]

Wykres 3 Prędkość [interwały/s]



0

5

10

15

20

25

30

35

1

2

3

4

5

6

7

8

x

1000

0000

0

Prędkość [interwały/s]

150 bil. C++

150 bil. C

0

2

4

6

8

10

12

1

2

3

4

5

6

7

8

x

1000

0000

Prędkość [interwały/s]

200 mln. C

200 mln. C++

background image

4. Wnioski

J

ęzyk programowania ma znaczenie w czasie obliczeń (widać niewielkie różnice w

prędkościach obliczeń między językiem C a C++),

Czas obliczeń spadał wraz ze wzrostem zaangażowanych procesów,

P

rędkość wzrastała logarytmiczni wraz ze wzrostem ilości procesów,

Czas obliczeń był wyższy dla języka C++, a prędkość niższa niż dla języka C,

Średnie czasy obliczeń są porównywalne dla obydwóch języków, z niewielką przewagą na
rzecz C++

przy dużej ilości interwałów, a dla C dla małej ilości interwałów,

Średnie prędkości są porównywalne.


Wyszukiwarka

Podobne podstrony:
lab2 7 id 259265 Nieznany
bd lab2 id 81995 Nieznany (2)
JPPO Lab2 id 228821 Nieznany
AKiSO lab2 id 53766 Nieznany
lab2 9 id 259271 Nieznany
bsi lab2 id 93526 Nieznany
PAiRAII Instr 2007 lab2 id 3455 Nieznany
Protokol Siko Lab2 id 402771 Nieznany
lab2 8 id 259268 Nieznany
Instrukcja Lab2 id 216873 Nieznany
BHP i lab2 id 84433 Nieznany (2)
kap lab2 id 231164 Nieznany
lab2 1 id 259287 Nieznany
lab2 5 id 259259 Nieznany
dsp lab2 id 144059 Nieznany
lab2(1) 5 id 259344 Nieznany
lab2(2) id 259347 Nieznany
lab2 7 id 259265 Nieznany

więcej podobnych podstron