background image

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

Ćwiczenie:  

Ćwiczenie 2

 

Data oddania: 

27.4.2013 

Imię, Nazwisko: 

Dawid Misiniec

 

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 

 

Ilość procesów 

Czas obliczeń [s] 

5,21 

4,43 

2,95 

2,22 

2,19 

2,04 

1,98 

1,87 

Średni czas 

2,86125 

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

 

 
 

 

 

Ilość procesów 

Czas obliczeń [s] 

19,56 

9,89 

6,5 

4,95 

5,33 

5,07 

4,97 

4,95 

Średni czas 

7,6525 

background image

Język C++ 

Ilość procesów 

Czas obliczeń [s] 

19,7 

9,82 

6,55 

4,91 

5,34 

4,92 

4,97 

4,93 

Średni czas 

7,6425 

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

 

Ilość procesów 

Czas obliczeń [s] 

5,25 

4,48 

3,01 

2,23 

2,21 

2,01 

1,98 

1,86 

Średni czas 

2,87875 

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

 

 

Wykres  1 Czas obliczeń 

 
 
 
 
 
 

10 

12 

14 

16 

18 

20 

Czas obliczeń [s] 

150 bil. C 

150 bil. C++ 

200 mln. C 

200 mln. C++ 

background image

4.  Wnioski 

 

J

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

obliczeń między językiem C a C++), 

 

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

 

Czas obliczeń spadał wraz ze zmianą ilości interwałó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, 

 

Widać drobne różnice w czasach obliczeń między językiem C i C++