background image

TEORETYCZNE 

PODSTAWY 

INFORMATYKI

Prowadzący:

 

ppor. mgr inż. Mariusz 

CHMIELEWSKI

e-mail:

mchmiel@isi.wat.waw.pl

Temat 6: 

Temat 6: 

Modele obliczeń równoległych. 

Modele obliczeń równoległych. 

Architektury równoległe.

Architektury równoległe.

background image

2

ppor. mgr inż. Mariusz CHMIELEWSKI

Metody zwiększania efektywności 

algorytmów

metody zwiększania efektywności 

metody zwiększania efektywności 

algorytmów

algorytmów

:

zaprojektowanie algorytmu poprzez stosowanie 

odpowiednich:

struktur danych

 (listy, drzewa, kolejki, itp.),  

technik projektowania algorytmów

 (np. dziel i 

zwyciężaj, programowanie dynamiczne,  

zrównoleglanie

, derekursywacja, 

itp.);

optymalizacja kodu programu realizującego algorytm 

(zmniejszanie liczby pętli, zastępowanie operacji 

arytmetycznych, eliminowanie zmiennych indeksowanych, 

umieszczanie wartownika na końcu tablicy, przekazywanie 

parametrów funkcji przez wskaźniki itp.);

background image

3

ppor. mgr inż. Mariusz CHMIELEWSKI

wykorzystanie odpowiednich struktur danych

Przykład (sortowanie, n – rozmiar tablicy)

Umiejętne projektowanie 

algorytmów

Nazwa algorytmu 

Złożoność

Uwagi

- przez proste wstawianie
- bąbelkowe

W

(n) = (n

2

)

-

- działa „w miejscu” (tzn. 

tylko stała liczba elementów 
tablicy jest przechowywana 
poza tablicą podczas 
działania algorytmu)

-

- dla małych tablic

przez scalanie

W

(n) = (n log n)

-

- nie działa w miejscu

-

- oparty o technikę „dziel i 

zwyciężaj”

przez kopcowanie 
(heapsort)

W

(n) = O(n log n)

-

- wykorzystywane są kopce 

binarne

szybkie (quicksort)

W

(n) = (n

2

)

A

(n) = (n log n)

-

- działa „w miejscu”

-

- dla dużych tablic

-

- oparty o technikę „dziel i 

zwyciężaj”

background image

4

ppor. mgr inż. Mariusz CHMIELEWSKI

Wykorzystanie wielu procesorów = zrównoleglanie

Sortowanie bąbelkowe

 – wykorzystując N/2 (=4) procesorów 

przyspieszamy porównywanie parami elementów tablicy

Umiejętne projektowanie 

algorytmów

93

87

74

65 57

45

33 27

93

87

74

65

57

45

33

27

1

93

87

74

65

57

45

33

27

2

background image

5

ppor. mgr inż. Mariusz CHMIELEWSKI

Umiejętne projektowanie 

algorytmów, 

wykorzystanie wielu procesorów = zrównoleglanie

93

87

74

65

57

45

33

27

3

93

87

74

65

57

45

33

27

4

93

87

74

65

57

45

33

27

5

93

87

74

65

57

45

33

27

6

93

87

74

65 57

45

33

27

7

93

87

74

65

57

45

33

27

8

background image

6

ppor. mgr inż. Mariusz CHMIELEWSKI

Umiejętne projektowanie 

algorytmów

wykorzystanie wielu procesorów = zrównoleglanie

Wnioski

Sekwencyjny algorytm sortowania 
bąbelkowego tablicy N-elementowej 
potrzebuje w najgorszym przypadku N

2

 

czasu.

Równoległy algorytm sortowania 
bąbelkowego tablicy N-elementowej 
potrzebuje w najgorszym przypadku N 
czasu 

(pomijamy aspekty komunikacyjne między procesorami).

Sortowanie 
bąbelkowe – 

alg. 
sekwencyjny

Alg. 

równole

