.


:




:

































 

 

 

 


Compare-exchange_max(id-1);




1. ғ қ ө ң қ ү . қ ң ү ө ө.

:

1. Ө қғ ө ғ , қ ұғ .

2. ң ө қ (latency) ә .

3. ң ө қ (bandwidth) ғ қ ә ө.

4. қғ ө қ қ ү қ қғғ қғ қ.

қ ғ ә ұқң қ ә ә ұқғ ү қ. ұғ ә қ . ғ. қ ғ қ ғ ү қ. ә қ TLB (Translation Lookaside Buffer) ү ө ү ү.

2. ү ғ қ ө қ . Ә қ ұ. ү.

ү ө - ә қ ө қ . қ ү қ ә ү.

қ, ү ә ә . ғ ғ. үң қ ө қ ө ө, қғ ұ .

ұ ң ұ ү ұ ң (NOW network of workstations) ұ ң (COW cluster of workstation) .. қ ұ қ қ . Ү қ құң ң ң ғ ә Beowulf құ. қ қ қ ә Pentium ң , , ә Linux қ қ қ ұ.

.

1. SIMD SISD MIMD MISD құ.

қ
SIMD құ.

қ
ә ә

ә

қ
ә

қ
-----------

 

 

̲D құ:

 

       
 
қ..
 
    ˲
 


       
   
 
 
Өң.

 


ә

 
 


ә

 

қ..

       
   
 
 
Өң.

 


ә

 

ә

 

 

̲D ө ө ұ, ң ә қң қ .

ң өң ә . Ә ү ң ғ ұ () әү қ , әү қ ү. ғ, қ .

̲D құ ү, ғ ( ) ү.

:

Cray 2, SI;

Cray X - MP;

IBM 370/168 MP, IPSC

 

MISD құ:

 

                   
       
 
 
қ..
 
қ..

 


...

               
     
 
 
Өң.
 
Өң.

 

 


ә... ә

 

 

ұ ң ұ -, қ ғ 1 ғ ә ғ ә .

ұ құ 1 . , C. mmp, Carnegie Mellon ғ.

ұ қ (SIMP, MISD, MIMD)ұ .

 

- ғ.

ғ :

қ

ә

ғ ғғ

Қ ө ә қ, ғ қ;

 

: ү құ.

 

 

ө қ ғ ?

1949 ққ ң қ 2 (2*10-6 ), ғ 100 қ 1 . Қ ғ ң қ 1,8 (1,8*10-9 ), ғ 1 77 .қ . ғ ө 700 . ө, ғ 2 1,8 қ ө. ұ ң құғ ө. ә өң қ ә ғ ү . ұ ү . 1 құғ 1 1 қ , құғ 100 100 қ . 5 құғ ұ , қ 200 ң , ғ N құғ 1/N қ ұ ғ. ғ , 1 10 ғ қ, (50 ) ү, қ 12 қ ғ . ̳, ққ!

 

6,7 ә

қ: ү ң ә ң . ң. ң.

1. ғ

2. ң

3. ң

1. ү ң ә ң .

 

1. ү.

2. .

3. ң.

4. ә

, ә қ - ө . ә ғ ә ұ ғ ғ ққ қ. ү - , ө ү . ү ә ғ ө үң қ. ү ң ә ң ққ.

ү:

1. қ қ қ - ү қ . ұ ә ғ ғ ө , қ ө , ұ қ .

 

2. ғ ә ұ ә ө (ңғ ә ) . (ұ қ)

3. қ ғ ә ғ ә ңғ ә .

4. ұ ә қ қ . ( қ).

5. ( ә ү ө)- ұ ү өұ ұ. (қ , қ ң ).

6. ң ғ ү ( ң ғ). ұ қ.

ң ү:

- ө ү қ ү.

 
 


- ө өү .

 

 

- үө ү .

 

ғ, N қ 2n ұ.

ә ң ү ө :

1) - үң ң ұ . ұ ғ ә ң қ . , ә қ ұғ . N ү қң n/2 . қ қ ң 1- ң (ү ә) .

2) құ ұ , ө ү ә ң (ғң) .

ө ә . (- ).

 
қ құ
қ   p2/4 p1 p(p1)/2
ұ ә       p1
қ ғ 2log((p+1)/2)     p1
ғ ә p1     p1
қ p/2     P
N=2  
log p p/2 log p (p log p)/2

 

ң.

ө ә :

5. ң .

6. .

7. құ.

8. ө.

 

ң (speedup) қ:

