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 құ.
|
|
ә
|
|
̲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