gły

O(N

2

)

O(N)

background image

7

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe

ISTOTA zrównoleglenia rozwiązywania 
problemu:

Podział zadania na mniejsze części;

Wyznaczenie rozwiązania składowych 
problemów na wielu procesorach 

Koordynacja zadań cząstkowych i 
przekazanie ich wyników do zadania 
nadrzędnego (koordynującego).

background image

8

ppor. mgr inż. Mariusz CHMIELEWSKI

CPU

Pamięć

Interfejs 
sieciowy

Struktura systemu obliczeń 

równoległych

background image

9

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe - 

własności

Korzystanie z systemów obliczeń równoległych nie 

nie 

wyprowadza nas poza klasyfikację opartą na 

wyprowadza nas poza klasyfikację opartą na 

złożoności obliczeniowej

złożoności obliczeniowej

 

dla obliczeń 

sekwencyjnych. 

Użycie

Użycie

 wielu procesorów

 wielu procesorów

 przyspiesza (nie zawsze) 

rozwiązywanie problemów lecz nie zmienia

nie zmienia

 

przynależności do klasy złożoności obliczeniowej

przynależności do klasy złożoności obliczeniowej

Jakich korzyści dostarcza zrównoleglenie obliczeń

Jakich korzyści dostarcza zrównoleglenie obliczeń

?

Mając algorytm działający w czasie O(N 

logN) i log N  procesorów, algorytm 

równoległy będzie potrzebował 

co 

najmniej

 O(N) czasu.

Mając algorytm działający w czasie O(N

3

) i 

N  procesorów, algorytm równoległy 

będzie potrzebował 

co najmniej

 O(N

2

czasu.

background image

10

ppor. mgr inż. Mariusz CHMIELEWSKI

Liczba procesorów jest ograniczona 

sprzętowo

;

Zazwyczaj liczba procesorów jest potęgą

 2;

Wpływ dodawania nowych procesorów:

Program na jednym procesorze

Uruchamia się w czasie X;

Dodając dodatkowy procesor

Uruchamia się w czasie 

nie mniejszym niż

 

X/2;

W praktyce: w czasie X/2 +  z powodu 

„kosztów zrównoleglenia”

W skrajnych przypadkach, dodanie 

procesorów może nie pomóc, a wręcz 

spowolnić działanie programu !!!

Algorytmy i systemy równoległe – 

własności

Liczba procesorów

background image

11

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe – 

własności

Koszty zrównoleglenia obliczeń

Zrównoleglenie 

niesie za sobą pewne koszty

.

Procesory muszą być 

sterowane i 

koordynowane.

Musimy wskazać każdemu procesorowi, co w 
każdej chwili ma robić; to wymaga 

dodatkowego wysiłku

 

(czasu, kosztu, itp.)

.

Często program musi być napisany w  

specjalnym języku programowania

 dla 

systemów równoległych (np. w języku 
Modest
).

Często program równoległy (np. z 2

K

 

procesorami) nie będzie pracował na innym 
komputerze (np. z 2

L

 procesorami).

background image

12

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe –

Równoległość, a współbieżność

Współbieżność 

polega na 

wykonywaniu wielu zadań w 
tym samym czasie, niezależnie 
od liczby użytych procesorów.

Zrównoleglenie

 polega na 

wykonywaniu tego samego 
zadania na wielu procesorach

.

background image

13

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe –

Równoległość, a rozproszoność

                                             

Rodzaj
 

Cechy

                     

systemu

charakteryst.

Syst. oblicz. 

Syst. oblicz. 

równoległych

równoległych

Syst. oblicz. 

Syst. oblicz. 

rozproszonych

rozproszonych

Odległości między 

Odległości między 

procesorami

procesorami

małe

Zazwyczaj 

duże

Struktura połączeń

Struktura połączeń

Nie ulega 

zmianom w 

czasie

Może ulegać 

zmianom w 

czasie

Niezawodność 

Niezawodność 

polączeń

polączeń

duża

mała

Opóźnienia 

Opóźnienia 

komunikacyjne

komunikacyjne

Pomijalnie małe

Zazwyczaj nie 

do pominięcia

Ingerencja 

Ingerencja 

sterowania 

sterowania 

centralnego

centralnego

duża

mała

background image

14

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe –

Podstawowe kryteria podziału systemów 

równoległych

 

Liczba i rodzaj procesorów:

-  tysiące procesorów;
- do 10-ciu procesorów; 

Obecność sterowania centralnego: 

-  duża  ingerencja  systemu  w  pracę 
procesorów  (system  decyduje  co  każdy 
procesor ma wykonywać w każdej chwili);
- mała ingerencja systemu w pracę 
procesorów; 

Obecność synchronizacji obliczeń:

- systemy synchroniczne;
- systemy asynchroniczne.

background image

15

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe –

Podstawowe kryteria podziału systemów 

równoległych, c.d.

Wymiana  informacji  między  procesorami 
(komunikacja  poprzez  sieć  połączeń  – 

wybór  struktury  połączeń  jest  zadaniem 
projektowym

):

- podział 

wspólnej 

pamięci 

między 

procesory 

oraz 

obecność 

systemu 

przełączającego;
- każdy procesor ma własną pamięć. 

background image

16

ppor. mgr inż. Mariusz CHMIELEWSKI

S – Single,
M –  Multiple,
I – Instruction,
D –  Data.

Rodzaj strumienia danych

*)

 

 

