ZESZYTY NAUKOWE POLITECHNIKI Ś L Ą S K IE J S e r ia : INFORMATYKA z . 16
1992 Nr k o l . 1140
Z d z is ła w SZCZERBIŃSKI
OCENA EFEKTYWNOŚCI FUNKCJONOWANIA KOMPUTERÓW O ARCHITEKTURZE RÓWNOLEGŁEJ (PRZEGLĄD)
S t r e s z c z e n ie . Ocena efek tyw n o ści funkcjonow ania komputerów równole
g ły c h j e s t obecnie istotnym zagadnieniem wobec szybkiego rozwoju i upowszechnienia tych s t ru k tu r. P ra c a stanowi p rzeg ląd te o re tyc z n y ch do
konań w t e j d z ie d z in ie . W p ie rw s z e j c z ę ś c i zaprezentowano k la s y f ik a c ję a r c h it e k t u r ró w n oleg łych , ze szczególnym uwzględnieniem systemów SIMD typu potokowego (wektorowego) i systemów w ieloprocesorow ych (MIMD) oraz krój-kim omówieniem p o z o sta łych typów. Skrótowo naszkicowano zagadnienie superkomputerów, il u s t r u j ą c j e ta b e lą is t n ie ją c y c h obecnie maszyn tego typu. N astęp n ie omówiono o g ó ln ie metody c h a r a k t e r y z a c ji w ydajnościow ej.
W d a ls z e j c z ę ś c i przedstaw iono n a stę p u ją ce modele a n a lit y c z n e wyżej wy
m ienionych s t ru k tu r:
- model Calahana-Amesa, - model Bucher-Simmons, - model Hockneya.
O s ta tn i model. Jak o obecnie n a jp o p u la rn ie js z y , omówiony z o s ta ł do
k ła d n ie j. Po p r e z e n t a c ji w e r s ji k la s y c z n e j ( d la jednopotokowych proce
sorów w ektorowych), opisano w e rsję w ielopotokową; uwzględniono również p r z e s y ły procesor-pam ięó. N astępn ie przedstaw iono w e rsję w ie lo p ro ceso rową. P r e z e n t a c ji m a te ria łu to w a rz ys z yły w n io ski do tyczące sensu (n ie zawsze is t n ie ją c e g o ) im p lem en tacji algorytmów w fo rm ie ró w n o le g łe j, co p o parto p re z e n ta c ją , w z a łą c z n ik u , prawa Amdahla i Jeg o in t e r p r e t a c ji .
Summary. Perform ance e v a lu a tio n o f p a r a l l e l computers i s an impor- ta n t is su e in the fa c e o f the f a s t development and g e n e ra l a v a i l a b i l i t y o f high-speed computing s t r u c t u r e s . The paper i s a su rvey o f t h e o r e t i
c a l advances in t h i s f i e l d . In the f i r s t p a r t, th e p a r a l l e l a r c h it e c t u re c l a s s i f i c a t i o n i s p resen ted , w ith emphases p la ce d upon p ip e lin e SIMD
(v e c t o r ) and MIMD (m u ltip ro c e s s in g ) system s; a s h o rt d e s c r ip t io n o f o th e r c la s s e s i s g iven . An o u t lin e o f supercomputers i s g iven , i l l u s t r a t e d by a ta b le o f c u rre n t commercial machines. The fo llo w in g ch apter d is c u s s e s methods o f perform ance c h a r a c t e r iz a t io n . Subseq u en tly, the fo llo w in g a n a ly t ic a l models o f the abovementioned s t r u c t u r e s a re pre
sented:
- Calahan-Ames’ s, - Bucher-Simmons’ s, - Hockney’ s.
32 Zdzisław SZCZERBIŃSKI
Hockney’ s model, as c u r r e n t ly the most fr e q u e n t ly used one, has been e la b o ra te d . Upon In tr o d u c tio n to the o r ig in a l v e r s io n ( f o r s in g le - p ip e v e c to r p ro c e s s o rs ), the m u ltip ip e model i s d e sc rib e d ; a ls o , the processor-memory t r a n s f e r s a re con sidered. Next, the m u ltip ro c e s so r v e r s io n o f Hockney’ s model i s analyzed. C o n clu sio n s re g a rd in g the p o in t in implem enting a lg o rith m s in the p a r a l l e l form a re made. In the appen
d ix , Amdahl’ s law i s presen ted and in te r p re te d .
PeąioMe. OueHKa ripoH3BOW TejibHocTH napajuiejibHwx BUMHCJtHTeJibHwx cMCTeM H BjraeTcs cymecTBeHHOH npobJieMoß B B w y B u crp o ro pa3BHTHS u Bee 6o jie e 06- mero npHMeHeHHX bm cokockopocthnx 3BM. C T arb s c o cx a B Jise x o6o3peHHe TeopeTHHecKMx flocTHxeHHH b 3Tofl o6jia c n i. B nepBoH wacTH n p en craBJieH a KJiaccH£HKauHsi napaji.ne.nbHX apxHTeKTyp, c ocobeHHtw nonoxeHHeM ynopa Ha KOHBefiepHMe CMCTeMbi OKMfl (BeKxopHbie n p o u ecco p u ) H CHcxeMtj MKMfl (MHoro- npoueccopHbie) h xpaTKHH o63opoM n p yrn x K n acco B . IIoMeineHbi ocHOBHMe CBe- neHHSi o cyn ep 3BM. flan bine, b o6ęhx Hepxax o Bcyw eH M Mexonu xapaxxepH3a- UHH npon3BonnxejibHocTH. B cneąyiom eil nacxn rrpHBeneHbi aH ajinxnsecK ne Mone- nw BNUieynoMSHyTX CTpyKTyp:
- MoaeJib KajiaxaHa-AMeca, - MoneJib Byxep-CHMMOHC, - M o n e j i b Xokhh.
tlocnenH Ss Moąenb obcyxneH a Bonee nonpoöHo. Ilo c jte rrpencxaBJieHHa ee KaaccunecKO H eepcuH (nnn ojXHOKOHBefiepHbK BeKXopHNX n p o u e cco p o B ), o ßcyx- neHa ee MHoroxoHBewepHasi pa3H0BHHH0cxb, paccMoxpeHb xaxxe n ep ecyn a npo- u ecco p - naMstTb. flanbiue, npoaHann3HpoeaHa M Horonpoueccopw aa Monenb
Xo k h h. TeopeXHHecKoMy anaJiH 3y corryxcTBynx b u b o a u Kacactunecs CMbicna
BBoneHHSi ajiropHXMOB b napannenbH oii sopMe. B npHjroxeHHH npencxaBneH 3a- koh AMnana.
1. WSTĘP
Dokonujący s i ę w ś w ie c ie w o s t a t n ic h la t a c h dynamiczny rozwój komputerów o a rc h it e k tu r a c h o d b ie g ających od klasyczn eg o, sekwencyjnego modelu von Neumanna oraz p o ja w ia ją c e s ię ju ż w P o ls c e p ierw sz e u rząd zen ia tego typu (k a r t y trjn s p u te ró w , sp e cja liz o w a n e p ro ce so ry potokowe do p rz e tw a rz a n ia obra
zów i t p . ) s p ra w ia ją , że is t o t n y s t a j e s ię problem oceny e fe k tyw n o ś ci fu n k c jo nowania (oceny w y d a jn o śc i) ta k ic h systemów. Dokonanie t a k ie j oceny j e s t ko
n ieczn e (lu b p rz yn a jm n ie j w skazane), zanim p r z y s tą p i s i ę do im p lem en tacji o k reślo n ych algorytmów numerycznych na o k re ś lo n e j maszynie ró w n o le g łe j, może s ię bowiem w w ie lu wypadkach okazać, że zysk czasowy w d z ia ła n iu programów, będący główną motywacją k o n s t r u k c ji a r c h it e k t u r ró w n o leg łych , j e s t nieznaczny lub nawet żaden.
33
W o d ró ż n ien iu od znanych z l i t e r a t u r y (np. [8; 20; 5 ] ) metod oceny wydajno
ś c i dużych systemów komputerowych, k tó ry ch podstawą są zazwyczaj modele t e o r i i masowej o b słu g i (modele k o le jk o w e ), a zadaniem - oszacowanie, d la ca
łego systemu lu b pewnych jeg o elementów, ta k ic h m iar, Ja k przepustowość (mie
rzona np. lic z b ą obsługiw anych w Jed n o stce czasu programów lub zgłoszeń na
p ływ a ją c yc h od użytkowników p ra cu ją c y c h w t r y b ie Interaktyw nym ) czy wykorzy
s t a n ie (rozum iane jak o pro cen t czasu, przez J a k i system r e a liz u je wspomnianą obsługę użytkowników, w stosunku do ca łe g o czasu p r a c y ), metody oceny e fe k ty wności funkcjo now ania maszyn ró w n o leg łych k o n c e n tru ją s ię na pojedynczym pro
gram ie, re a liz u ją c y m o k re ślo n y algorytm (zazw yczaj numeryczny) i zawierającym dużą lic z b ę d z ia ła ń na lic z b a c h zap isan ych w p o s ta c i zmiennoprzecinkowej.
Program t a k i j e s t bardzo czasochłonny, j e ś l i re a liz o w a ć go na procesorze sek
wencyjnym (czasem nawet niem ożliw y do r e a l i z a c j i w rozsądnym c z a s ie ). D la ma
szyny o a r c h it e k t u r z e ró w n o le g łe j zadaniem wspomnianych metod j e s t oszacowa
n ie czasu p ra c y ta k ie g o programu i w y n ik a ją c e j stąd szyb k o ści o b lic z e ń , mie
rz o n e j w m ilio n a c h o p e r a c ji zmiennoprzecinkowych na sekundę (M flo p s ).
W c e lu zobrazowania wspomnianych ró ż n ic w metodzie oceny w ydajności s y s te mu komputerowego, posłużymy s ię przykładem ośrodka obliczeniow ego wyposażone
go w 4-procesorowy superkomputer. Z punktu w id z e n ia k ie ro w n ik a i n s t a l a c j i , system p ra c u je w yd a jn ie , j e ś l i o b słu g u je maksymalną lic z b ę użytkowników - k ie r u j e s i ę w ięc p ierw sz ą metodyką (masowej o b s łu g i) i odpowiednio u s ta w ia ją c param etr In s t a la c y jn y , n ie zezwala użytkownikom na wykonanie programów w t r y b ie wieloprocesorowym , gdyż w takim przypadku Jed en program blokowałby w s z y s tk ie p ro c e s o ry i p o z o s ta li u żytkow nicy m u s ie lib y czekać (w ostatecznym rachunku czasowym n ie sta n o w iło b y to d la wspomnianego k ie ro w n ik a ró ż n icy, gdyby n ie f a k t dużych cz ęsto i omówionych w d a ls z e j c z ę ś c i a rty k u łu nakładów
czasowych zw iązanych z s y n c h ro n iz a c ją p ra cy procesorów 1 kom unikacją między nim i w t r a k c ie r e a l i z a c j i programu w t r y b ie wieloprocesorow ym ).
W w yniku d e c y z ji k ie ro w n ik a i n s t a l a c j i , każdemu programowi p rz y d z ie la s ię w ię c t y lk o jed en p ro ceso r, co z k o le i n ie s a ty s fa k c jo n u je użytkownika, k tó ry p ra g n ą łb y otrzym ać w y n ik i swego programu ja k n a js z y b c ie j, p r e f e r u je w ięc p ra cę w spó łbieżn ą na w sz y s tk ic h 4 procesorach . Mamy tu w ięc do c z y n ie n ia z drugą metodyką (oceny komputera z punktu w id z e n ia m in im a liz a c ji czasu o b lic z e ń
34 Zdzisław S2CZERBIŃSKI
własnego programu). Ja k w idać z powyższego przyk ład u , o b ie metodyki są n ie t y lk o różne, le c z wręcz sprzeczne.
A rty k u ł po n iż sz y poświęcony j e s t a n a liz ie w ydajnościow ej maszyn równole
g ły c h , n a k re ś lo n e j zgodnie z ic h klasycznym i modelami. R o z d z ia ł 2 stanowi p rz eg ląd a r c h it e k t u r ró w noległych, kon ieczn y d la pełnego zrozum ienia c z ę ś c i a n a lit y c z n e j, sta n o w ią c e j t r e ś ć ro zd ziałó w 4-6 i poprzedzonej k ró tk im omówie
niem typowych parametrów w ydajnościowych i metod ic h w yznaczania (r o z d z ia ł 3 ). Uwagi końcowe zawarto w ro z d z ia le 7.
2. KOMPUTERY 0 ARCHITEKTURZE RÓWNOLEGŁEJ
2 .1 . P o d z ia ł komputerów wg o r g a n iz a c ji a lg o ry tm ic z n e j
Komputery można o g ó ln ie p o d z ie lić , pod kątem o r g a n iz a c ji o b lic z e ń w ic h procesorach , na 4 grupy [6 ]:
a ) sekwencyjne,
b) grupowo-sekwencyjne,
c ) o stru m ie n ia c h luźno powiązanych, d) o g ó ln ie w spółbieżne.
S t r u k t u r y alg o rytm icz n e odpowiadające powyższym grupom przedstaw iono na ry s . 2.1 [6 ].
ad a ) W pro ceso rze sekwencyjnym rozkazy wykonywane są k o le jn o , jed en za dru gim. Odpowiada to k la s y c z n e j a r c h it e k t u r z e von Neumanna, o k re ś la n e j w k la s y f i k a c j i Flyn n a [9] symbolem SIS D (S in g le In s t r u c t io n stream / S in g le Data stream ) i p rz ed sta w io n e j schem atycznie na ry s . 2 .2 [1 7].
Szybkość p ro ceso ra typu SIS D j e s t o graniczona jeg o sekwencyjną n a tu rą i o k re ślo n a przez czas wykonania pojedynczego rozkazu. Przykładam i a r c h it e k t u r SISD są p ro ceso ry maszyn IBM 360, RIAD, IC L 1900, ODRA, p ro c e s o ry I n t e l 8086/
8088.
ad b) P ro c e so r grupowo-sekwencyjny wykonuje sek w en cyjn ie grupy rozkazów. W ramach grupy rozkazy są wykonywane c a łk o w ic ie ró w n o leg le (rów n ocześn ie) lub częściowo ró w noleg le (potokowo). W k l a s y f i k a c j i Fly n n a odpowiada to a r c h it e k tu rz e SIMD (S in g le In s t r u c t io n stream / M u lt ip le Data stre am ). I s t n i e j ą dwa typ y systemów SIMD, przedstaw ione na ry s . 2 .3 [17] i 2 .4.
a. b.
Rys. 2.1. S t r u k t u r y alg o rytm iczn e
a ) sekwencyjna, b) grupowo-sekwencyjna,
c ) o stru m ie n ia ch luźno powiązanych, d ) o g ó ln ie w spółbieżna F ig . 2 .1 . A lg o rith m ic s t ru c tu re s
a ) s e q u e n tia l, b) g ro u p -seq u en tial,
c ) lo o s e ly coupled stream s, d ) g en e ra l co n cu rren t
36 Z d z is ła w SZCZERBIŃSKI
SR
J S — jednostka sterujęca J P - jednostka przetworzojęco PoO - pomięć operacyjna SR - strumień rozkozćw SD — strumień danych
Rys. 2.2. System k la s y S IS D F ig . 2.2. The SISD system
J S
Jf= so,
SDn
PaO.
JF> so2 PoOj
PaCL
J S - jednostko sterujqca JP , JP „ - jednostki
przelwarzojpce PoO| -r P o Q „— moduły
pomięci operacyjnej SR - strumień rozkazOw SD,^- SD„-strum ienie
donyeh
SR
Rys. 2 .3. A rc h ite k tu ra SIMD typu macierzowego F ig . 2 .3. A rra y SIMD a r c h it e c t u r e
P ie rw sz y typ a r c h it e k t u r y SIMD (ry s . 2 .3 ) o k re śla n y j e s t mianem procesora macierzowego. C h arak teryz u je s ię on zw ielo k ro tn ien iem jed n o stek p rz e tw a rz a ją cych (a rytm e ty cz n o - lo g ic z n yc h ), wykonujących w danym momencie ten sam rozkaz.
37
J P
— • SOt-i-SO„
SR
J S - jednostko sterujqca J P — jednostka przetwarzająca PaO)-!-, PaOm- moduty
pamięci 'operacyjnej S R - strumień rozkazów SD,-r SDn- strumienie danych
Rys. 2 .4 . A r c h it e k t u r a SIMD typu potokowego F ig . 2 .4 . P ip e l ln e SIMD a r c h it e c t u r e
D ru gi ty p (r y s . 2 .4 ) - to p ro ceso r potokowy (w ekto ro w y), c h a ra k te ry z u ją c y s ię podziałem je d n o s tk i p rz e tw a rz a ją c e j na n ie z a le ż n e , k o le jn o po so b ie następu
ją c e frag m en ty (e t a p y ), przez co w danym momencie może ona wykonywać k ilk a rozkazów tego samego ro d z a ju (tz n . r e a liz u ją c y c h tę samą o p e ra c ję ), na zasa
d z ie f a b r y c z n e j l i n i i montażowej. Wspólna d la obu typów SIMD j e s t syn ch ro n i
czność p ra c y ró w n o le g łe j - na w sz y s tk ic h stru m ie n ia c h danych j e s t w o k re ś lo nym momencie wykonywana ta sama o p e ra c ja . Szczegółowe omówienie pro ceso ra po
tokowego z n a jd u je s i ę w ro z d z ia le 2 .2 .
38 Z d z is ła w SZCZERBIŃSKI
ad c ) W system ie re a liz u ją c y m luźno powiązane stru m ie n ie , alg o rytm o b lic z e niowy sk ła d a s i ę z szeregu ró w n o leg łych stru m ie n i rozkazów. W ramach stru m ie n i ro zkazy n a stę p u ją sekw en cyjn ie. I s t n i e j ą (choć n ie zawsze muszą) zależn o ś c i alg o rytm icz n e między stru m ien iam i, co wymaga kom unikacji między nim i 1 s y n c h ro n iz a c ji ic h przebiegu. Naturalnym sposobem r e a l i z a c j i sp rzęto w ej, odpow iadającej t a k ie j o r g a n iz a c ji a lg o ry tm ic z n e j, J e s t a r c h it e k t u r a w ie lo p ro cesorowa, w k l a s y f i k a c j i Fly n n a o k re śla n a symbolem MIMD (M u lt ip le In s t r u c t io n stream / M u lt ip le Data stream ) i przedstaw iona na r y s . 2.5.
Każdy z procesorów wykonuje, w t r y b ie sekwencyjnym, o d d z ie ln y strum ień rozkazów. W o d ró ż n ien iu od systemów SIMD, p ra ca ró w n o leg ła re a liz o w a n a przez system k la s y MIMD ma c h a ra k te r asyn ch ro n iczn y - rozkazy rea lizo w a n e w danym momencie przez poszczególne p ro ce so ry n ie muszą być id en tycz n e. D alszy po
d z ia ł systemów w ieloprocesorow ych i ic h b a r d z ie j szczegółowe omówienie z n a j
d u ją s ię w ro z d z ia le 2 .3 .
ad d) S tru k tu r a a lg o rytm icz n a o g ó ln ie w spó łbieżna c h a ra k te ry z u je s ię dużą c z ę s t o t liw o ś c ią w ystępowania z a le ż n o ś c i alg o rytm icz n ych między stru m ien iam i.
Ma to Is t o t n y wpływ na sposób r e p r e z e n t a c ji programu w system ie. W systemach przed staw ionych w punktach a ) , b ) i c ) zachowana z o s ta ła , w mniejszym lub większym sto p n iu , lin io w a k o le jn o ś ć o b lic z e ń , w yn ik a ją c a z k o le jn o ś c i adresów odpow iadających rozkazów w pam ięci (k o le jn o ś ć ta naruszana j e s t t y lk o przez rozkazy skoków). Nad k o le jn o ś c ią wykonywania rozkazów czuwa l i c z n i k rozkazów (w system ie MIMD i s t n i e j ą , o c z y w iś c ie , o d d z ie ln e l i c z n i k i d la poszczególnych procesorów ). Powyższa zasada (von Neumanna) o k re ś la re g u ły funkcjonow ania op isan ych w cz e śn ie j maszyn, nazywanych rów nież maszynami sterowanym i p rz e p ły wem rozkazów (ang. c o n tr o l f lo w ). Można zauważyć, że a r c h it e k t u r a von Neuma
nna n ie j e s t optym alna d la o b lic z e ń ró w n oleg łych , gdyż pewne o p e ra c je , n ie z a leżn e od w cz e śn ie j wykonywanych, można by wykonać bez czek a n ia na w y n ik i tych w cz e śn iejsz ych . Stąd , aby maksymalnie w yko rzystać p a r a le liz m (ró w n o le g ło ść ) programów, p o ja w ił s ię p r o je k t maszyny stero w an ej przepływem danych (ang. da
t a i Io w ), w k t ó r e j wykonanie rozkazu n a stę p u je w momencie, gdy argumenty ro z kazu s t a j ą s ię o s ią g a ln e . W m aszynie t a k ie j n ie i s t n i e j e l i c z n ik rozkazów, a fiz y c z n e p o ło ż e n ie rozkazu w program ie n ie ma żadnego zn aczen ia - rozkazy n ie są w ięc uporządkowane. Wykonaniem programu s t e r u je w y łą c z n ie z a le ż n o ść a lg o rytm iczn a między danymi. Ponieważ w maszynie "d a ta flo w " n ie ma w ogóle mowy o
JS , -i- JS n ~ jednostki sterujące JP , - J P n — jednostki przetwarzające PoOi + PaO ,,- moduły pamięci
operacyjnej SR , S R n - strumienie rozkazów SD, •+• SD „-strum ienie danych
Rys. 2 .5 . A r c h it e k t u r a MIMD F ig . 2 .5 . The MIMD a r c h lt e c t u r e
s tru m ie n ia c h rozkazów i danych, ten typ a r c h it e k t u r y n ie j e s t w k l a s y f i k a c j i Fly n n a (p o w s ta łe j z re s z tą znacznie w c z e ś n ie j) w ogóle reprezentowany.
U d a ls z e j c z ę ś c i a r t y k u łu analizow ane będą t y lk o n a stę p u ją ce typ y a r c h i
te k tu ry :
- SIMD typu potokowego (nazywana d a le j k ró tk o SIM D ), - MIMD.
U za sa d n ien ie j e s t n a stę p u ją ce: Spośród przedstaw ionych typów a r c h it e k t u r ró w n o leg łych (pu n kty b ), c ) , d ) ) , t y lk o dwa powyższe z n a la z ły is t o t n i e szero
k ie zastosow anie i zaowocowały lic z n ym i im plem entacjam i, produkowanymi s e r y j
40 Z d z is ła w SZCZERBIŃSKI
n ie . P o z o s ta łe a r c h it e k t u r y n ie w ysz ły poza fa z ę prototypów czy pojedynczych egzemplarzy, produkowanych na zamówienie. R ealn e szanse rozwoju r y s u ją s ię przed maszynami " d a ta flo w ", w c h w ili obecnej c ią g le je s z cz e będącymi w f a z ie p ro jek tó w i bardzo n ie lic z n y c h prototypów (M anchester D ataflo w , NYU Ultracom - p u t e r ).
2 .2 . P rz e tw a rz a n ie wektorowe w systemach SIMD
P rz e tw a rz a n ie wektorowe w potokowych systemach SIMD odbywa s ię wg zasady p rz ed staw io n e j na r y s . 2 .6 , ilu s tr u ją c y m sumowanie dwóch wektorów lic z b zmiennoprzecinkowych (przez wektor rozumie s i ę jednowymiarową t a b lic ę da
n ych ). O pprację dodawania dwóch lic z b zmiennoprzecinkowych można p o d z ie lić na n a stę p u ją ce 4 e ta p y (w p ra k ty c e d z i e l i s ię j e je s z c z e na d a lsz e p o d e tap y):
1) porównanie cech,
2) p rz e s u n ię c ie je d n e j z mantys o ró ż n ic ę cech, 3) dodanie mantys,
4) n o rm a liz a c ja wyniku.
Ponieważ powyższe f a z y są od s ie b ie n ie z a le ż n e , można zaprojektow ać jedno
stk ę p rz e tw a rz a ją c ą (w tym wypadku sum ator) w t a k i sposób; aby możliwa b y ła równoczesna p raca nad czterem a param i lic z b , p rz y czym każda p a ra w danym mo
mencie zajm uje je d n ą fa z ę , w następnym e ta p ie następną it d . (podobnie ja k w fa b ry c z n e j l i n i i montażowej). W ten sposób p ro ces sumowania wektorów ta k ic h lic z b u le g a wyraźnemu p rz y s p ie sz e n iu , k o le jn y w ynik ( r e z u lt a t sumowania dwóch li c z b ) uzyskujemy bowiem co fa z ę , ja k na ry s . 2 .6 . b ) , a n ie co 4 fa z y , ja k na ry s . 2 .6 .a ) . W podobny, ja k sumowanie, sposób można ro z b ić na fa z y (1 dokonać adekwatnej k o n s tr u k c ji jed n o ste k p rz e tw a rz a ją cy c h ) inn e o p e ra c je a ry tm ety
czne 1 lo g icz n e .
Na ry s . 2 .7 przedstaw iono o r g a n iz a c ję typowego komputera wektorowego [7 ].
Je d n o s tk i potokowe r e a li z u j ą p rz etw a rz a n ie wektorów według w yżej opisanego schematu. S tero w n ik pam ięci wektorów i g e n e ra to r adresów odpow iedzialne są za o rg a n iz a c ję p rz e s y łu wektorów z pam ięci do p ro ceso ra (w ek to ry danych) i w kieru n ku odwrotnym (w ekto ry wyników). S tero w n ik wektorowy i n i c j u j e o p e ra c je wektorowe na podstaw ie parametrów otrzym anych w ro z k a z ie wektorowym z p ro ce so ra rozkazów. Przez rozkaz wektorowy rozumie s i ę rozkaz d o tycz ą cy o p e ra c ji na całym w ektorze (w ek to rach ) danych (np. analizow ane powyżej dodawanie dwóch
41
i k kolejne elementy wektorów
A<4) 4 8 ( 4 )
A (3 ) 4 0 ( 3 )
A (2 ) 4 8 ( 2 )
A ( I ) 4- 8 ( 1 )
1 1 2 3 4 1 2 3 4
1 2 3 4
cz o s (cykle)--- •--- 1--- ■---.--- .--- to.
8 7 8
a.
1 0 11 1 2 13
A(i) ‘ 8(3)
A( 4) 4 8(4)
A(3) 4 8(3)
A(2) 4 8(2)
A( 1) + 8(1)
kolsjn. « łłm w ity w*ktordw
czas (cyM *)
10 11 1 2 13
b.
Rys. 2 .6 . Sumowanie dwóch wektorów lic z b zmiennoprzecinkowych a ) przez sumator konwencjonalny
b) przez sumator potokowy
F ig . 2 .6 . A d d itio n o f two f lo a t in g p o in t v e c to rs as performed by a a ) c o n ven tio n a l adder
b) p ip e lin e d adder
wektorów). Pro ceso r rozkazów ro z d z ie la rozkazy wektorowe od normalnych (sk a
la r n y c h ), p r z e s y ła ją c j e odpowiednio do pro ceso ra wektorowego lub skalarnego.
W c e lu p rz y s p ie s z e n ia o p e r a c ji komputera, rozkazy sk a la rn e są często wykony
wane równocześnie z wektorowymi (o i l e , o c z y w iś cie , są one od s ie b ie n ie z a le ż n e ), czemu s p rz y ja ro d z ie le n ie procesora skalarnego od wektorowego. Występu-
42 Z d z is ła w SZCZERBIŃSK I
S tero w n ik p o m ię c i w e k t
I g e n e r o t o r o d r.
Pomięć lok o*no
% ie«Jr»05tk|
potokowe P o m ię ć
p o m o c n ic z a
S tero w n ik w ek to ro w y
P a m ię ć o p e ra c y jn a
( ć a n o 1 p r o g ra m y )
P r o c e s o r .sk alam y
P r o c e s o r r o z k o2ćw
P r o c e s o r w ek to ro w y
Rys. 2 .7. O rg a n iz a cja komputera wektorowego F ig . 2 .7 . O rg a n iz a tio n o f a v e c to r computer
Ją c a na schemacie pamięć lo k a ln a , to zespól re je s tró w wektorowych przechowu
ją c y c h w ektory w c a ło ś c i lub w dużych “ kawałkach" (typowa długość r e je s t r u - 64 lic z b y 8-bajtowe) 1 u m o żliw iających o g ra n ic z e n ie lic z b y przesyłów z/do pam ięci.
Komputery wektorowe ró ż n ią s i ę między sobą przede wszystkim szybkością p rz etw arz an ia danych w jednostkach potokowych (zdeterminowaną czasem c yk lu z e g a ra ), ob ecnością re je s tró w wektorowych (a r c h it e k t u r a “ r e j e s t r - r e j e s t r " ) lub ic h brakiem (a r c h it e k t u r a “ pam ięć-pam ięć") (w pierwszym przypadku również lic z b ą i d łu g o ś c ią tch re je s tró w ) oraz samym charakterem Jed n ostek potoko
wych. I s t n i e j ą dwa typ y tych jednostek:
43
- jed n o fu n k cyjn e, r e a liz u ją c e s t a lą , o k re ślo n ą fu n k c ję , np. dodawanie zmiennoprzecinkowe; w takim wypadku pro ceso r musi z aw ierać t y l e Jednostek, i l e f u n k c ji r e a liz u je ,
- w le lo fu n k c jn e , mogące re a liz o w a ć różne fu n k c je , w z a le ż n o śc i od s t e rowania; w le lo fu n k c y jn o ś ć o sią g a s ię tu przez łą c z e n ie ze sobą różnych (n ie t y lk o s ą s ie d n ic h ) bloków Je d n o s tk i odpow iedzialnych za j e j poszczególne etapy.
Ponadto i s t n i e j ą p ro ceso ry z powielonymi (ró w n o leg łym i) Jednostkam i prze
tw arzającym i (zazw yczaj wówczas w ie lo fu n k c y jn y m i), mogącymi pracować równo
c z e ś n ie , co je s z cz e b a r d z ie j p rz ysp ie sz a wykonanie o p e ra c ji wektorowych (p a trz róTmież ro z d z ia ł 6 .1 .2 ). P ro c e so ry ta k ie noszą nazwę wlelopotokowych.
I s t n i e j e w ie le czynników o b n iż a ją c yc h szybkość p ra cy komputera wektorowego w stosunku do te o re ty c z n e j, w y n ik a ją c e j z szybko ści p rzetw arzan ia przez je d n ostkę potokową. Są to [6 ]:
- n a rz u t czasowy zw iązany z uruchomieniem o p e r a c ji wektorowej (d o k ła d n ie j
sze omówienie z n a jd u je s i ę w ro z d z ia le 4 ),
- k o n f li k t y związane z o rg a n iz a c ją danych w pam ięci; aby dostęp do pamięci p rz y s p ie s z y ć , d z i e l i s ię J ą na moduły, do k tó ry ch dostęp może być równoczesny (podobnie c z y n i s ię z re s z tą 1 w konwencjonalnych komputerach); o czyw iste j e s t , że maksymalna szybkość dostępu będzie występować w przypadku, gdy ko
le jn e elem enty wektorów będą przechowywane w o d d z ieln ych modułach, n ie zawsze jednak da s i ę to osiągn ąć,
- niezgodność wymaganej przez algorytm sekw en cji dostępów do elementów wektorów z akceptowaną przez g e n e ra to r adresów; typowy p rz yk ła d - to dostęp do elementów rozm ieszczonych w różnych odstępach od s ie b ie w momencie, gdy g e n e ra to r adresów um ożliw ia dostęp t y lk o do elementów k o le jn y c h lub rozmiesz
czonych ze stałym odstępem,
- wzajemna zależn o ść między operacjam i skalarnym i i wektorowymi (wspomnia
na w y ż e j); prowadzi ona do "zatrz ym a n ia " je d n o s tk i (je d n o ste k ) potokowej na czas wykonywania o p e r a c ji s k a la r n e j.
Przykładam i komputerów wektorowych są: CRAY-1, Cyber 205, SX-2, FACOM YP-200, H it a c h i S-810/20 (p a tr z też t a b lic a 2.1 w ro z d z ia le 2 .4 ).
44 Zdzisław SZCZERBIŃSKI
2.3. Systemy wieloprocesorowe
System y w ieloprocesorow e (MIMD) można o g ó ln ie p o d z ie lić na 2 k la s y :
- ze wspólną (d z ie lo n ą ) pam ięcią, zwane także s i l n i e powiązanymi (ang.
t i g h t l y co u pled ),
- z pam ięcią rozproszoną (przesyłem komunikatów), zwane również luźno po
wiązanymi (a n g .' lo o s e ly co u pled ).
Powyższy p o d z ia ł w ynika z mechanizmu s y n c h ro n iz a c ji i kom unikacji między procesami realizow anym i w procesorach. W system ie wieloprocesorowym z pamię
c ią d z ie lo n ą kom unikacja odbywa s ię poprzez dostęp do wspólnych, d la komuni
k u ją cych s i ę procesorów, obszarów pam ięci. W system ie z pam ięcią rozproszoną każdy pro ceso r ma w łasną pamięć i kom unikacja między procesoram i odbywa s ię na zasad zie p rz e s y łu komunikatów (podobnie ja k w s ie c ia c h komputerowych).
O gólnie schematy obu a r c h it e k t u r przedstawiono na r y s . 2.8
W system ie wieloprocesorowym ze wspólną pam ięcią n ie u n ik n io n e są zw łoki czasowe w yn ik a jące z p rz e s y łu danych przez wspólną s ie ć po łączeń oraz z kon
f lik t ó w dostępu do pam ięci. Aby j e zm inim alizować, p r o je k tu je s ię s i e c i p o łą czeń tak , aby z ap ew n iały wysoką przepustowość; również pamięć wymaga szcze
g ó ln e j o r g a n iz a c ji. Typowe ro z w iąz an ia, to:
- systemy ze wspólną m a g is tra lą , - systemy z p rz e łą c z n ic ą krzyżową, - systemy z pam ięcią w ieloportow ą, - systemy z w ieloetapow ą s i e c i ą połączeń.
Szczegółowe omówienie powyższych zagadnień z n ale ź ć można w [2 2 ], [1 7].
Systemy w ieloprocesorow e z przesyłem komunikatów są k o n cep cyjn ie nowsze od poprzednio omówionych. I s t n i e j e w ie le rozwiązań s i e c i p o łączeń między proce
soram i. Typowe p o łą c z e n ia to (r y s . 2 .9 ):
- p ie r ś c ie ń , - s ia t k a , - drzewo, -»gwiazda, - h ip e rs z e ś c ia n .
We w sz ystk ich powyższych systemach komunikaty przechodzą przez w ęz ły (p ro c e s o ry ) po średnie. Na szczególną uwagę z a słu g u je h ip e rs z e ś c ia n , gdyż lic z b a węzłów po średn ich j e s t w nim sprowadzona do minimum. H ip e rs z e ś c ia n może być
a. b.
Rys. 2 .8 . O rg a n iz a cja systemu w ieloprocesorowego a ) ze wspólną pam ięcią
b ) z pam ięcią rozproszoną
F ig . 2 .8 . M u ltlp ro c e s s o r system o rg a n lz a tlo n a ) w ith shared memory
b) w ith d is t r lb u t e d memory
o g ó ln ie n-wymiarowy (na r y s . 2 .9 j e s t on 4-wymiarowy); lic z b a procesorów p = 2n . Dodatkową z a le t ą j e s t mala (równa n) lic z b a połączeń obsługiwanych przez po jedyn czy p ro ceso r. A r c h ite k t u ry o p arte na z asad zie h ip e rsz e śc ia n u zy
s k u ją co raz w iększą popularność (p a tr z t a b lic a 2.1 w ro z d z ia le 2 .4 ).
System y z przesyłem komunikatów zacz yn ają dominować wśród a r c h it e k tu r ró w n o leg łych , ze względu na m ożliwość zastosow ania ta n ic h elementów (m ikro
p ro c e s o ry ) ja k o pojedynczych elementów prz etw a rz a ją cych . P rz y ś p ie s z e n ie o b li
czeń u zysku je s i ę drogą u ż y c ia bardzo dużej lic z b y ta k ic h procesorów (s ię g a j ą c e j s e t k i lu b nawet t y s ię c y ) , mimo że pojedyncze p ro ceso ry re p rez e n tu ją małą moc o b licz e n io w ą . Technika t a n o s i nazwę p a r a le l izmu masywnego. Należy jednak p o d k re ś lić , że mechanizm s y n c h ro n iz a c ji i kom unikacji o p a rty na prze
s y le komunikatów, obarczony j e s t istotnym narzutem czasowym (większym n iż p rz y s y n c h ro n iz a c ji kom unikacji przez wspólną pam ięć), stą d J e s t on efektywny
46 Zdzisław SZCZERBIŃSKI
pierścień siatka gwiazda
i
l y ł - ----
hipersześcian
Rys. 2.9. Typowe ro z w ią z a n ia s i e c i po łączeń w systemach z pam ięcią rozproszo
ną
F ig . 2.9. T y p ic a l in te rc o n n e c tio n networks in system s w ith d is t r lb u t e d memory
t y lk o w przypadku stosunkowo rz a d k ich powiązań między realizo w anym i procesami (stru m ien iam i rozkazów, p a trz ro z d z ia ł 2 .1 , punkt c . ), co o g ra n icz a u żytecz
ność systemów z paralelizm em masywnym w stosunku do w ie lu algorytmów.
Podobnie ja k w przypadku systemów SIMD, szybkość p ra cy systemu w ie lo p ro c e sorowego (te o r e ty c z n ie równa ilo c z yn o w i lic z b y procesorów p przez szybkość Jednego p ro ceso ra ) ograniczona j e s t przez t a k ie c z y n n ik i, ja k [6 ]:
- sto p ie ń w sp ó łb ieżn o ści algorytm u, c z y l i lic z b a procesów, k tó re mogą być równocześnie wykonywane; j e ś l i j e s t on n iż s z y n iż p, wówczas n ie w sz ystk ie p ro ceso ry p ra c u ją ; w p ra k ty c e t y lk o w n ie w ie lu algorytm ach utrzym any j e s t wy
so k i sto p ie ń w sp ó łb ieżn o ści przez c a ły czas r e a l i z a c j i algorytm u,
- k o n f lik t y w d o stę p ie do pam ięci (w o d n ie s ie n iu do systemów ze wspólną p a m ię c ią ),
- narzu t czasowy spowodowany s y n c h ro n iz a c ją procesów (d o k ła d n ie js z e omó
w ie n ie z n a jd u je s ię w ro z d z ia le 6 .2 ).
47
Przkładam i systemów w ieloprocesorow ych są maszyny IBM 3033, 3081, U nlvac 1100, Tandem-16, C.mmp, Cm*, HEP (p a tr z też t a b lic a 2.1 w ro z d z ia le 2 .4 ).
2.4. Praktyczne Implementacje architektur równoległch
Przedstaw ione w ro z d z ia ła c h 2 .2 1 2 .3 a r c h it e k t u r y ró w nolegle z n a la z ły w o s t a t n ic h la ta c h sz e ro k ie zastosow anie w k o n s tr u k c ji systemów przew idzianych do Intensyw nych o b lic z e ń naukow o-lnżynierskich. Maszyny ta k ie noszą nazwę superkomputerów 1 mlnlsuperkomputerów. D e f in ic ja superkomputera J e s t umowna - zazwyczaj przyjm uje s ię , że J e s t to komputer o mocy o b lic z e n io w e j ponad 100 M flops. M lnlsuperkom putery dysponują zwykle mocą rzędu k ilk u d z ie s ię c iu Mflops i są znacznie tańsze od superkomputerów, k o sz tu ją cych z re g u ły ponad 5 min dolarów. Obie k la s y maszyn w yk o rzystu je s i ę do o b lic z e ń In ż y n ie rs k ic h ( a n a li
za s t r u k t u r a ln a , aerodynamika, systemy w iz yjn e , CAD, ro b o tyk a ), badań se jsm i
cznych, modelowania z łó ż ropy n a fto w ej 1 reaktorów atomowych, w medycynie (to m o g ra fia , In ż y n ie r ia g en etyczn a), modelowaniu prognostycznym (m eteorolo
g ia , o ce a n o g ra fia , a s t r o f iz y k a , ekonomia) oraz do badań podstawowych (mecha
n ik a kwantowa, chemia polimerów, k r y s t a lo g r a f ia , dynamika płynów, kwantowa t e o r ia p o la , dynamika m olekularna, p ro jek to w an ie układów V L S I). Dużą część stan o w ią zastosow ania m ilit a r n e .
T ra d y cyjn e , n a jb a r d z ie j znane superkomputery produkowane s e r y jn ie od p o ło wy l a t 70. , o p arte są na procesorze wektorowym. N a js ta rs z e k o n stru k cje zawie
r a ł y t y lk o jeden p ro ceso r; nowsze p o s ia d a ją ic h zazwyczaj k ilk a do k ilk u n a s tu , łą c z ą w ięc w so bie prz etw arz an ie wektorowe z wieloprocesorowym. Obecnie produkowane (m ini)superkom putery są coraz c z ę ś c ie j im plem entacją p a raleliz m u masywnego (p a tr z ro z d z ia ł 2 .3 ). W ie le prognoz p rzew id u je, że p rz ysz ło ść superkomputerów le ż y w ła ś n ie w p a r a le liz m ie masywnym, ze stopniowym odchodze
niem od k o n s tr u k c ji wektorowych.
W t a b l i c y 2.1 zaprezentowano n a jb a rd z ie j znane superkomputery i m inisuper- komputery.
Obok (m ini)superkom puterów, a r c h it e k t u r y ró w noległe w kracz ają również do ro d z in y systemów m niejszych (minikomputery, s t a c je g ra fic z n e , systemy w iz y j
ne, komputery o s o b is t e ), zazwyczaj w fo rm ie dołączanych układów (k a r t y akce
le ra to ró w o b lic z e ń ). W o statn im c z a s ie coraz większego znaczenia n a b ie ra ją
48 Zdzisław SZCZERBIŃSKI
T a b lic a 2.1 Superkomputery i m inisuperkomputery
(gw iazdki przy li c z b ie procesorów oznaczają a r c h it e k t u r y typu "h ip e r- s z e ś c ia n " )
Komputer Producent Licz b a
procesorów
Max szybkość (w M flops)
System op eracyjn y
CRAY-1 C ray Research 1 wektorowy 160 COS
CRAY X-MP C ray Research 1 ,2 ,4 wekt. 210/proc. COS,Unix
CRAY-2 C ray Research 4 wektorowe 2000 Unix
CRAY Y-MP C ray R esearch 8 wektorowych 2666 COS,Unix
Cyber 205 C o n tro l Data 1 wektorowy 400 VSOS
ETA10 ETA Systems 2 ,4 ,6 ,8 wek. 800/proc. • VSOS,Unix
FACOM VP-400 F u ji t s u 1 wektorowy 1142 MVS
S-810/20 H it a c h i 1 wektorowy 630 MVS
SX-2 NEC 1 wektorowy 1333 ATSS-AF
FX/8 A l l i a n t Comp. 8 wektorowych 94 Unix
C-l Convex Comput. 1 wektorowy 60 Unix
SCS-40 S c ie n t . Comp. 1 wektorowy 44 COS
Ametek 44 Sym ult Systems 16 - 256* 15 Unix
Ametek 2010 Sym ult Systems 4 - 512* 215 R e a c t.K e rn
B u t t e r f l y PP BBN Adv.Comp. 2 - 256 brak danych C h ry s a lis
C onnect.Mach. Thin kin g Mach. 65536* brak danych Unix
ELX SI 6400 ELX SI 1 - 12 14 Unix
Multimax Encore Comput. 2 - 2 0 brak danych Unix
Flex/32 F le x ib le Pro c. 2 - 2 0 brak danych MMOS.Unix
FPS S e r ie s T F lo a t in g P o in t 16 - 16384* 16/proc. Occam,Unix
i PSC/2 In t e l 32 - 128* 1000 Unix
MPP Goodyear 16384 470 brak
NCube/10 NCube 4 - 1024 500 Unix
Sequent Sequent Comp. 2 - 3 0 brak danych Unix
u kłady ( k a r t y ) transputerów , będące jedną z form systemów w ieloprocesorow ych z pam ięcią rozproszoną.
49
B a r d z ie j szczegółowe n iż w n in ie js z ym a r t y k u le in fo rm acje na temat prze
tw a rz a n ia i komputerów ró w noległych zn aleźć można m. in . w [Z; 1 0;l l j 12; 13; 17;
18; 2 2 ;2 6 ;2 7 ;2 8 ].
3. METODY CHARAKTERYZACJI WYDAJNOŚCIOWEJ
Z adanie c h a r a k te r y z a c ji e fek tyw n o ści funkcjonowania komputera, zwłaszcza równoległego, za pomocą k ilk u ty lk o parametrów, n ie n a le ż y do p ro stych , efek tywność ta j e s t bowiem fu n k c ją zarówno a r c h it e k t u r y komputera (w łą cz a ją c te ch n o lo g ię w ykonania), ja k i konkretnych zastosowań programowych.
N a jp ro s tsz a c h a ra k te ry s ty k a wydajnościowa komputera równoległego, to cha
ra k te ry s ty k a jednoparametrowa [2 5]; Producenci komputerów rów noległych, zwła
szcza superkomuterów, reklam u ją je .p o d a ją c maksymalną szybkość przetw arzania (ang. peak perform ance) r . Jak o m iara " c z y s t e j" mocy o b lic z e n io w e j, parametr
03
ten j e s t cz ęsto cytowany w lic z n y c h d ysku sjach e fek tyw n o ści komputerów. J e s t to, w przypadku pro ceso ra wektorowego, asymptotyczna szybkość osiągana przez potokową jed n o stk ę fu n k c jo n a ln ą p rz y z a ło ż e n iu n iesko ń czen ie d łu g ic h wektorów danych. D la systemu w ieloprocesorowego maksymalna szybkość p rz etw arz an ia rów
na j e s t ilo c z yn o w i lic z b y procesorów i maksymalnej szybkości d la Jednego pro
ceso ra. N ależ y od ra z u p o d k re ś lić , że j e s t to szybkość te o re tycz n a , p ra k ty cz n ie osiągan a je d y n ie w warunkach a b s o lu tn ie optymalnych przez bardzo k ró tk i okres. S tą d param etr te n j e s t użyteczny je d y n ie p rz y uwzględniającym naturę samego programu szacowaniu rz e c z yw is tyc h szybkości.
Innym rodzajem c h a ra k te r y s ty k i jednoparam etrowej j e s t podanie rz e c z y w is te j szybkości p rz etw a rz a n ia d la konkretnego programu. Uzyskuje s ię j ą drogą dośw iadczalną, przez p o d z ie le n ie znanej lic z b y o p e r a c ji zmiennoprzecinkowych w program ie przez zmierzony czas d z ia ła n ia programu. C h a ra k terystyk a taka może w ię c być podcina ty lk o d la maszyny ju ż użytkowanej, a uzyskana w wyniku powyższego procesu m iara w ydajn o ści zależna J e s t w dużym sto p n iu od rodzaju realizow anego programu. D lateg o aby c h a ra k te ry s ty k a b y ła Ja k n a jp e łn ie js z a , przygotow uje s i ę c a łe zestaw y ta k ic h testow ych programów (arig. benchmark), z k tó ry c h każdy bada efektyw ność pro ceso ra d la pewnych, typowych w o b lic z e n ia c h n au ko w o -in żyn ierskich o p e r a c ji bądź c a ły c h algorytmów (szybka transform ata
50 Zdzisław SZCZERBIŃSKI
F o u rie ra , dodawanie/m nożenie/transpozycja m acierzy, rozwiązywanie układów równań lin io w yc h , rozwiązywanie cząstkowych równań różniczkowych, metoda Monte C a rlo i i n . ). Wśród użytkowników superkomputerów popularność zyskało k ilk a ta k ic h standardowych zestawów, powszechnie uważanych za n a jb a rd z ie j reprezentatyw ne (Liverm o re K e rn e ls , Los Alamos Benchmarks, NAS Benchmarks P e r fe c t C lu b ).
Uzyskane w yn ik i prezentowane są bądź w p o s ta c i t a b e lk i z a w ie r a ją c e j szybkości zaobserwowane d la poszczególnych programów zestawu, bądź te ż jak o śre d n ia z całego zestawu. W tym drugim przypadku ś re d n ia może być
a) arytm etyczna
n r
E = I i r
i= i
*
b) geometryczna
N iejak o na drugim końcu zakresu c h a ra k te ry s ty k komputera równoległego zn ajdu je s ię taka, k tó ra uw zględnią do kład n ie każdy aspekt jeg o a r c h it e k tu r y . W takim przypadku lic z b a parametrów może p rzekraczać 100 i model matematyczny tworzony przez równania w iążące ze sobą te param etry s t a j e s i ę p ra k ty c z n ie bardzo tru dny do ro zw iązan ia. Dlatego n a jc z ę ś c ie j s to s u je s ię wówczas progra
mową sym u la cję , c y k l po c yk lu , r e a l i z a c j i przez komputer określonego a lg o ry tmu obliczeniow ego. Podobnie Ja k w przypadku każdej in n e j s y m u la c ji, wadą J e s t t u t a j d łu g i czas trw a n ia . Ponadto d la wydajnego planowania algorytmów d la maszyny ró w n o le g łe j, a n a lit y k musi k o rz y sta ć ze znacznie prostszego mode
l =i c ) harmoniczna
E = n
gdzie: n - lic z b a te stó w ,,
r - zmierzona szybkość d la t e s t u i .
51
lu , z m o żliw ie maią lic z b ą parametrów, p rz y jednoczesnym dobrym uchwyceniu z a le ż n o ś c i czasowych, którym i może on łatw o manipulować (zw łaszcza m in im ali
zować}. O czyw iste j e s t , że dokładność op isu d z ia ła n ia komputera w p o s ta c i mo
d e lu matematycznego p ro p o rcjo n aln a j e s t do lic z b y u żytych w tym modelu para
metrów, n arzuca s i ę w ięc konieczność rozsądnego kompromisu. Nawet jednak gdy parametrów będzie t y lk o k i l k a , zbudowany na n ic h uproszczony model może być bardzo u żyteczn y, gdyż pozwalać będzie na szacow anie, k tó re algorytm y prawdo
podobnie będą wydajne (s z y b k ie ) na danej maszynie. Podobnie można porównywać szacunkowe cz a sy d z ia ła n ia czy szybkości prz etw a rz a n ia d la wybranego a lg o r y t mu na maszynach o różnych a rc h ite k tu ra c h .
W k o le jn y c h ro z d z ia ła c h przedstaw iono dotychczasowe próby c h a ra k te r y z a c ji k ilk u p ara m etro w e j d z ia ła n ia komputerów rów noległych.
4. MODEL CALAHANA-AMESA
P o w s ta ły w la t a c h 70. i o p is u ją c y komputery wektorowe model Calahana-Amesa [4] j e s t k o n c e p c yjn ie n a jp ro s ts z y i często stosowany. O piera s ię on na z a le ż n o ści czasu trw a n ia o p e r a c ji wektorowej t od d łu g o śc i w ektora n, p o s ta c i
t = t Q-+ n r (4 .1 )
g dzie Łq J e s t tzw. czasem uruchom ienia potokowej o p e r a c ji wektorowej (potoku) (ang. v e c t o r s t a r tu p tim e ), zaś r to czas u p ływ a ją cy między g e n e ra cją k o le j
nych wyników d z ia ła ń na elem entach w ektora, równy zazwyczaj czasowi c y k lu ze
g ara komputera wektorowego. Przez uruchom ienie potoku rozumie s i ę t u t a j ope
r a c je niezbędne d la przygotow ania potokowej je d n o s tk i fu n k c jo n a ln e j do wyko
n a n ia o p e r a c ji wektorowej, na k tó re s k ła d a ją s ię m.in . o b lic z e n ie adresów początkowych i końcowych wektorów w ejściow ych (d an ych ), p rz e s y ł danych między p am ięcią i procesorem oraz “ załadow anie" Je d n o s tk i fu n k c jo n a ln e j, tzn. z a p e ł
n ie n ie w s z y s tk ic h j e j segmentów (z w yj. o s ta tn ie g o ) k o le jn ym i parami argumen
tów (elem entów wektorów w e jścio w ych ). Ze względu na o s t a t n i sk ła d n ik , czas uruchom ienia potoku j e s t różny d la różnych Jed n o stek fu n k cjo n aln ych (np. mno
ż e n ia i dodawania)..
52 Zdzisław SZCZERBIŃSKI
Rys. 4.1. Efektyw ność w yk o rz ystan ia potokowej ja d n o s tk l fu n k c jo n a ln e j, wg Ca1ahana-Aaesa
F ig . 4.1. U t i l i z a t i o n o f the p ip e lin e d fu n c tio n a l u n it , a cco rd in g to Calahan- Ames
53
Wychodząc z (4 .1 ) można w p ro s ty sposób o b lic z y ć , d la m o p e r a c ji wektoro
wych s k ła d a ją c y c h s ię na wybrany algorytm , śre d n ia szybkość p rzetw arzan ia r jako
m
E“. i
— = --- --- (4 .2 )
t
=1 ~ i 1=1 T
E ' o + T E n . 1 ♦ 1 “ ° n
gdzie t - j e s t średnim czasem uruchom ienia potoku (param etr p ro c e s o ra ), a n-- śre d n lą d łu g o ś c ią w ektora (param etr alg o rytm u ). Mnożąc (4 .2 ) obustronnie przez r , otrzymujemy znormalizowaną (w s k a li od 0 do 1) efektyw ność wykorzy
s t a n ia potokowej je d n o s tk i fu n k c jo n a ln e j tj = r
1 + X 1
gdzie x = — . Wykres i) w f u n k c ji x p rzed staw ia r y s . 4.1.
to
Ja k łatw o zauważyć, p rz y x— >ra, t)— >1. p rz y s t a ły c h r i t oznacza to , że d la o p e r a c ji na n iesk o ń czen ie d łu g ic h wektorach danych, asym ptotyczna szyb
kość p rz e tw a rz a n ia r^ równa J e s t odwrotności czasu c y k lu zegara
r b lim r (n ) = 1/t
CS n —>co
In t e r e s u ją c y j e s t również, przypadek x=l. Wówczas rj = 1/2, r = r /2; połowę
CO
czasu o b lic z e ń zajm ują w tym wypadku czynno ści przygotowawcze do o b lic z e ń (uruchom ienie po to ku ), połowę zaś - w łaściw e o b lic z e n ia .
5. MODEL BUCHER-SIMMONS
Bucher i Simmons [3] s tw o rz y ły model d la procesorów wektorowych typu “ re- j e s t r - r e j e s t r " (p a tr z ro z d z ia ł 2 .2 ). A n a liz u ją c przedstaw iony w ro z d z ia le 4 model Calahana-Amesa pod kątem p rz yd atn o ści d la konkretnych a r c h it e k t u r wek
torowych, łatw o zauważyć, że jego c z ysto lin io w a c h a ra k te ry s ty k a , w yn ikająca z p r z y ję c ia za podstawę lin io w e j z a le ż n o śc i (4 .1 ), będąc stosunkowo dobrą aproksym acją d la komputerów “ pamlęć-pamięć" (np. Cyber 205, ETA10), n ie z b y t
54 Zdzisław SZCZERBIŃSKI
p r e c y z y jn ie o p is u je funkcjonowanie komputerów “ r e j e s t r - r e j e s t r " , stano w iących w iększość wśród produkowanych obecnie superkomputerów wektorowych (maszyny firm y Cray, F u jit s u , H it a c h i, NEC i w iększość minisuperkom puterów). Różnice w c h a ra k te ry s ty k a c h obu typów procesorów przedstaw iono na ry s . 5 .1 ; jako p rz yk ła d y p o s łu ż y ły superkomputery CRAY-1 i Cyber 205.
Schodkowy c h a ra k te r wykresu d la pro ceso ra CRAY-1 w ynika z o k re ś lo n e j d łu g o ści re je s tró w wektorowych ( d la CRAY-1 równej 6 4 ), co powoduje, że dłuższe w ektory muszą być d z ie lo n e na ',k a w a łk i,' o d łu g o ś c i równej rozm iarow i r e je s t r u wektorowego, a o p e ra c ja wektorowa sk ła d a s i ę z c ią g u o p e r a c ji wykonywalnych na ta k ic h kawałkach. O czyw ista w takim przypadku zwłoka czasową p rz y p r z e jś c iu do nowego kawałka (na w yk re sie 5.1 “ schodek" od w ie lo k ro tn o ś c i 64 do w ie lo k ro tn o ś c i 6 4 + 1 ) związana j e s t przede wszystkim z k o n ie c z n o śc ią ca łk o w iteg o o p ró ż n ien ia r e j e s t r u danych, tzn. p r z e s ła n ia w s z ys tk ic h argumentów (elementów kawałka w ekto ra) do je d n o s tk i fu n k c jo n a ln e j, zanim można b ędzie załadować no
wy kawałek. Powyższy p ro ces Bucher i Simmons m odelują jak o
t = t , + p p - j t_ + n r (5 .1 )
’ L I 1 I s
gdzie t - czas trw a n ia c a łe j o p e r a c ji wektorowej na w ektorze o d łu g o ś c i n, 1^ - długo ść r e j e s t r u wektorowego,
t L - czas trw a n ia i n i c j a l i z a c j i p ę t l i programowej, s t e r u ją c e j o p e ra c ją p o d z ia łu w ektora na k a w a łk i,
t - zwłoka czasowa związana z ładowaniem nowego kawałka, T - czas c y k lu zegara.
W yko rzystu jąc zależn o ść (5 .1 ) do o b lic z e n ia asymptotycznej- sz yb k o ści prze
tw a rz a n ia r^ d la bardzo d łu g ic h wektorów, otrzymujemy:
r m lim £ = L — < i a n—>a> t t T
r
Widać stąd , że p o d z ia ł wektora na k a w a łk i powoduje z m n iejsz en ie rz e cz yw i
s t e j maksymalnej szybko ści prz etw a rz a n ia w stosunku do te o re ty c z n e j szybkości maksymalnej 1/t. Za pomocą wzoru (5 .1 ) można również modelować p ro c e s o ry typu
“ pamlęć-pamlęć” . Wówczas
55
n
128 320 384
Rys. 5 .1 . Ś re d n i czas p rz etw a rz a n ia wektora w f u n k c ji jego d łu g o śc i F ig . 5 .1 . Mean tim e f o r p ro cessin g a v e c to r vs i t s le n g th
56 Zdzisław SZCZERBIŃSKI
1 > n r t j_ = O t = t
s o
i otrzymujemy z a le ż n o ś ć '(4 .1 ). Warto również zauważyć, że d la wektorów o d łu g o ści równej w ie lo k ro tn o ś c i 1 , wzór (5 .1 ) przyjm uje p o stać lin io w ą
r
t t = t L + n ( t + - p . )
6. MODEL HOCKNEYA
Model Hockneya w swej p ie rw o tn e j w e r s ji [13] o p is u je d z ia ła n ie procesorów wektorowch; w e rsja ro z w in ię ta , d la systemów w ieloprocesorow ych [1 4;1 5 ;1 6 ], stanow i a n a lo g ię w e r s j i p ie rw o tn e j, w k t ó r e j param etry c h a ra k te ryz u ją ce prze
tw arz an ie wektorowe zastąp io n e z o s ta ły parametrami w ynikającym i z syn ch ro n i
z a c ji i kom unikacji procesów w spółbieżnych. J e s t to obecnie n a jp o p u la rn ie js z y model c h a r a k te r y z a c ji w ydajnościow ej, s t a le ro z w ija n y [23] i często cytowany.
Obie w e rsje modelu przedstaw ione zostaną w o d d zieln ych ro z d z ia ła ch .
6 .1 . Wersja wektorowa
6 .1 .1 . H od el k la s y c z n y
Punktem w y jś c ia modelu Hockneya j e s t podstawowa zależność czasu wykonania o p e ra c ji wektorowej t od d łu g o śc i wektora n, zapisana n ie co odmiennie od
(4 .1 )
t = [s + 1 + (n-1) ] r (6 .1 )
gdzie: s - lic z b a c y k li zegara, koniecznych do przygotow ania potokowej je d n o s tk i fu n k c jo n a ln e j (potoku) do wykonania o p e r a c ji wektorowej, m .in. załadowanie d łu g o śc i wektora n do sp ecjaln eg o r e je s t r u , o b lic z e n ie adresu w ektora, odczyt wektora z pam ięci,
1 - lic z b a c y k l i , po k t ó r e j na w y jś c iu potoku p o jaw ia s ię pierw szy wynik, tzn. wynik d z ia ła n ia na pierwszym elem encie w ektora, równy li c z b ie etapów w potoku (długość potoku).
57
Porównując prawe s tro n y (6 .1 ) 1 (4 .1 ), otrzymujemy
t Q = ( s + l - l ) r
Zależn o ść (6 .1 ) przedstaw iono g r a f ic z n ie na r y s . 6.1.
Rys. 6 .1. Czas wykonania o p e r a c ji wektorowej w f u n k c ji d łu g o śc i wektora, wg Hockneya
F ig . 6 .1. Mean time o f a v e c to r o p e ra tio n v s v e c to r len g th , acco rdin g to Hockney
D e f in iu ją c szybkość p rz etw a rz a n ia mierzoną w o p era cja ch zmiennoprzecinko
wych na sekundę ( f lo p s ) , Jak o
r ~ I = s+ l+ (n - l)x (6 ' 2)
uzyskujemy, podobnie ja k w modelu Calahana-Amesa (ro z d z ia ł 4 ), asymptotyczną szybkość p rz etw a rz a n ia d la n iesk o ń czen ie dłu gieg o w ektora jak o
r s lim r ( n )
co n ~ > co 1 /t (6 .3 )
Możemy w ię c z a p isa ć r ( n ) Jak o
58 Zdzisław SZCZERBIŃSKI
r ( n ) = .-s+r+" nL-1-r r M (6 .4 )
Hockney wprowadza nowy param etr, n , d e fin io w an y jak o
>2
n - długo ść po ło w icz n ej w ydajn o ści; j e s t to długo ść wektora, d la
/ ' Z
k t ó r e j o sią g a s ię szybkość p rz etw a rz a n ia równą po łow ie szybkości maksymaneJ ( asym pto tyczn ej):
r ( n ) = r /2
>2
Porównując powyższą d e f in ic j ę z prawą stro n ą (6 .4 ), otrzymujemy
n = b + 1 - 1 ł/ 2
Z ależn o ść (6 .1 ) p rz y b ie ra te ra z p o stać
t ( n ) = r (n + n ) = r 1 (n + n ) (6 .5 )
>2 " >2
Mamy w ięc do c z y n ie n ia z c h a ra k te ry s ty k ą dwuparametrową ( r , n ).
“ 3»2 Powtórzmy je s z cz e raz znaczenie obu parametrów:
r^ - asym ptotyczna (maksymalna) szybkość p rz etw a rz a n ia, mierzona lic z b ą o p e r a c ji zmiennoprzecinkowych na parach lic z b na sekundę ( f lo p s ) ,
n - długość po ło w icz n ej w ydajności (s z y b k o ś c i), c z y l i długo ść wek- /2 to ra , d la k t ó r e j wydajność (szybkość) potoku równa J e s t połow ie
w ydajności (sz y b k o ś c i) maksymalnej.
G ra fic z n ą re p re z e n ta c ję obu parametrów przedstaw iono na ry s . 6 .2 [2 3].
r^ stanowi odwrotność tangensa n a c h y le n ia c h a r a k te r y s ty k i czasowej do o s i d łu g o śc i wektora n. n - to “ ujemną" długo ść w ektora, o d cięte g o na o s i n przez c h a ra k te ry s ty k ę czasową, n można w ięc potraktow ać jak o długo ść wyima- /2
ginowanego wektora, k tó ry n a le ż y przetw orzyć w jed n o stce potokowej zanim za
cz n ie ona d o sta rcz a ć w łaściw e w yn ik i. O dkładając n , ja k na rysunku, na do- d a t n ie j p ó ło s i n, można również in te rp re to w a ć ten param etr jak o długo ść wek\ 2
to ra , którego czas prz etw a rz a n ia ro z kład a s ię d o kład n ie w p o ło w ie na przygo
towanie do właściw ego prz etw a rz a n ia (tz n . d o s ta rc z a n ia przez potok jed n o stk o wego wyniku co c y k l) , stano w iące z punktu w id zen ia efek tyw n o ści o b lic z e ń czas
59
Rys. 6 .2 . I l u s t r a c j a parametrów modelu Hockneya
F ig . 6.2. G ra p h ic a l re p re s e n ta tio n o f the param eters in Hockney’ s model
bezproduktywny, 1 w łaściw e p rz etw a rz a n ie (cz as u ż yte c z n y). P o n iż e j n , pro-
>2 p o rc ja powyższa wypada na n ie k o rz y ść czasu użytecznego, powyżej - na korzyść.
Wynika stą d is t o t n a re g u ła , że prawdziw ie efektyw ne w yk o rz ystan ie komputera wektorowego n a stę p u je p rz y n » n . S tą d znajomość n d la k o n k re tn ej a r c h it e k
ta >2
t u r y w ektorow ej ( ś c i ś l e j : d la każdego j e j potoku, gdyż w arto ść ta może ró ż n ić s ię w z a le ż n o ś c i od o p e r a c ji wykonywanej przez jed n ostkę fu n k c jo n a ln ą ) j e s t podstawą k o n s t r u k c ji algorytmów efektyw nych d la t e j a r c h it e k t u r y .
Warto je s z c z e przedyskutować sens powyższych parametrów w n ieco głębszym u ję c iu , r stano w i odwrotność czasu c y k lu zegara, j e s t to w ięc param etr czys-
CD
to sprzętow y, c h a ra k te ry z u ją c y te ch n o lo g ię u ż ytą p rz y k o n s tr u k c ji procesora wektorowego. S tą d n ie odgrywa on żadnej r o l i p rz y wyborze algorytmów o b lic z e niowych. n n ato m iast c h a ra k te ry z u je sp rz ę t jak o m iara ró w n o leg ło ści (wynika
ją
j ą c e j z u ż y c ia je d n o s tk i potokow ej) w a rc h it e k tu rz e . Ze względu na zależność e fe k tyw n o ści o b lic z e ń od stosunku n/n można uznać, że długość wektora n s t a
ja
nowi m iarę ró w n o le g ło ś c i zadania, zaś stosunek n/n - m iarę ró w n o leg ło ści komputera w c z a s ie wykonywania tego zadania. /2
6 .1 .2 . P r o c e s o r v ie lo p o to k o w y [2 3 ]
W przypadku procesorów w ielopotokowych (p a tr z ro z d z ia ł 2 .2 ) lic z b a równo
le g ły c h potoków N s t a j e s ię w modelu Hockneya istotnym parametrem. W takim
60 Zdzisław SZCZERBIŃSKI
przypadku N jed n o stek fu n k cjo n a ln ych produkuje N wyników w jednym cyk lu , lic z b a c y k li użytecznych koniecznych do wykonania o p e r a c ji wektorowej na wektorze o d łu g o śc i n m aleje w ięc z n do n/N (zakładamy tu, że n j e s t po- d z ie ln e przez N; w przeciwnym przypadku, w c e lu przetw o rzen ia " r e s z t y " wekto
ra , konieczny j e s t jed en dodatkowy c y k l, k tó r y jednak można w o b lic z e n ia c h pominąć p rz y dużym n/N).
O znaczając indeksem N d la pro ceso ra z N równoległym i potokami zdefiniow ane w ro z d z ia le 6 .1 .1 w ie lk o ś c i, możemy w ię c z a p isa ć
t (n ) = r N « 1 (§ + n 'N ~ y ) (6 .6 )
2
r NCn) _ O K I ~ i r “ — r » (6 -7)
N i? + n
N >2
r «o* h “ n ^ g r N(n ) = Nroo (6 ' 8)
O s ta tn ie równanie stanowi matematyczny z a p is oczyw istego fa k tu , że asymp
to tycz n a szybkość prz etw a rz a n ia w zrasta N - kro tn le p rz y N-krotnym po w ie le n iu potoków. D e f in iu ją c , podobnie ja k w ro z d z ia le 6 .1 .1 , długo ść p o ło w icz n ej wy
d a jn o ś c i n otrzymujemy /'2,N ’
i
\
r N (n W N) = - 2 — = N —
P o d s ta w ia ją c równocześnie n do wzoru (6 .7 )
>2,N
n ł , N r „ ( n ) = --- r
N i , . K n oo
" >2>N
--- M-- + N >2 Porównując prawe s tro n y obu powyższych równań, otrzymujemy
V K
= Nn>2(6-9)
Ja k widać, podobnie ja k w przypadku asym ptotycznej sz yb k o ści r , długość
CO
p o io w icz n ej w ydajności w z ro sła N - kro tn le w porównaniu z procesorem Jednopoto-
61
kowym, co n ie j e s t , w p rz e c iw ie ń s tw ie do w zrostu r , k o rzystn e, oznacza bo-
CO
wiem N - k ro tn ie w iększą lic z b ę c y k l i straco n ych bezproduktywnie.
C h a ra k te rystyk ę czasową d la pro ceso ra N-potokowego można z a p isa ć og ó ln ie, a n a lo g ic z n ie do (6 .5 ), Jako
V n) = ( r « ’ K r l ( n + (6 -10)
Poprawność powyższego zapisu można spraw dzić z e s ta w ia ją c ze sobą (6 .6 ), (6. S ) 1 ( 6 .9 ).
6 .1 .3 . Model u o g ó ln io n y d l a a lg o ry tm u
Przedstaw io n e do tychczas w e rsje modelu Hockneya d o ty c z y ły z a le ż n o śc i cza
sowych, w ystęp u jących p rz y wykonywaniu je d n e j, o k re ś lo n e j o p e r a c ji wektoro- w ej. Model można u o g ó ln ić d la całego algorytm u ob liczeniow ego, będącego s e k w encją o p e r a c ji wektorowych. Ig n o ru je s ię w tym wypadku w sz e lk ie o p eracje sk a la rn e , co prowadzi do nieadekw atn ości tak ie g o modelu d la algorytmów, w k tó ry ch o b lic z e n ia sk a la rn e w Is t o t n y sposób w pływ ają na czas wykonania
(p a tr z Z a łą c z n ik ).
Czas wykonania algorytm u T można z a p isa ć Jak o
T = r 1 (s + n q) (6 .1 1 )
> 2
lub
T = r 1q (n + n ) (6 .1 2 )
y2
g d zie: s - c a łk o w ita lic z b a o p e r a c ji elem entarnych na lic z b a c h zmiennoprze
cinkowych (tz n . między parami ta k ic h li c z b ) , q - lic z b a o p e r a c ji wektorowych w a lg o ry tm ie ,
n - śre d n ia długo ść w ektora przetwarzanego w a lg o ry tm ie , n=s/q.
W obu powyższych równaniach zakłada s ię , że param etr n j e s t s t a ł y 1 n le - /z
z a le ż n y od typu o p e r a c ji wektorowej. W p ra k ty ce j e s t to dość rz a d k i przypadek (warunkiem koniecznym, choć n iew ystarczającym , j e s t id en tyczn a długo ść poto
ków r e a liz u ją c y c h w sz ys tk ie q o p e r a c ji) . D lateg o, aby apoksymacja b y ła le p sza, można p r z y ją ć , że u żyte w równaniach (6 .1 1 ) i (6 .1 2 ) n j e s t w a rto śc ią ś re d n ią d la w sz y s tk ic h o p e r a c ji wektorowych. /2
62 Zdzisław SZCZERBlrtSKI
6 .1 . 4 . U p ływ p rz e s y łó w p ro c e so r- p a m ię ć
Szybkość prz etw arz an ia przez jed n o stkę potokową j e s t zazwyczaj k ilk a k r o t n ie w iększa od szybkości p rz e s yłu danych między procesorem i pam ięcią. Powyż
sze z jaw isk o n o si w li t e r a t u r z e nazwę " ’ wąskiego g a r d ła ’ von Neumanna" lub
"w ąskiego g a rd ła w d o stę p ie ( t r a n s m is ji) do p a m ięci“ . Efektyw na szybkość prz etw a rz a n ia za le ż eć w ięc będzie od i l o ś c i o b lic z e ń przyp ad ających na dostęp do p am ięci. Hockney [15] stw o rz ył adekwatny model, z a k ła d a ją c y , że czas każdego dostępu do pam ięci, po leg ającego na o d c z y c ie / z a p is ie w ektora z/do pam ięci, s p e łn ia zależność a n a lo g icz n ą do (6 .5 )
t = (n + nm ) / r m 1 , to
/ Z
g dzie indeks m oznacza param etr odnoszący s ię do dostępu do pam ięci. Możemy w ięc w tym momencie mówić o "potoku" t r a n s m is ji, d z ia ła ją c y m w o d n ie s ie n iu do p rz e s y łu danych. Param etry potoku arytm etycznego, omówione w ro z d z ia le 6 .1 .1 , oznacza s ię w tym przypadku indeksem a, co nadaje równaniu (6 .5 ) po stać:
t = (n + na ) / r a
1, ra
/2
P rz y z a ło ż e n iu f o p e r a c ji zmiennoprzecinkowych przyp ad ających na 1 dostęp do pam ięci, można śre d n i czas wykonania o p e r a c ji wektorowej t , p rz y uwzglę
d n ie n iu przesyłów do pam ięci, z a p isa ć jak o
t = (n + n ) / r l , »
/2 gdzie:
ra -i ’ x = f ’ • f . =i r
>2 /2 r a
m a
n n
>2 + >2 X 1 + X
Param etr f wprowadzony tu z o s ta ł przez a n a lo g ię do n ; oznacza on war-
/2 _ 1/2
to ś ć f wymaganą d la o s ią g n ię c ia przez r^ (asym ptotyczna szybkość p rzetw arza
n ia z uwzględnieniem dostępów do p a m ięci) połowy w a rto ś c i r a (asym ptotyczna
szybkość p rz etw a rz a n ia przez samą Jed n ostkę potokową, bez uw zględniania dos
tępów do p a m ię c i), f j e s t parametrem sprzętowym; porównanie f (ch arakteryzu -
>2
Jące g o alg o rytm ) z f j e s t pomocne p rz y szacowaniu "rz e c z y w is te j asymptotycz-
1 /2 -
c z n e j” sz yb k o ści p rz etw a rz a n ia r . Można zauważyć, że p rz e b ie g i fu n k c ji r a (n ) (wzór 6 .4 ) 1 r ( f ) są id entyczne.
00
6 .2 W e rs ja w ieloprocesorow a
Rozw inięciem modelu Hockneya d la a r c h it e k t u r typu MIMD J e s t (rów nież dwu- param etrowa), w e rsja w ieloprocesorow a [15,161. T ra k tu je ona program równo- le g ly (tz n . program, którego fragm enty wykonywane są w sp ó łb ież n ie w o d d z ie l
nych p ro ceso ra ch ) jak o sekwencję tzw. segmentów p ra cy ró w n o le g łe j. W każdym z t a k ic h segmentów wykonywane o b lic z e n ia (p ra c a ) d z ie lo n e są między szereg lo g ic z n ie n ie z a le ż n yc h stru m ie n i rozkazów; każdy z tych stru m ie n i wykonywany j e s t przez o d d z ie ln y p ro ceso r. Przez lo g ic z n ą n ie z a le ż n o ść stru m ie n i rozumie s ię t u t a j brak po trzeby kom unikacji między nim i. Is t o t ą segmentu p ra cy równo
le g ł e j J e s t sy n c h ro n iz a cja o b lic z e ń w momentach Jego ro zpo częcia i zakończe
n ia . W sz ystk ie o b lic z e n ia (s tru m ie n ie rozkazów) w segmencie muszą zostać za
kończone, zanim można będzie rozpocząć nowy segment. Oznacza to , źe w ramach segmentu, j e ś l i d łu g o ś c i stru m ie n i rozkazów będą różne, to stru m ie n ie d łu ż sze, k tó re z d ą ż y ły s i ę ju ż wykonać, będą “ czekać" na k ró tsz e , k tó re s ię je s z cz e wykonują. S y n c h ro n iz a c ja taka wiąże s ię z isto tn ym nakładem czasowym, na k tó ry s k ła d a ją s ię ;
1) i n i c j a c j a każdego ze stru m ie n i,
2) badanie, czy w sz ys tk ie stru m ie n ie s ię ju ż zakończyły.
Powyższe czynno ści wykonywane są przez nadzorczy program s t e r u ją c y . Wyni
k a ją c y stąd dodatkowy n akład czasowy w p r z e lic z e n iu na (u żyteczn e) o p eracje zmiennoprzecinkowe, j a k ie mogłyby w tym c z a s ie być wykonane, symbolizowany J e s t przez param etr s (p a trz ro z d z ia ł 4 .1 .1 ); ró ż n ic a polega je d y n ie na ro-
)fz
d z aju ró w n o le g ło ś c i, j a k i e j param etr do tyczy. Wzorowana na (6 .5 ) zależność czasowa d la i- te g o segmentu p ra cy ró w n o leg łe j ma po stać:
t = ( r ) - ł (s + s ) (6.13)
"■ ł 1 > 2,.