Tải bản đầy đủ (.doc) (30 trang)

ỨNG DỤNG CÁC PHƯƠNG PHÁP SÁNG TẠO TRONG THIẾT KẾ THUẬT TOÁN SONG SONG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (302.13 KB, 30 trang )




Chương I
!!"#
!$%&'()*+
!,-./-0122!3
!34()*-01$!
Chương II((5-226#-%%$
$!,-'((5-22$
$$,-071((5-22$
Kết luận!
2

,87980:;<=)89)>)?@9
/892AB@9C79)6DEFG189:;=H79#)89
>I):#HJK
HC-6#1:#=H#:=LC-(BFGM
CEB)1&'B8.K-A#NFGM22
O:#.-)PD0(6:;7<6<=
)O)>6L(
0650B6((-5-22O-Q.)D
E@R:((.1-&CSHE0(AB
2'DTEJK:=02-'OT
U11=V?E0P58?Phương pháp
nghiên cứu khoa học trong tin họcW6(:;$.
,:X!6EFGM22
,:X$((5-22)7-07
I2-'?
,-.:X.  =)CP50:;)*)YH
(<:;)0E')7#.Z6#-85.)7


[V)V\&0BVFG-X&(0"4]
]4(>5^='0CH(<MC-PVP
E0
%],B0!-3@$_!
3
R5F`/67























4


a!bW8?c%:X. 52-'?d
"4]]e@4(
a$b%:X. 52-'?fg5
"%hU
ab[)=%)V,.BV=i=
j ")Bj2 ".B"V)V 4)0.2Be. 4)
a3bk.llmmm2V=lnCml.)Vl.)o.)l)V2)V2
abk.ll)=C6ln=CV0l2$ +
a bk.llm.V=)
5
CHƯƠNG I
TNG QUAN V X LÍ SONG SONG
1.1 Gi$i thiê&u Xử lí song song
pD.-Y070(HC-C-A
:;=H#:FG18HL7BFG1(BFG1C
EB=LC-(B)1&'BN)H-01FG1
LPeRV08 <:;07
,16^6506DEQ).-:;@FG122
/-A-01'
Xử lí song song là cách xử lí thông tin bằng việc sử dụng nhiều hơn một bộ
xử lí để thực hiện nhiều hơn một thao tác trên dữ liệu tại một thời điểm.
pG122::;<=.FG1H6DE
A89FGM:28^65.:8^-
qhRjB8^0PO/-.NBFGM6
-)7-=H)D#:FGM61B-=H
  6  X  2r  =H  B  -  s  s  DN@9  -  6D  E  c)=
VVdtH6DE8P0()c;.MdB
:!__B!___BN@P -u:8^15B2L0P
O/DKBCOVV:B8^DC-=q

4-6#FG1LB)1-22O2ACOFG1(
;.6#P0(ZO6DE7:;FG1
6^vPPE.`.-:;Lwe#
AOFG1XBFG1220(:;EC-#
6.<'.
6
1.2 Phân loại kiến trúc máy tính song song
-0122P:;V$?1=JE
Pt)xmu6=J=Ht=xmu-0122=J
EP=L/0(V-07I/-01eRVB
?)YE=JEPPL6CD<
-0122=J=HB8:;C((c.e
RVdB^-Crv8)K)K#-
ys0)&EPz&0*y5.)
6--0122=JEP
R@!{ B|}0>.&-A-01=L)7
=Jys6=JEP3'2
 [htV Instruction2)VB Single Data2)Vu
 [htV Instruction2)VB Multiple Data2)V2u
 [ht.V Instruction2)V2B Single Data2)Vu
 [ht.V Instruction2)V2B Multiple Data2)V2u