pojedynczy 

grupowy 

 

pojedynczy 

 

SISD 

 

 

SIMD 

 

Rodzaj 

strumienia 

instrukcji 

 

grupowy 

 

 

MISD 

 

 

MIMD 

 

                              

                  

 

 

Algorytmy i systemy równoległe –

Podstawowe kryteria podziału systemów 

równoległych, c.d.

background image

17

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytmy i systemy równoległe –

Podział komputerów typu MIMD

Sposób komunikacji poprzez 

 

Wspólne 

zmienne 

Przesyłanie 

komunikatów 

 

globalna 

 

GMSV 

„Shared Memory” 

 

GMMP 

 

Sposób 

organizacji 

pamięci 

 

rozproszona 

 

 

DMSV 

„Hybrid” 

 

DMMP 

„Message passing” 

 

background image

18

ppor. mgr inż. Mariusz CHMIELEWSKI

Intel ASCI Red

 (Accelerated Strategic 

Computing Initiative) – 1996-2010 r., do 

modelowania zjawisk związanych 

z zastosowaniem broni jądrowej 

(9632 procesory P II Xeon 333 MHz, 

moc: 2,3 T FLOPS); 

rozwiązanie układu 215 000 równań 

liniowych zajęło 100 min., ale użyto 

procesorów 200 MHz  7 000);

dla porównania: 

- procesor PENTIUM-IV 1 GHz ma moc 1,4 G FLOPS  (1,410

9

 

FLOPS)
- moc Deep Blue z 1997 r.: 
 10 G FLOPS.

Algorytmy i systemy równoległe –

Przykłady zastosowań

background image

19

ppor. mgr inż. Mariusz CHMIELEWSKI

IBM SP ASCI Blue Pacific

 (Lawrence 

Livermore National Laboratory) –system 
RS/6 000, 4 
 1464 Power PC 332 MHz, 

moc: 2,1 T FLOPS
RAM: 2,6 TB, 
koszt: 94 mln $,
powierzchnia: 740 m

2

Algorytmy i systemy równoległe –

Przykłady zastosowań

background image

20

ppor. mgr inż. Mariusz CHMIELEWSKI

IBM ASCI White

: 8192 procesory IBM 

Power3-III 375 MHz, 
moc: 10 T FLOPS, 

RAM: 6TB (pamięć zewnętrzna: 160 TB),
koszt: 100 mln $,
powierzchnia: ok. 1000m