ң қ:

құң ғ қң ө .

:

1-. - ү .

ң ү, ғ - қ ә 1- ң қ (ө ө ).

қ: Қ-қ ұң өұң ң ү ө.

 

ұ , ңғ ү қ құғ ә қ құғ . әү ң ә ү ү қғ ү , ғ құ ң ң әң ң қ ң қ ұ.

 

2-. ң қ ққ.

n- қң .

ұ ң ә ұ қ ғ қ, ғ

ұң қ ғ.

S=0,S=S+x1,...

ұ :

ұ , . ү қ , қ құ . қ ө ө, ә ә ұ ү ң қ , Ә қ қ ғ қ ғ ұ ө ө, ұ әң қ , ғ ..

ұ қ ң , ү ұғғ .

n=2k

ұғ ң : k=log2n,, қ ң K=n/2+n/4+...+1=n1

ә . . .

ң .. ө әң .. ө ә ө ө ә ө. (, ғ ө ү, қ ө -ә). ң ө -ә ң . ө ә ү - қ ғ қ . ҳ ө ә . қ, ө ә . , ө ғ ө ә қ ә :

Int y=0, z=0;

Parallel: x=y+z; // y=1; z=2; end parallel;

x=y+z ө : ә ү ә қ z ә қ , ң қ ә 0,1,2,3 . ұ - z-ң қ, ңғ ң .

 

8-ә

қ: ә . . .

: ә

ң .. ө әң .. ө ә ө ө ә ө. (, ғ ө ү, қ ө -ә). ң ө -ә ң . ө ә ү - қ ғ қ . ҳ ө ә . қ, ө ә . , ө ғ ө ә қ ә :

Int y=0, z=0;

Parallel: x=y+z; // y=1; z=2; end parallel;

x=y+z ө : ә ү ә қ z ә қ , ң қ ә 0,1,2,3 . ұ - z-ң қ, ңғ ң .

 

9-11 - ә

қ: .

ұ (, ө ә).

:

1. ө ә ұ.

2. қ-ұ ә ұ.

 

ұң қ.

1. ә ұ

2. ә ұ

:

ә

ө ә ұ ( ) ә қ-ұ

ұ

ұ

ұ

 

 

1. -ә- ә ұ.

ө ұ ғғ қ қ қ қ ү қ . , қ қғ .

if (A>B)

temp=A; A=B; B=temp;

2. ө ә ұ

(a1, a2,...,an) ң . ө , ғ i>j ү ai<aj

1. ө ә ұң .

Procedure BUBBLE-SORT(n)

Begin

3. for i:=n-1 downto 1 do

4. for j:=1 to i do

5. compare-exchange(aj,aj+1);

End BUBBLE-SORT

ұ Q(n) қ ә Q(n) , ө ә ұғ қ - Q(n2). ұ ү ққ . қ ұ әң ү қ-ұ ққ.

3. қ-ұ .

ұ n n ұ. ұ ң ұ ә қ . (a1, a2,...,an) ұ . қ қ ң қғ ө , , , ғ (a1, 2), (a3, a4),..., (an-1,an) ұ . қ ұ , ұ , , , ғ (2, a3), (a4, a5),..., (an-2,an-1) ұ . қ-ұ n ұ. Ә ң Q(n) , ғ n , ұ ң (sequential complexity) - Q(n2).

2. "қ-ұ " .

Procedure ODD-EVEN(n)

Begin

3. for i:=1 to n do

Begin

If i is odd then

6. for j:=0 to n/2-1 do

7. compare-exchange(a2j+1,a2j+2)

If i is even then

9. for j:=1 to n/2-1 do

10. compare-exchange(a2j,a2j+1)

End for

End ODD-EVEN

, n = 8 қ-ұ ә ұ .. Ә n = 8 ұ.

қ-ұ ө. ұ ғ ң ә ң ұ - . қ қ . ai қ i ., қ , қ ғ ң ң ғ қ ғ - ү.. қ ұ .

3. n- қ "қ-ұ " әң .

Procedure ODD-EVEN-PAR(n)

Begin

3. id:= processor's label

4. for i:= 1 to n do

Begin

If i is odd then

If id is odd then

8. compare-exchange_min(id+1);

Else

compare-exchange_max(id-1);

If i is even then

If id is even then

13. compare-exchange_min(id+1);

Else





:


: 2017-04-04; !; : 709 |


:

:

, ; , .
==> ...

1709 - | 1488 -


© 2015-2024 lektsii.org - -

: 0.133 .