%&V<892G=MIMD > SIMD > MISD
7
1.2.1 Kiến trúc SISD (đơn dòng lệnh, đơn luồng dữ liệu)
-01'[hyO,%~B6rvPyL
O6y?BO=H8^[h18^
-01PeRV
]^!!8^/()*[h
1.2.2 Kiến trúc SIMD (đơn dòng lệnh, đa luồng dữ liệu)
RH-01[hOX6sEPPEPE

X6sFG1LO=J-&TX6sEP.-2
1EP#D-COFG1L7ZO.`.-)7
-=H-
]^!$8^/()*[h
W7)[hBw'L?((XC2
• SIMD đồng bộ và bất đồng bộ.
8
Đơn vị điều
khiển
Bộ xử lí
số học
Bộ nhớ
Luồng
kết quả
Dòng
lệnh
Luồng
dữ liệu
Đơn vị điều khiển
Phần tử
xử lí 1
Phần tử
xử lí 2
Phần tử
xử lí n
Tín hiệu
điều khiển
)O-0[hBYCOFGMPL0CK-ys
:;C-=L6)'-CO/0HE.
O6=H07E0P=q(FGMO61

-E8O-0(2G=
.7CCDwCO/![hB:;C((%htV Program
Multiple Data),)YCOFGM2•'0OC2/:X
)^TP5;/%h)*1-CP<
Ec€•V•V2VdBYCOFGM2•yLr-1;.
8D-.11--
• Chip SIMD tùy chọn hay thống nhất (commodity)
O-0[hP:;((=L)7H.A
D0YH.Z0?)-(.5<D^
-.F:#)‚X=2FD'07
H.1:650P<-0(A
8(O((PRH.7
6P.<'.6((B2FD6PG--0[h
6UPV'(0(6EAOFGM,J-.
Z0?^^v);AXL07U=q
(.1X6.-)P461;.ECOFGM
Z6#CO#=:=5)7O.e[X)r7B^
6(;.:P/-(.5)7P
1.2.5 Kiến trúc MISD (đa dòng lệnh, đơn luồng dữ liệu)
-01'[hPLE:X)^)7ZO
=H4()*P0:2
• #.--0107-X6sFG1-P5
H-6L)7ZO=H
9
• #.--01-w=H:;0PL
O=>0-COFG17(.
]^!8^/()*[h
8^0:8D0E)-<=O
)HM=Cr6^(-<=8( =O
-=ƒ=6()*[hBE0=q(6(()O

()*PK>O1E8P0
7P =-COFGM22P[h6)O<
=P
10
Đơn vị điều khiển1
Đơn vị điều khiển 2
Đơn vị điều khiển n
Phần tử xử lí 1
Phần tử xử lí 2
Phần tử xử lí n
Dòng lệnh 1
Dòng lệnh 2
Dòng lệnh n
.
.
.
.
.
.
Luồng dữ
liệu
)^)761=6EOCOFGM226#()*[h
O=J=HX6O-01wCOFGMRE.`.
C(:;L)7YX6s=H):#:;0P
2Ot0EuCOFGM-,-X6s=H((.P
-.`.C(-=EO5.=H/-=Jy
s0=-‚EPQC:;)0EZ6#=H,1
6^650-<V()*[hP:;FV:O
AAD.O6.<'.6#E:=q6)
Y?P:;5.)^)7C

1.2.4 Kiến trúc MIMD (đa luồng lệnh, đa luồng dữ liệu)
-01[hJ:;?COFG1BvCOFG1PL
Hw)7)7-w=H)7/*T2A
-A[hCO#)76P)05.6CO#
7:;)H-COFG1
11
]^!$8^/()*[h
T:;7-Cr-=.65.7{_B8^
[h&0>)r7-.C(M=2L006^
10P0P/()*[h6Cr@5=:;
H:P/-CO6FGM:;2FD?t=0
).)V22)2uB6^()-:;H6J.-)P==J6
P:;.-)PZ6#2L/-COFGM,-
-01[h:; =)D-<=22
6DE/:;.&)>Y)C^(AtV=•
)2V•).)V 2u„P/--01[hC
w@0P0P)6-E='<2
2-B=ƒ.&KX-COFGMO5.)8
)::=Zt1D0M)?1=
vuB1@)6r)Ot2C0uR:C7'(
)*0U0(P2L-=(.H-COFGM
665.)^Q.E@
W7)()*[hBw''6DEXC0J:;
?-L?((6q/E:;)>)
Ow-7<
• MPP – Massively Or Moderately Parallel Processor
12
Đơn vị điều khiển1
Đơn vị điều khiển 2
Đơn vị điều khiển n

Phần tử xử lí 1
Phần tử xử lí 2
Phần tử xử lí n
Dòng lệnh 1
Dòng lệnh 2
Dòng lệnh n
.
.
.
.
.
.
Luồng dữ liệu 1
Luồng dữ liệu 2
Luồng dữ liệu 2
eF&0=LOCOFGM22YO2A:;K-COFGM
'•0YO2A:;)D#-COFGMC^:tOcC0
6d0Oc(du^-2•X…
V5/j=^-71;.XH.
L/O1-B)-(.5<2•@A
XHH.12248P:)O&)
&K0B2LL?ADZ0O6'8
6<=:;2G=
• MIMD “chặt chẽ” hay “lỏng lẻo”.
,-(.5AX 61-@BCS-
2G=COFGM:; ((QC)7E-0105.
;./H-0 )'C^::;(A6#Cr-
A'c dt:iV)V0ju6H:X-
2•:; (A6#CSA.EQC6-
A 5..&-…,-(.5<8:;C((

' /--0)'tVm) of workstations0 NOW)01
-2V)B>:;2G=)O)>)H@&00
76qJE6DErJw'S.-0A @
/H()*E'(Cs.<B A
.EB6H1'<=/R†‡ :;:
^PCrO2A:;#-7<O -(.5
)(;.-2V)HCOFGM8 8):
'TE06EXCO.:X. .& -BQC1
;.O2L)05.)D#(=H CO
• Truyền thông điệp tường minh hay chia sẻ bộ nhớ ảo.
?2•AXB.`.:=Zy)D-'8
.2•:;)0EH-COFGM0.`.?5.)^rO
D.O)Y:;XBZ6#-8.(LO:;
13
.-2CrA.E…,&K06EXC:XL6#
&:;K)H0/H8
H5.)^D.6CO#'O6P)-<B
65.)^CS;.H6L)HCO#16CO
#.PV'X07B=00-
.E>'(<-.<'.B-)^C7=sZ6#
EU>-D.(v6A:-:X)^CS
08JE^-07*6q:r
PFGM22-PB66VDD)*(.:
H--0122)K:5.)^2•V'
@L)D-P
1.3 Các thành phần chính của máy tính song song
1.3.2 Bộ nh$
WO#O)H.)?D/()*
-016::;.&D.:2
]^!%&D.ACO#

14
Bộ xử lí
Bộ nhớ mức 1
Bộ nhớ mức 2
Bộ nhớ mức n
WO#<!CO#<D:IQ6#COFG1
CO#CO4<CO#@=^=:;@=
J-6AO=
8^CO#A6#-01)05.q722:;
C(=:#7?%ˆjt%)Vˆ=jV22VuCwCO
#ˆj6#8#/#P2‚%COFG1WO#
=ZP:)H=H6X(.H-COFG1B
.`.-COFG1)05.=H6'OO-=sCO,O2A
-P-COFG1P?O2A=H
• T?w,ˆt,))VˆV=uECOFG1P?
wYO8#
• T?O0EiˆtiF26VˆV=uvCOFG1?:;1
F-O8#6v8#y:;?CrOCOFG1
• "w,‡t,))V‡)VuECOFG1P
6ZO8#rZOP
• "O0Ei‡tiF26V‡)VuvCOFG1y:;
6O8#6v8#y:;CrOCOFG1
hƒ5D0)Siˆ6i‡H):;.)7/,ˆ6
,‡),‡HQ12
• "w:7t%))0,‡uvCOFG1:;I
6#O<:7BCO#<:7D2•:;
0E6O8#):#,-<:7P‰
QOVIF-s
• "wt,,‡uD-COFG1:;
.`.6O8#(*ZO-)s

15
4OCOFG12•:;?PL6=H

• "wL=tj)C)0,‡uO2ACOFG1A
=H6O8#:yOCOFG1:;.`.)
):;.0.y)-F-sCOFG1:;?
• "wq7tˆ=,‡uCOFG1:;?P
=Hq7
• "w(;.t,C,‡uD--)s-
COFG1Aw7O8#2•:;(;.'
O-)s6-)s02•:;68#
O2A8^CO#-0)05.q722
%ˆj
! 8^)05.CO#wCO~jt~€)V)0
jV22u/CO#2‚D-COFG16X(
0P'5.)P)05.#CO#2‚
)05.6CO#:6#D-COFG1
$ 8^)05.CO#8wCOR~j/CO#
2‚)8^0BCO#:;.&-6:;
O2A8#O5.WO#2‚:;.&-D
-COFG1:;?-8#s.:X6-
8#0;.'CO#tu-
COFG1
 4()*CO#y:)H,†jt,V•†0V)0
j)VF)VuCO#1:;.&-60P-
6Z:)HtVuBD-6Z0')8s
y
16
3 WO#-01)CO#-01v*O
-01CO#s.:X82‚6#HCOFG1

-B-COFG17'6#8<)0E
8.
1.3.2 Mạng liên kết các thành phần của máy tính song song.
)(-()*22B6DE)?D)
((F-s2L7(H-COFG16#R
'D^'7(7(‰67(O
- '7(‰'-./OA-0
1BCOFG16CO#:;7(O-As
- '7(O'-./A-01
)-7(H-COFG16CO#P0
:;D^
&0O2A8^'7(‰H-COFG1/-0
122
1. Mạng liên kết tuyến tính
)'7(0(1-COFG1:;7(6#6
:;2I.F(.V<L@=)YCOFG176AZB
-COFG1J'-ECOFG1):#62hH
.)0EO2ACOFG172L)0E8=HH-COFG
1Cs5'DHCOFG16A
]^! '7(0(1/COFG1
2. Mạng liên kết vòng
17
P
0
P
1
P
n-1
'7(6JP:;<:'0(1CS
-ACOFG16AL)H-COFG1PV

OEQE076)0E8H-COFG1Q
C-COFG1rF6qCs)ƒ
]^!+'7(6J/COFG1
3. Mạng liên kết xáo trộn
"2GRCOFG1%
_
B%
!
BNB%

6#RU0Y/$)'
7(F-)OB:7(OEYCOFG1%

(CO
FG1%
Š
:;F-s:2



−+
=
N1i2
i2
j

1Ni2N
12Ni0
−≤≤
−≤≤

]^!‹'7(F-)Oy6#RŒ‹
]^!‹8O'F-)OOEy6#RŒ‹B
)-7(F-)8:;CP=ƒCSU76-7(
):;CP=ƒCS'•hƒD0)SCOFG1%
_
6
%
R•!
L7(6#1BCOFG1:;7(6#COFG1$=tR•
!u
3.2. Mạng liên kết lư$i hai chiều
18
P
0
P
1
P
n-1
P
0
P
1
P
2
P
3
P
4
P
5

P
6
P
7
với
với
)'7(:#EB-COFG1:;2I.F(.
O)5EBvCOFG1:;7(6#CA-E)7B
=:#B)-B.485HCOFG1rC7,
C(P/':#E:#E8(A6J6
:#E(A6J
tu:#8(A6JtCu:#(A6J
]^!{'7(:#E
5. Mạng liên kết siêu khối
'7(27A=EwRŒ$
=
COFG1BvCOFG17
(6#=COFG1-)'8:'7(27A
=Ž!E:;F&0=LCS-(A'7(27A=
EO-^<B'7(RCOFG1:;?'27
As.&B-COFG1:;I>s.&-)sY_(R•!B
6COFG1:;?-E/(->/y
-OCt<-OU0Y/$u
19
]^!!_'7(27AE
6. Mạng liên kết hình sao
)'7(^2BvCOFG12•:X<6#O-
6s/16#O2AL7'7(^2•CO
FG1B>vCOFG1O-6s/1WOFG1%


:;7
(6#COFG1%
Š
(Š5:;YCS-01<B6#$




20
]^!!!'7(^26#$3COFG1
1.4 Kiến trúc cụm máy tính
):#&0B5Hc-01@dtHigh- Performance
Computing•]%,u::;=ZPyH-0122
Q-016`X6#-)s7#)8R:6#2L.-
)P/8.<QCH(CO
)6(@/COFG16C@8'>0
O-=()*/--01@e
--01@:;')CS-(A--0)'
tWorkstation f‡u6#^5Hc-01dt,.V)
,2V)u:;2G=P8='-010
21
P
1234
P
3214
P
2314
P
2134
P

1324
P
3124
P
4231
P
3241
P
2341
P
2431
P
4321
P
3421
P
2413
P
4213
P
1243
P
1423
P
2143
P
4123
P
3412
P

4312
P
1342
P
1432
P
3142
P
4132
,-0)'t‡)2,2V)•‡,uO--0)'
:;(A6#8O'AO,--01)
O‡,)0E8O)<)0E8.
C()0E8=L)7(A6)0E88(A
8^(A=L)7<,%t)22,)%)u
6#O506)0E8.:;C8^8
(A=L)7<~h%t~2V)h)%)uB6#<
0O506)0E8.:;C]0)D
E.Ev);61-22)7‡,7CP:
%[,]
‡,)DE:P
o 4‰51-)7--01Pr)OYO
AK(-A)D#TE0P1
E=‚6'/A]APyw
O-01QE-01`.A'6#
RH-01A'[V)VUP`.:;
]AUPCwH-0107=
-
o (Cs.<=ZPF&0=LO-01:
--01-&6--0)'0:;C-)O
)>)7s):6#-D.eE07IO