2

,

waga: 106 ton,
pobierany prąd: 1.2 MW

Ciekawostka nr 1

wierne zasymulowanie wybuchu 

jądrowego zajmuje ASCI White miesiąc !!!

Dla porównania Cray z 1995 roku liczyłby 

to samo przez 60 tys. lat!!

Algorytmy i systemy równoległe –

Przykłady zastosowań

background image

21

ppor. mgr inż. Mariusz CHMIELEWSKI

Najszybszy obecnie system na świecie 
(od 2002 roku): 

japoński Earth Simulator

 

(do symulacji złożonych zjawisk 
geologicznych i pogodowych),
moc: 40 T FLOPS,
koszt: 350 mln $.

Program „Blue Gene” firmy IBM

: w 2005 

r. ma powstać (na bazie RS/6 000) 
maszyna o wydajności 1 P FLOPS 
(10

15

FLOPS) do analizy genomu ludzkiego

).

) Źródło: http://www.top500.org.

Algorytmy i systemy równoległe –

Przykłady zastosowań

background image

22

ppor. mgr inż. Mariusz CHMIELEWSKI

Podstawowe pojęcia z teorii 

obliczeń równoległych 

AGS

 - acykliczny graf skierowany G,

 

W -

zbiór wierzchołków 

oznaczających operacje wykonywane 
na danych,
A
 -zbiór łuków oznaczających 
zależności między danymi,

Głębokością D

 grafu AGS nazywamy 

długość najdłuższej drogi w G

A

W

G

,

olku

 w wierzch

operacji

 wynik 

e

ykorzystuj

         w

          

 j

 

ku

 wierzchol

operacja w

 :

)

,

(

2

W

j

i

A

background image

23

ppor. mgr inż. Mariusz CHMIELEWSKI

– 

potęgowanie

– 

mnożenie

– 

dodawanie

Weźmy zadanie obliczeniowe:

Przykładowy graf AGS:

 

3

3

2

2

1

2

1

x

x

x

x

x

x

f

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład 1 

1

2

3

4

5

6

7

8

9

10

background image

24

ppor. mgr inż. Mariusz CHMIELEWSKI

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład 2 

(problem doboru topologii sieci 

komunikacyjnej), c.d.

 

Chcemy dodać do siebie  8 liczb x

1

x

2

,...,x

8

 

(a)

(b)

Dwie możliwe topologie sieci 

komunikacyjnej: (a) i (b)

x

1

+x

2

x

3

+x

4

x

5

+x

6

x

7

+x

8

Porównanie topologii (a) i (b):

Dla  topologii 

(a)  uszkodzenie  tylko  jednego  wierzchołka

  (procesora)  może 

spowodować,  że 

cała  sieć  „rozpadnie  się”

  na  dwie  części  nie  mogące 

komunikować się między sobą. 
Graf 

z rysunku (b) może działać dalej nawet jeśli dwa procesory są uszkodzone

;

Największa  odległość  między  parą  wierzchołków  (mierzona  za  pomocą  liczby 
krawędzi  w  drodze  je  łączącej)  w  grafie  (a)  wynosi  4  (dla  dwóch  wierzchołków) 
podczas, gdy w grafie (b) ta odległość wynosi 3.

background image

25

ppor. mgr inż. Mariusz CHMIELEWSKI

 

 Zanurzenie sieci (a) w sieć (b).

Wierzchołki g, sd są obrazami, 

odpowiednio, wierzchołków górnego, 
środkowych i dolnych grafu.

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład 2 

(problem doboru topologii sieci 

komunikacyjnej), c.d.

 

g

s

d

d

s

d

d

x

1

+x

2

x

3

+x

4

x

5

+x

6

x

7

+x

8

background image

26

ppor. mgr inż. Mariusz CHMIELEWSKI

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przyjmijmy oznaczenia:

x

i

  - wynik operacji wykonywanej w 

wierzchołku  i grafu AGS;
f

i

  - operacja związana z wierzchołkiem 

i;
P

- numer procesora 

przyporządkowanego do wykonywania 
operacji w i
-tym wierzchołku,  
                  (W

0

 - zbiór wierzchołków 

wejściowych);
t

i

  - chwila zakończenia operacji w i-tym 

wierzchołku.

o

W

W

i

\

background image

27

ppor. mgr inż. Mariusz CHMIELEWSKI

Założenia:

wierzchołkom wejściowym nie są 
przyporządkowane żadne procesory;

chwila  t

i

 zakończenia operacji w każdym 

wierzchołku wejściowym jest równa 0;

każdy procesor wykonuje co najwyżej jedną 
operację w danej chwili, tzn. jeżeli                
      ,        

   oraz                , to               ;

jeżeli                    ,  to                       co 
oznacza, że operacja związana z 
wierzchołkiem  j
 może być wykonana 
dopiero po wykonaniu operacji związanej z 
i
-tym wierzchołkiem.

o

W

W

j

i

\

, 

j

j

i

t

j

i

P

Podstawowe pojęcia z teorii 

obliczeń równoległych

 

A

j

i

,

1

i

j

t

t

background image

28

ppor. mgr inż. Mariusz CHMIELEWSKI

Algorytm obliczeń równoległych jest 

zadany, gdy:

1

o

zadany jest graf AGS;

2

o

zadany jest harmonogram             ,

 

G

H

  

o

i

i

W

i

t

P

i

G

H

:

,

,

Podstawowe pojęcia z teorii 

obliczeń równoległych

Dysponując np. dwoma 

procesorami jeden z 

możliwych 

harmonogramów może 

wyglądać następująco:

 

 

 

 

 

4

,

1

,

10

,

3

,

2

,

9

,

3

,

1

,

8

,

2

,

2

,

7

,

2

,

1

,

6

,

1

,

2

,

5

,

1

,

1

,

4

)

