Mai o!ng "#ng 1. Gii Thiu Nhng vn tinh toan phc tp trong nhng nganh khoa hc k thut ngay nay chng hn nh thin vn, y hc, ia ly, and cng trinh ky thut oi hoi dung long cua b nho toi hng t bytes (gigabytes) va tc s ly ln n hng triu hay ti s thp phn trong mi giy (Ilops/glops). Dng troc th thach o, nganh tin hc a nghin cu va ch to ra nhng h thng vi tinh siu tc (high perIormance computer- HPC) song song khng l ap ng li s oi hoi tinh toan nhanh va phc tp. Tuy nhin hin nay co nhiu khuynh hong ch to nhng h thng vi tinh song song khng l chng hn nh nhng may vi tinh oc thit k t bit chi danh cho nhng cng trinh oi hoi su tinh toan nhanh va cao, nhng im yu cua nhng may vi tinh c bit nay la gia thanh xy dung qua c va khng th ni rng gia tng tc & b nho (scalability). Cho nn trong bai nay chung ta se m ta nhng th loi & m hinh tiu biu va co kha nng phat trin va a vao ng dung trong thuc t va se khng k cp n nhng may vi tinh siu tc thit k c bit. Tng quat co vai th loi & m ta nh sau: (1) "$ng chung %& nh: Phong phap nay la xy dung nhng may vi tinh co vai chuc cho n hng trm trung tm tin toan hay Central Processing Unit (CPU) va xai chung mt b nho rt lon. H thng nay oc gi Shared Memory (SM). (2) 'hng ($ng chung % nh : Phong phap nay trng dung nhng may vi tinh ang oc sai trong nhng xi nghip va vn phong nhng lin kp nhng may o thanh mt mng loi co tu vai chuc, hay vai trm cho n hng ngan may vi tinh. H thng nay oc gi la Distrributed Memory (DM). Nu chy mt minh, thi chi la nhng vi tinh binh thong nhng nu hop chung li thanh mt mng loi thi se thanh mt may tinh khng l chy nhanh gp bi (Tanenbaum A. 2001). Ham y la h thng nay phai co mt mi trong phn mm iu kin va phn phi cng vic gia nhng may vi tinh. (3) Tng h)* *h+,ng *h* -./ an( -0/: Tng hop phong phap I and II: Ap dung nhng u im cua mi m hinh, phong phap nay bao gm nhng may vi tinh dung chung b nho (Shared Memory) oc gn voi nhau va to thanh mt mng loi vi tinh khng l va con oc gi la Distributed Shared Memory (DSM). Chu cua bai vit nay la gioi thiu n ngoi c v su cu truc, m hinh, va so sanh nh khac bit gia nhng loi vi tinh song song vua oc nu trn (1) and (2). Phn k tip m ta so loc v lich s va cu truc va tu ng oc dung trong vic m ta nhng h thng vi tinh noi trn. Phn ba se gioi thiu v h thng vi tinh dung chung b nho (SM), h thng vi tinh co b nho phn phi (DM), va so sanh u im va nhoc im cua mi loi. Sau cung la kt lun tom tt ni dung bai vit va gioi thiu so v bai vit noi v phong phap lp trinh song song. 1.1. Thut ng dng trong bi vit ny CU control unit (b phn quan ly) DSM: Distributed Shared Memory (phn tan va chia se b nho ao) DM: Distributed Non-Shared Memory (phn tan b nho hay khng chia se b nho) HPC: High PerIormance Computer (vi tinh siu tc) GFLOPS: ti Iloating point operation per second (triu tinh toan s thp phn mi giy ng h) MFLOPS: million Iloating point operation per second (triu tinh toan s thp phn mi giy ng h) MM Memory module (b nho) PU Processor unit (b phn tinh toan) SH: Shared memory (chia se b nho) SM Share memory (b nho sai chung) 2. Cu trc & phn o!i vi t"nh Vi tinh co th chia ra thanh nhiu th loi dua trn cu truc cua no. Hin nay co vai phong phap phn loi vi tinh (Reitinger , B 2001) nh sau: 1. Flynn Phn Loai (Flynn's ClassiIication) 2. Erlanger Phn Loai (Erlanger ClassiIication Scheme-ECS) (se khng cp n vi khng ph bin) 3. Su kt hop giu b nho & b x ly (Memory-processor connectivity) 2.1 #h$n o!i th%o &ynn '(%iting%r ) * 2++1, Dua trn dong tin tc va s ly (data & instruction) Flynn a a ra 4 loi vi tinh khac nhau. Nhng m hinh nay oc m ta nh sau: S1S" Vi tinh tinh toan dung mt lnh tinh mt tin tc a vao con oc gi Singe-Instruction stream, Singe-Data stream. Loi vi tinh nay la nhng vi tinh thng thong co mt trung tm quan ly (single CPU) nh m ta trong Hinh 1. Cach tinh toan cua SISD co th m ta nh lam kiu thu cng. Mt ngoi chi bit lam ung mt mon hang va lam tu A n Z. C U I S P U M M D S I S nh .2 34u t56c c7a S1S" -Hwang, K., Briggs, F. 1990/ S1M" Vi tinh tinh toan dung mt lnh tinh nhiu tin tc a vao con oc gi Singe-Instruction stream, Multiple-Data streams nh m ta trong nh 0. Thong thi loi nay la nhng vi tinh co mt chui trung tm quan ly (array processors). Cach tinh toan cua SISD co th m ta nh lam kiu dy chin. Mt ngoi lam mt chc nng trong dy chin san xut. C U M M M M M M P U P U P U . . I S I S I S D S 1 D S 2 D S 3 nh 02 34u t56c c7a S1M" (Hwang, K. et al) M1S" Vi tinh tinh toan dung nhiu lnh tinh mt tin tc a vao con oc gi Multiple-Instruction streams, Singe-Data stream nh m ta trong nh 89. Trong thuc t loi nay khng co ng dung. C U M M M M M M P U P U P U . . I S 2 I S 1 I S n C U C U D S . . . . D S I S 1 I S 2 I s n nh 92 34u t56c c7a M1S" -Hwang, K. et al) M1M" Vi tinh tinh toan dung nhiu lnh tinh nhiu tin tc a vao con gi Multiple-Instruction streams, Multiple-Data streams nh m ta trong nh :. Loi vi tinh nay thong la tp hop nhng vi tinh thng thong kt hop li voi nhau. H thng MIMD co th vi du nh la mt may san xut voi nhiu dy chuyn va mi dy chuyn hot ng c lp va khng phu thuc vao nhng dy chuyn khac. C U M M M M M M P U P U P U . . I S 2 I S 1 I S n C U C U . . . . I S n I S 2 I S 1 I S 1 I S 2 I S n nh :2 34u t56c c7a M1M" (Hwang, K. et al) 2.2 #h$n o!i th%o -. /t h0p giu b1 nh & b1 23 4 '(%iting%r ) * 2++1, Phong phap nay chia vi tinh ra lam 3 loi dua trn nguyn tc kt ni gia b nho va b x ly chia se b nho (Shared-memory) phn tang b nho (Distributed memory) kt hop phong phap 1 & 2 (Distributed shared memory) Chia s b nh (Shared memory) Trong trong hop nay nhiu b x ly se dung chung mt b nho (global address space) nh m ta trong inh ;. D tranh tinh trnh vit tin tc ln nhau thi phn mm phai dung khoa (lock hay semaphore) am bao tinh ung n cua tin tc. n e t w o r k P 0 P 1 P n . . . . . . . . . . . . . . . . M 0 M 0 M 0 . . . . . . . . . . . . . . . . nh ;2 34u t56c c7a <i tnh ($ng chung %& nh -sha5=(8m=mo5y/ Phn tng b nh (Distributed memory) Phn tang b nho Trong trong hop nay mi b x ly se co mt b nho ring nh m ta trong nh >. D trao i tin tc, nhng b x ly lin lc voi nhau qua ong dy cap (network) n e t w o r k P 0 P 1 P n . . . . . . . . . . . . . . . . M 0 M 0 M 0 nh >2 34u t56c c7a <i tnh c? 5ing %& nh -(ist5i%ut=( m=mo5y/ Kt hp ph!ng php " # $ Phong phap nay kt hop hai phong phap vua nu trn va gi la phn tang & chia se b nho va m ta trong nh @. n e t w o r k P 0 P 1 P n . . . . . . . . . . . . . . . . M 0 M 0 M 0 c a c h e c a c h e c a c h e v i r t u a l a d d r e s s s p a c e nh @2 34u t56c c7a h thng <i tnh tng h)* -(ist5i%ut=( sha5=( m=mo5y/ 5. Gii thiu v -o -6nh h7i h th8ng vi t"nh -i9u t8c -ong -ong /h:ng ; ti9u bi<u Gioi thiu va so sanh hai h thng vi tinh siu tc song song khng l tiu biu Noi chung nhng h thng siu tc song song thi thong thong co cu truc cua MIMD, cho nn trong bai ny chung ta se cp n nhng h thng vi tinh co c tinh MIMD. Dng thoi chi noi v co hai loi h thng vi tinh siu tc song song ang thinh hanh o la chia se b nho (shared memory) va phn tan b nho (distributed memory). Cu truc khac nhau gia SM and DM ong vai tro quan trng trong vic lp trinh (Quammen, C. 2000). Sau y la su phn tich tinh cht, u im va nhoc im cua mi h thng. 5.1 = th8ng chi7 -> b1 nh. '?h7r%d @%@ory, ABc CiDmE Nh m ta trong phn 2.2, h thng chia se b nho la mt h thng co nhiu b s ly dung chung mt b nho (global address space). Fng (GngE H thng chia se b nho oc dung trong nhng vn ma l liu trong qua trinh tinh toan lin quan va phu thuc vao nhau (Iine grained parallel computing jobs - Reitinger , B. 2001) Chng hn nh kt qua tinh toan cua phn A trong chong trinh thi oc dung trong phn B cua chong trinh, noi cach khac, tinh toan cua phn B thi phu thuc vao kt qua tu phn A. Vi du nh nghin cu v thoi tit co th chia ra lam nhiu chong trinh nho. Mi chong trinh se tinh toan mt phn nh nhit , ap sut, va thoi gian. Nhng gia tri cua nhng chong trinh nay thi phu thuc vao ln nhau. Hu CiDmE H thng chia se b nho thi oc nghin cu nhiu nm cho nn no co nhng kt qu ang kh quan. Hon na h thng nay chi co mt b nho chung (global address space), nn vic lp trinh thi on gin hon so voi lp trinh trn h thng phn tan b nho. Ih+Jc CiDmE Boi vi chia s b nho cho nn dn n tinh trng dung chung phn b nho va co th vit tin tc chng ln nhau va dn n kt qua ngoai y mun. D am bao khng co vic vit lm tin tc ln nhau, h thng chia se b nho oi hoi lp trinh phai dung phong phap tm gi synchronization hay khoa (lock, semaphore) va cho phep mt va chi mt chong trinh dung phn b nho o thi. Mt khac, phong phap synchronization dn n trong hop tranh gianh b nho gia cac chong trinh va mt trong hai trong hop sau co th xy ra: (1) cnh tranh khng li thoat (deadlock); (2) oi vinh vin (starvation). Nhoc im nay lam cho h thng chia se b nho bi gioi hn s long b x ly trn may vi tinh. Vi s long cua b x ly anh hong truc tip toi vn synchronization. Noi cach khac, s long cua b x ly cang nhiu thi tc cua h thng gim i boi vi synchonization phu thuc vao s long cua b x ly. 5.2 = th8ng ph$n t6ng h7y /hAng chi7 -B b1 nh. 'di-tribut%d @%@ory, ABc CiDmE H thng nay bao gm nhng vi tinh oc dung hng ngay trong oi sng va lam vic va kt ni voi nhau thanh mt mng loi qua giy cap. H thng con oc gi la mng loi vi tinh thong (commodity cluster computers). H thng nay c m ta trong phn 2 cua bai. Fng (GngE H thng chia se b nho oc dung trong nhng vn ma l liu trong qua trinh tinh toan khng phu thuc vao nhau hay it phu thuc (coarse grained problems - Reitinger , B. 2001) Hu CiDmE H thng nay ang oc nghin cu va bt u oc a vao thuc tin vi no co nhng u im sau: Dung oc nhng may vi tinh thng thong, dn n gim gia xy dung h thng Trong thuc t co rt nhiu vn tin toan trong kinh t va ky thut oi tc nhanh va gia xy dung vua phai. May tinh thng thong cang ngay cang nhanh nhng gia thi cang re, va d kim Da s cac nha may, xi nghip, va vn phong iu a va ang dung nhng may vi tinh thng thong.. Ih+)c CiDmE Boi phn phi b nho cho nn vic lp trinh cho h thng nay vn con la rt kho khn cho lp trinh vin. Lp trinh vin oi hoi phai co nhiu kinh nghim v vit lp trinh trn mng loi, va iu nay dn n tinh trng d bi co li. Ngoai ra h thng nay con oi hoi chong trinh phai goi tin tc qua ong dy cap (network) va co th lam tht lc tin tc trong qua trinh dn chuyn. Hon na tc x ly phu thuc vao tc chuyn tin tc trn mng. C. TD@ tEc Trong bai nay chung ta a noi so loc qua hai loi m hinh cua vi tinh siu tc tiu biu ang phat trin va thinh hanh trong cng ngh thng tin. So sanh u im va nhoc im cua mi m hinh giup nhng k s, qun ly cng trinh hay nha k thut chn ung m hinh tuy theo cng vic va tai chinh cua h va t oc nng xut cao nht voi chi phi thp nht. Ngoai ra hin nay con mt loi vi tinh song song ging nh phn phi b nho nhng dung mng loi Internet ni nhng may vi tinh li voi nhau va oc gi la Grid Computing. Grid computing vn con trong trong qua trinh nghim cu va th nghim. Dc gia co th coi thm tai liu trong sach va trn Internet. Dn y chung ta a co khai nim nh th nao la nhng vi tinh siu tc. Bai toi chung ta s gioi thiu v nhng m hinh lp trinh song song cho nhng h thng vua nu trn. Tham Khao Hwang, K., Briggs, F. (1990). Computer Architecture and Parallel Processing. McGrawHill, Inc. New York, NY Judge, A., Nixon, P. A., Cahill V. J, Tangney, B., Webber, S. (199). Overview oI distributed shared memory. Dept. oI Computer Science, Trinity College, Dublin. Retrieved on April 1, 2004. Quammen, C. (2000). Introduction to Programming Shared-Memory and Distributed Memory Parallel Computers. ACM Crossroad, Student Edition. http://www.acm.org/crossroads/xrds-3/programming.html. Retrieved on April, 1 2004. Richardson, B. 199. NCSA, Parallel computing tutorial. http://archive.ncsa.uiuc.edu/SCD/Training/materials/html/intro/. Retrieved on M arch 19, 2004 Reitinger , B.(2001). Parallel Computing. http://www.gup.uni-linz.ac.at/thesis/diploma/bernhardreitinger/main/node10.html. Retrieved on March 19, 2004