-01yO^6OC.17
:;.1C
o ,-COFG1#P=ƒ=1;.6A:
*>2•)AT&0:P/-0
126#HA22-671
/A
22
Kiến trúc bó IBM 1600 của Trung tâm Tính toán hiệu năng cao (Đại
hYc Bách Khoa Hà Nô&i):
• =V1-.V)V2 Bv=Vw‹,%~%mV)3Ž!
Cˆ[,!+"]‘/[W’V Wi,,$B!$‹Wi,,
BC@8+$"W.2’$"WˆjBC@8CO#!$
"W.2’ F "W]hhR@L1-O$3_
"}.tr)OA+ ‹"}.2l! =Vu
• !=V1.E,. _%mV)3Ž 3C!$"]‘’
V!Wi,,$B‹Wi,,BC@8!$‹"W.2’!
"WˆjBC@8 3"W.2’ F "W]hhBhehˆ†
• !=VEP.<],[VpV_ "]‘B!"W
ˆjB3_"W]hhBhehˆj
• ,-  =V  :;  (  A  6#    8    ]%  t]
%V)€)Vmfm@uBC@8$"W.2
6"VV)V
• ]A:)H[Wh33__6ip%+__(A6#
[W! __8 6#C@8$"W.2
• ,-=V'0]T]j[p.7C$
Kiến trúc bó IBM 1350 của trung tâm tính toán hiệu năng cao:
• ‹=V1-Bv=Vw$.[VpVh,)V$
"]‘B$"WˆjB!F "W]hhBhehˆ†@L1
-/‹=V!$"x.2
• $=V.6:)HBv=Vw$.[VpVh

,)V$"]‘B"WˆjB3F+$"W]hh
• !=V6)J1Cw.[VpVh,)V
$"]‘B"WˆjB$F "W]hh
23
• R@L:)H(Cs:)H=Zip%3__6#!_F+
"W]hh,[$_W.2!4ˆ.B=ZA2‚“V
"%}F6$_
• ,-=V'0]T]ˆV=iV).)2VF_6:;(
A6#8'"VV)V
CHƯƠNG II
24
THIẾT KẾ THUẬT TOÁN SONG SONG TRÊN
TINH THẦN CÁC PHƯƠNG PHÁP SÁNG TẠO
2.1 Các giai đoạn thiết kế thuật toán song song
,C-(.5)((5-22OC
-B
- 2-5-LBC(HD)*
LP5=@22L7/D-
.)AFG1
- ((5-22#
- ((5-22YH5-22>
:;F&0=L
)((=Z2G=:#(.5^U:C
w-'2
! %&)>t%)u,H1-6=HH
-6K"'0/0(P^(@L
226:O5.6#()*-01
$ )0E8t,u"'0S(5.2L
.A;.LH--66F-s5-6D
)*)0E81;.

 1;.tjV)u1/'0--