(G

H

background image

29

ppor. mgr inż. Mariusz CHMIELEWSKI

Złożonością  obliczeniową

 

algorytmu  A 

reprezentowanego 

przez 

AGS 

wykorzystującego 

p 

procesorów 

nazywamy wielkość:

gdzie:

- czas realizacji harmonogramu H.

H  –  zbiór  wszystkich  harmonogramów 

realizujących 

rozpatrywany 

algorytm 

równoległy A;

 

H

t

T

i

W

i

H

p

max

min

H

 

H

t

i

W

i

max

Podstawowe pojęcia z teorii 

obliczeń równoległych

background image

30

ppor. mgr inż. Mariusz CHMIELEWSKI

Zdefiniujmy wielkość:

 

T

p

    jest  nierosnącą  funkcją    i  ograniczoną  od 

dołu przez 0.

 

Istnieje  taka  liczba  procesorów  p

*

,  że  dla 

każdego                     

 , zachodzi

:

 

złożoność obliczeniowa algorytmu 

reprezentowanego przez G, gdy dostatecznie 

duża liczba procesorów jest dostępna;

T

1

 -  złożoność obliczeniowa (czas) odpowiadająca 

algorytmowi sekwencyjnemu na jednym 
procesorze, przy czym

                          .

Podstawowe pojęcia z teorii 

obliczeń równoległych

p

p

T

T

1

min

*

p

p

T

T

p

T

o

W

W

T

\

1

background image

31

ppor. mgr inż. Mariusz CHMIELEWSKI

T

w

ie

rd

z

e

n

ie

 

W

ie

lk

o

ś

ć

 

T

 je

s

t ró

w

n

a

 g

łę

b

o

k

o

ś

c

D

 g

ra

fu

 A

G

S



T

T

T

p

1

 ,    

1

p

 

 

T w ierdzen ie 

  N iech   d la  p ew n ego  w ier zch ołk a  w y jściow ego  j  istn ieje  d r oga  z 

k ażd ego w ier zch ołk a w ejściow ego. 
N iech  

 

\

0

W

W

 zach od zi:  

       

2

)

(

 

i

S

w

 

gd zie 

|

}

)

,

(

:

{

|

)

(

A

i

j

W

j

i

S

w

 - stop ień  w ew n ętr zn y  w ier zch ołk a i

W ów czas zach od zi: 
       

|

|

log

0

2

W

 

Podstawowe pojęcia z teorii 

obliczeń równoległych

background image

32

ppor. mgr inż. Mariusz CHMIELEWSKI

Wnioski:

Dla  operacji  arytmetycznych  założenie, 
że

                       

   

jest  naturalne  i 

dotyczy 

fizycznej 

realizowalności 

operacji.

Głębokość  AGS  jest  nie  mniejsza  niż 
logarytm  przy  podstawie  2  z  liczby 
wierzchołków wejściowych w AGS.

2

)

(

 

i

S

w

Podstawowe pojęcia z teorii 

obliczeń równoległych

background image

33

ppor. mgr inż. Mariusz CHMIELEWSKI

T

w

ie

r

d

z

e

n

ie

 

 

D

la

 k

a

ż

d

e

g

o

 

1

 za

c

h

o

d

z

i:  

       

p

T

T

T

p

1

 

Podstawowe pojęcia z teorii 

obliczeń równoległych

D o w ó d :  

  R o z p a tr z m y  h a r m o n o g r a m  

H

, k tó r eg o  r ea liz a cj a  tr w a      

T

, tz n . 

o p ty m a ln y   h a r m o n o g r a m   r ea liz a cj i  o b lic z eń   d la   z a d a n eg o   g r a fu   G , 

g d y  d o sta tecz n ie d u ż a  lic z b a  p r o c eso r ó w  j est d o stęp n a . 
D la   d o d a tn iej   licz b y   ca łk o w itej   
  w y k o r z y stu j ą c   h a r m o n o g r a m  

H

 

w p r o w a d ź m y  z b ió r :  

 
         

}

:

{

k

t

W

i

A

i

k

 

background image

34

ppor. mgr inż. Mariusz CHMIELEWSKI

Dowód, c.d.

Z b u d u j e m y   e ta p o w o   d la   te g o   s a m e g o   g r a f u     h a r m o n o g r a m  

p

H

,  k tó r y  

w y k o r z y s tu j e  ty lk o   p r o c e so r ó w . 

W   - ty m   e ta p ie   te g o   n o w e g o   h a r m o n o g r a m u   w y k o n a m y   o p e r a c j e ,  k tó r e   
w  h a r m o n o g r a m ie  

H

 z a k o ń c z y ły  s ię  d o k ła d n ie  w  c h w ili - te j . 

P o n ie w a ż   ty lk o     p r o c e so r ó w   j e st  d o s tę p n y c h ,  - ty   e ta p   b ę d z ie   z r e a liz o w a n y   

w  c z a s ie  

p

A

k

|

|

 j e d n o s te k  c z a s u . 

C z a s   T

 

n ie   m o ż e   b y ć   w ię k s z y   n iż   c z a s   w y m a g a n y   d o   z r e a liz o w a n ia  

h a r m o n o g r a m u  

p

H

S tą d :

 

 

 





T

p

T

p

A

p

A

T

T

k

k

T

k

k

p

1

1

1

1

|

|

|

|

 

g d z ie  

 

|

\

|

|

|

0

1

1

W

W

A

T

T

k

k

    

c .n .d .

 

Podstawowe pojęcia z teorii 

obliczeń równoległych

background image

35

ppor. mgr inż. Mariusz CHMIELEWSKI

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład (dwie alternatywne reprezentacje AGS 

dla zadania)

Rozpatrzmy 

zadanie: 

 

3

2

2

1

x

x

x

x

x

*

*

+

*

p

+

+

1

x

2

x

3

x

2

1

x

2

2

x

3

2

x

3

1

x

2

2

2

1

x

x

x

3

2

3

1

x

x

x

x



3

2

2

1

x

x

x

x

x

4

*

3

7

1

p

D

T

T

AGS 

1

+

+

*

1

x

2

x

3

x

2

1

x

3

2

x



3

2

2

1

x

x

x

x

x

2

2

3

1

p

D

T

T

AGS 

2

WNIOSEK:

Dla tego samego 
problemu może 
istnieć wiele 
reprezentacji w 
postaci AGS 
różniących się 
wartościami        
oraz p*.

T

background image

36

ppor. mgr inż. Mariusz CHMIELEWSKI

Podstawowe pojęcia z teorii 

obliczeń równoległych

Niech G oznacza zbiór wszystkich możliwych 

AGS-ów 

dla 

ustalonego 

problemu 

ustalonej liczby  procesorów.

 
Wielkość

nazywamy 

złożonością problemu

,                    

           nazywamy 

złożonością algorytmu 

równoległego przy p procesorach

, a  G* 

nazywamy 

optymalnym grafem

 

reprezentującym algorytm rozwiązania 

danego problemu przy ustalonej liczbie p 

procesorów.

 

 

G

T

G

T

T

p

G

p

p

G

 

min

 

G

T

T

p

p

background image

37

ppor. mgr inż. Mariusz CHMIELEWSKI

Przyspieszeniem

 

algorytmu równoległego nazywamy liczbę

efektywnością

 

algorytmu równoległego liczbę

 

gdzie:

*

(n) – złożoność najlepszego sekwencyjnego algorytmu 

na jednym procesorze (jeśli mamy AGS, to 

*

(n) = T

1

(n));

T

p

(n) – złożoność algorytmu rozwiązywania problemu 

o rozmiarze na procesorach.

 

 

 

p

n

T

n

T

n

S

p

p

 

 

 

 

1

n

T

p

n

T

p

n

S

n

E

p

p

p

Podstawowe pojęcia z teorii 

obliczeń równoległych

background image

38

ppor. mgr inż. Mariusz CHMIELEWSKI

Zadanie obliczeniowe ma postać:

Zadanie obliczeniowe ma postać:

Przy  użyciu    n    procesorów  zadanie  to  można 

rozwiązać  w  czasie                                                                   

dwuetapowo

.

pierwszym  etapie

  każdy  i-ty  procesor  oblicza 

wartość                    ,  a  następnie 

w  drugim  etapie

 

dodaje n  uzyskanych liczb w czasie                 .

Najlepszy  algorytm  dla  jednego  procesora 

wymaga    czasu                                   

              .  Stąd 

przyspieszenie 
i efektywność dla n
 procesorów:

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład

i

i

i

n

i

i

y

x

y

x

a

 

    ,

,

1

 

1

log 

n

n

T

n

i

i

y

n

log

 

1

2 

n

n

T

 

1

log

1

2

n

n

n

S

n

 

1

log

1

2

n

n

n

n

E

n

background image

39

ppor. mgr inż. Mariusz CHMIELEWSKI

np. dla  n=3,  mamy następujący AGS

Podstawowe pojęcia z teorii 

obliczeń równoległych

Przykład, c.d.

*

*

*

+

+

1

2

3

4

5

6

7

8

9

10

11

1

x

1

y

2

x

2

y

3

x

3

y

1

1

y

2

2

y

3

3

y

2

2

1

1

y

x

y

x

3

3

2

2

1

1

y

x

y

x

y

x

H*(G)={(7,1,1),(8,2,1),(9,3,1),
(10,1,2),(11,1,3)}

 

55

,

0

3

3

5

67

,

1

3

5

1

3

log

3

5

\

3

3

3

3

3

3

1

T

n

T

E

T

T

S

T

W

W

T

T

D

T

o

 

 

3

max

min

3

G

H

t

T

i

W

i

H

G

H


Document Outline