H07@6.1LR((BH
-6P(;.'--6#XP@@
6.1L
3 ”F't uv-62•:;OCOFG1S
A2L5=@/-COFG16P
25
.1)0E8”F'P:;F-s‰t20uQ
)'0t)VuCS5-&CSt=•
Cu
2.2 Các nguyên lí thiết kế thuật toán song song
5-22:;s‰O5.-()^Q-
-6PLw6P)=H6#P(
;.ZOC-T&0U1X =-071
2-'&02•FVF`-071)((P
2.2.1 Nguyên lí chia để trị
P)s8O)HC. 8=D
P0(6DET&0U/071.&KWS
-K86-.O5.:XABP
0(wY6DPKB@@A
Ví dụ :W-1ja!nbB((5-22O
.<'.†tnu6#†tnuCOFGM5-:A:
G=6.&=H2•5-6#O.<'.
†tnu6#†tnlnuCOFGM
Ž %&-.G/6nln’v<n
.G
kŒn6rŒnln’ rkŒnŒ$
k
R!j
!

j
$
NNj
n
R$j
nŽ!
NNj
$n
rŒnln
NNNNNNNNNNN
Ž %&vOCOFGMŒ•nlnCOFGM
Ž O)7vCOFGM†tnuBD6W
i
:;W
!
B
W
$
BNBW
nln
2G=5-)!1
26

×