xlss congchien truongthuat vanson caocuong

Upload: thuatbk

Post on 04-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    1/36

    TRNG I HC BCH KHOA

    KHOA CNG NGH THNG TIN

    B MN MNG V TRUYN THNG

    BO CO MN HCX L SONG SONG

    ti :

    TRNH BY V VIT CHNGTRNH MINH HA CHO PHNG PHPPARALLEL BUCKET SORTING

    Sinh vin thc hin : Nguyn Trng Thut 08T2Dng Vn Sn 08T2Nguyn Cng Chin 08T3

    Tr Cao Cng 08T3Nhm : 12Cn b hng dn : Th.S. Nguyn V Quang ng

    Nng 01/2013

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    2/36

    Bo co mn hc x l song song

    MC LC

    CHNG I.TNG QUAN V TI.......................................................4

    Bi cnh v l do thc hin ti...................................................................4CHNG II. C S L THUYT V TNH TON SONG SONG.......6

    II.1. Tnh ton song song ......................................................................................6II.1.1. Tnh ton song song l g .....................................................................6II.1.2. Ti sao phi tnh ton song song .........................................................6

    II.2. Phn loi my tnh song song........................................................................7II.2.1. Phn loi da trn s tng tc gia cc BXL ....................................7

    II.2.2. Chia s b nh chung..................................................................7II.2.3. B nh phn tn .........................................................................9II.2.4. My tnh vi b nh lai ............................................................10

    II.2.5. Phn loi da trn c ch iu khin chung ......................................11II.2.6. H thng n lnh a d liu (SIMD) ......................................11II.2.7. H thng a lnh a d liu (MIMD) .......................................11

    II.3. Cc m hnh lp trnh song song .................................................................13II.3.1. Tng quan v m hnh lp trnh song song .......................................13II.3.2. M hnh chia s b nh chung ...........................................................13II.3.3. M hnh lung ..................................................................................14II.3.4. M hnh truyn thng ip ................................................................14II.3.5. M hnh song song d liu ...............................................................15II.3.6. M hnh lai ........................................................................................16

    II.4. Hiu nng ca tnh ton song song ..............................................................16II.4.1. nh lut Amdahls ...........................................................................16II.4.2. Cn bng ti .......................................................................................17

    II.4.3. Cc thut ton cn bng ti tp trung ...................................17II.4.4. Cc thut ton cn bng ti phn tn hon ton .....................18II.4.5. Cc thut ton cn bng ti phn tn mt na ........................18II.4.6. S b tc(Deadlock) ................................................................18

    CHNG III. GII THIU V LP TRNH SONG SONG VI MPI.........................................................................................................................21

    III.1. Gii thiu v MPI:......................................................................................21

    III.2. Cc hm thng dng trong MPI:.................................................................21III.2.1. Cc hm MPI ph bin......................................................................21III.2.2. Cc kiu d liu c dng vi MPI.................................................23III.2.3. Cc hm tnh gp trong MPI.............................................................24

    CHNG IV.TRIN KHAI TI.........................................................25IV.1. Thut ton sp xp.....................................................................................25

    IV.1.1. Sp xp theo gi (Bucket sort)..........................................................25IV.1.2. Thut ton tun t.............................................................................25IV.1.3. Thut ton song song........................................................................26

    IV.1.4. Phn tch: ...............................................................................28

    IV.1.5. M ngun.................................................................................30

    2

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    3/36

    Bo co mn hc x l song song

    IV.1.6. Kt qu thu c......................................................................32IV.2. Demo..........................................................................................................33

    KT LUN....................................................................................................35

    TI LIU THAM KHO............................................................................36.........................................................................................................................36

    3

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    4/36

    Bo co mn hc x l song song

    CHNG I.TNG QUAN V TI

    Bi cnh v l do thc hin ti.

    Theo truyn thng, phn mm my tnh c ni tip bng vn bn chocc tnh ton. gii quyt vn , mt thut ton c xy dng v thc hin nhmt ni tip ca dng hng dn. Nhng hng dn ny c thc hin trn mtCPU trn mt my tnh. Ch c mt hng dn c th thc hin ti mt thi giansau khi lnh c hon thnh, tip theo c thc hin.

    Tnh ton song song tnh ton, mt khc, s dng cc yu t x l ng thinhiu gii quyt mt vn . iu ny c thc hin bng cch ph v cc vn

    thnh nhng phn c lp sao cho mi thnh phn ch bin c th thc hinmt phn ca ca thut ton ng thi vi nhng ngi khc. Cc yu t c thc ch bin a dng v bao gm cc ngun ti nguyn nh mt my vi tnh vinhiu b x l, mt s my tnh ni mng, phn cng chuyn ngnh, hoc kt hp

    bt k ca cc bn trn.

    Tn s rng l l do chi phi i vi nhng ci tin trong hiu sut my tnh tgia nhng nm 1980 n 2004. Thi gian chy ca mt chng trnh bng slng cc hng dn nhn vi thi gian trung bnh theo hng dn. Duy tr mi

    th khc khng i, tng tn s ng h lm gim thi gian trung bnh cn thchin mt ch dn. S gia tng tn s do lm gim thi gian chy cho tt c cctnh ton-chn cc chng trnh.

    Phng php trin khai.

    Xy dng c s l thuyt cho ti

    S dng cc hm truyn thng cng tc xy dng chng trnh tr vmng l dy s c xp xp theo th t tng dn.

    Trin khai v chy chng trnh trn mi trng Linux

    Kt cu ca ti.

    Gii thiu v x l song song .

    Lp trnh MPI.

    Nguyn l thit k 1 gii thut song song .

    M t gii thut song song i vi bi ton .

    4

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    5/36

    Bo co mn hc x l song song

    Kt qu trin khai chy song song.

    Kt lun v nhn xt

    5

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    6/36

    Bo co mn hc x l song song

    CHNG II. C S L THUYT V TNH

    TON SONG SONGII.1. Tnh ton song song

    II.1.1. Tnh ton song song l g

    Nh chng ta thy cc phn mm ph bin ngy nay hu ht u c vittrn c s ca tnh ton tun t. Cc phn mm ny thng c thc hin trnmt my tnh n vi duy nht mt b x l. Vn y c gii quyt thng

    qua mt chui cc lnh tun t c thc hin bi mt b x l. Ti mt thi imch c mt lnh c thc hin.

    Tnh ton song song ra i l mt s ci tin ca tnh ton tun t. N l s

    gii quyt vn da trn s thc thi ng thi ca nhiu ti nguyn mytnh . Ti nguyn my tnh y bao gm:

    Mt my tnh n vi nhiu b x l

    Nhiu my tnh ni li vi nhau thnh mt mng my tnh

    Kt hp c hai loi trn

    Tnh ton song song thng c dng gii quyt cc vn ht scphctp yu cu thi gian tnh ton ln hoc lm vic vi khi d liu ln nh ccbi ton

    d bo thi tit, m phng tai nn xe hi, xy dng cc m hnh thng mi vcc vn khoa hc nh khai ph d liu , tr tu nhn to, an ton d liu

    II.1.2. Ti sao phi tnh ton song song

    Vic tnh ton song song l rt cn thit. Ngoi hai nguyn nhn chnh l nc dng tnh ton cc bi ton yu cu thi gian tnh ton ln v khi lngd liu ln cn c cc nguyn nhn khc nh s dng ti nguyn ca ccmy khc trong mt mng LAN hoc thng qua mng internet, c th s dngnhiu ti nguyn

    tnh ton nh kt hp li to nn mt siu my tnh. Do gii hn v khng gian lu

    tr

    6

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    7/36

    Bo co mn hc x l song song

    ca b nh trn mt my n gii quyt mt vn ln vic s dng nhiu bnh trn nhiu my tnh l rt hu hiu trong trng hp ny.

    Gii hn ca tnh ton tun t bao gm c hai nguyn nhn thc t v nguynnhn vt l. xy dng nn mt my tnh tun t tc cao gp rt nhiu hnch

    V tc truyn d liu: Tc truyn ca my tnh tun t ph thuctrc tip vo s di chuyn d liu trong phn cng. Cho nn vic tngtc thc hin phi ch yu cn c vo cc yu t tnh ton.

    V kch c: Cng ngh ch to b x l cho php gn nhiu bng bndn

    trn mt con chip. Tuy nhin vic lm ny s lm tng kch thc ca b x l 4

    V thng mi: Vic to ra mt b x l tc x l cao l rt tn km.S dng nhiu b x l nh t hiu qu tng t m li t tn km hn

    II.2. Phn loi my tnh song song

    II.2.1. Phn loi da trn s tng tc gia cc BXL

    Mt trong nhng kha cnh quan trng ca my tinh song song l c ch trao

    i thng tin gia cc BXL.C ba kin trc ph bin nht l kin trc chia s bnh chung ( shared memory) kin trc b nh phn tn (distributed memory) vkin trc b nh lai(hybrit distributed-shared memory)

    II.2.2. Chia s b nh chung

    7

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    8/36

    Bo co mn hc x l song song

    Hnh 1.1: My tnh song song chia s b nh chung

    My tnh loi ny s dng b nh chia s ton cc (global shared memory) mtt c cc BXL u c th truy cp n. Mt BXL ny c th trao i thng tin vimt

    BXL khc bng cch ghi vo b nh ton cc v BXL th hai s c d liu ticng

    v tr trong b nh. iu ny cho php trao i thng tin gia cc BXL.Tuynhin

    dn n mt vn l ng thi c nhiu BXL cng truy cp ti cng mt v trtrong

    b nh ton cc. My tnh loi ny c hai loi chnh da trn thi gian truy cp bnh

    Th nht l my tnh truy cp ng b (UMA). L loi my tnh vi cc BXLging nhau. Tt c cc BXL u c th truy cp b nh ng thi v thng quamt BUS dng chung.

    Hnh 1.2: My tnh Uniform Access Memory(UMA)

    My tnh loi ny c loi gi l Cache coheren-UMA (CC-UMA). Cachecoheren y c ngha l khi mt BXL cp nht mt v tr trong b nh th tt c

    cc BXL khc u nhn bit c s cp nht y.

    8

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    9/36

    Bo co mn hc x l song song

    Th hai l my tnh truy cp khng ng b (NUMA) .Vi my tnh loi nyc mt ng vt l ni hai hay nhiu SMP li vi nhau.

    Hnh 1.3: My tnh Nun-Uniform Access Memory (NUMA)

    Mi mt SMP li c th truy cp ti b nh ca SMP khc, tuy nhin vi kintrc kiu ny th tt c cc BXL khng th truy cp cng mt lc ti cc b nh vvi vic kt ni cc SMP bng ng vt l nn thi gian truy cp b nh chm.

    My tnh chia s b nh chung c thun li l gip cho ngi lp trnh thuntin khi vit cc chng trnh song song. D liu chia s gia cc nhim v m

    bo c hai tiu chun nhanh v ng thi. Tuy nhin my tnh loi ny c mt skh khn l rt kh m rng s lng cc BXL v vic thm cc BXL v phngdin hnh hc c th lm tng cc ng kt ni gia b nh ton cc v cc BXL.

    i vi h thng Cache coheren th lm tng s chuyn thng gia cache v thitb qun l b nh. Vi my tnh loi ny ngi lp trnh phi chu trch nhimng b chng trnh m bo tnh ng n ca d liu dng chung.

    II.2.3. B nh phn tn

    Ngc vi my tnh chia s b nh chung l my tnh vi b nh phn tntrong khng tn ti b nh chia s chung m mi BXL c b nh cc b ringca chng. Trong my tnh song song c b nh phn tn cc BXL lin lc vinhau bng

    cc thng ip (message) qua mt mng lin kt (interconnection network) gmcc

    lin kt truyn thng trc tip gia mt s cp BXL.Mt trong nhng la chnquan

    trng trong thit k lc s l cc cp BXL no c ni vi nhau.Tc linlc l ti u khi cc BXL c ni trc tip vi nhau.Tuy nhin iu ny thng lkhng

    9

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    10/36

    Bo co mn hc x l song song

    kh thi do s lng cc lin kt l qu ln gin n vic tng gi thnh ca hthng.

    Cch th hai c s dng l cc b s l lin lc thng qua mt BUS chias. iu ny dn n vic tr cao khi s lng BXL ln dn n vn tranhchp BUS.

    Hnh 1.4: My tnh c b nh phn tn

    II.2.4. My tnh vi b nh lai

    Hu ht cc my tnh nhanh v ln ngy nay u xy dng da trn s kt hp

    gia kin trc chia s b nh chung v b nh phn tn. S kt hp to nnmt my tnh vi tn gi my tnh c b nh lai.

    Hnh 1.5: My tnh b nh lai

    Cc thnh phn chia s b nh chung trong my tnh b nh lai thng l cc

    my CC-SMP. Cc BXL trong thnh phn chia s b nh chung c th truy cp bnh ton cc ring ca thnh phn . Thnh phn b nh phn tn c bit nh

    10

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    11/36

    Bo co mn hc x l song song

    l mt mng cc SMP.Cc SMP ch c th truy cp n b nh ton cc trongthnh phn chia s b nh phn tn ca chng ch khng truy cp c b nhca cc thnh phn chia s b nh chung khc. Ci mng kt ni c xy dng

    chuyn d liu t SMP ny n SMP khc.

    II.2.5. Phn loi da trn c ch iu khin chung

    Phn ln cc my tnh song song thng c mt c ch iu khin chung songvn t ra y l cc hot ng ca my tnh c iu khin mc no.Xem vic iu khin theo hai kha cnh khc nhau. Kha cnh th nht: C chiu khin chung ch c s dng np chng trnh v d liu vo cc BXLcn sau cc BXL hot ng c lp. Kha cnh th hai: C ch iu khin c

    s dng hng dn cc BXL cc cng vic phi lm ti mi bc. Gia hai khacnh ny l nhng cch iu khin trung gian. Hai loi c ch iu khin phbin nht l.

    II.2.6. H thng n lnh a d liu (SIMD)

    Cc my tnh vector thuc vo loi ny. Mi my tnh vector c th thc hinmt dng lnh. Tuy nhin n c nhiu BXL s hc khc nhau m mi BXL ny c

    khnng np v x l d liu ring ca n. Bi vy trong bt k thi im no mt

    thao tc lun cng trng thi thc thi trn nhiu n v x l m mi trong s chngc

    th x l d liu ring r.

    Hnh 1.6: H thng n lnh a d liu(SIMD)

    II.2.7. H thng a lnh a d liu (MIMD)

    Phn ln cc my tnh a x l hin nay u thuc vo loi ny. Trong ccmy tnh loi ny nhiu dng lnh c th thc hin cng mt v mi dng lnh cth x l d liu ring bit. Cc my tnh loi ny ban u c rt t tng tc giacc BXL. Song hin nay phn ln cc my tnh u c thit k cho php tngtc gia cc BXL c thc hin mt cch hiu qu. C th lit k mt s my tnh

    11

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    12/36

    Bo co mn hc x l song song

    loi nynh: Symmetry, TC2000, nCUBE2, Paragon XP/S v Connection MachineCM-5.

    Hnh 1.7: H thng a lnh a d liu(MIMD)

    12

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    13/36

    Bo co mn hc x l song song

    II.3. Cc m hnh lp trnh song song

    II.3.1. Tng quan v m hnh lp trnh song song

    Vic a ra mt m hnh my tnh chung cho vic lp trnh gip cho vic thitk gii thut gii thut tr nn n gin hn. Lp trnh song song a thm nhngkh khn mi vo m hnh lp trnh tun t. Nu chng trnh c thc hin mc thp nht th khng nhng s lnh thc hin l rt ln m n cn phi qun ltrc tip qu trnh thc hin song song ca hng nghn BXL v kt hp hng triutng tc lin BXL. Bi vy kh nng tru tng v tnh ton module l cc ctnh rt quan trng trong lp trnh song song

    Vy mc tru tng no s ph hp vi lp trnh song song. Cc m hnhny cn cho php nh gi c th v kh nng thc hin ng thi cng nh tnhcc b cho php pht trin cc chng trnh c tnh modul v c kh nng mrng.V m hnh phi ph hp vi kin trc ca my tnh song song.Cc mhnh thng dng bao gm:

    M hnh chia s b nh chung

    M hnh lung

    M hnh truyn thng ip

    M hnh song song d liu

    M hnh lai

    II.3.2. M hnh chia s b nh chung

    Trong m hnh chia s b nh chung cc nhim v cng chia s mt khnggian a ch chung c th c truy cp c ghi theo phng thc khng ng

    b.Cc c ch khc nhau nh kha (locks) v semaphore c iu khin truycp n b nh ton cc.Xt theo quan im ca lp trnh vin th u im ca mhnh ny l khng c khi nim s hu d liu. Ngha l khng phi ch nh rrng qu trnh truyn d liu gia nhim v gi v nhim v nhn d liu. Tnhcht ny gip cho pht trin cc chng trnh n gin hn. Tuy nhin khi vichiu v m bo tnh cc b tr nn kh khn v cng c ch nhiu nht trongkin trc chia s b nh chung. Vic vit cc chng trnh xc nh cng tr nnkh khn

    13

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    14/36

    Bo co mn hc x l song song

    II.3.3. M hnh lung

    Trong m hnh lung chng trnh chnh c chia thnh cc nhim v. Mi

    nhim v c thc hin bi cc lung mt cch ng thi. Mi mt lung c dliu ring ca n v chia s d liu ton cc ca chng trnh chnh. Cc nhim va cho mi lung l cc th tc con ca chng trnh chnh. V bt k lung nocng c th thc hin bt k th tc con no ti cng thi im vi cc lungkhc.Trong m hnh lung cc lung kt ni vi nhau thng qua b nh ton ccvi vic kt ni ny th chng trnh phi c xy dng mt cch ng b trnh cng mt lc c nhiu lung cng cp nhp mt v tr trong b nh ton cc

    Hnh 1.8: M hnh lung

    II.3.4. M hnh truyn thng ip

    Trong m hnh truyn thng ip chng trnh song song c chia thnh ccnhim v. Mi nhim v s dng b nh cc b ca n. Cc nhim v ny c thc c tr trn cc my vt l ging nhau kt ni vi nhau qua mng vi s lngty

    Hnh 1.9: M hnh truyn thng ip

    14

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    15/36

    Bo co mn hc x l song song

    Cc nhim v trao i d liu vi nhau qua hai phng thc gi v nhnthng ip. Xt trn kha cnh lp trnh th cc thng ip cha trong mt thvin thng ip.Th vin ny phi c gn vo m ngun ca chng trnh songsong.MPI l mt th vin ngy nay c dng rt ph bin.

    II.3.5. M hnh song song d liu

    M hnh lp trnh song song d liu gip lp trnh cc chng trnh song songc thc hin trn mt tp d liu ln. Tp d liu y thng c xp xptheo mt cu trc nht nh nh l mng hoc theo khi .

    Hnh 1.10: M hnh lp trnh song song d liu

    Vi m hnh ny th cc nhim v ca chng trnh lm vic vi cng mt cu

    trc d liu. Tuy nhin mi nhim v s lm vic trn tng phn vng khcnhau ca d liu v cc nhim v phi thc hin cc thao tc ging nhau. Trongkin trc chia s b nh chung th tt c cc nhim v truy cp vo cu trc d liuthng qua b nh ton cc. Cn i vi kin trc b nh phn tn th dliu cchia ra v lu tr trn cc b nh cc b ca cc BXL.

    15

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    16/36

    Bo co mn hc x l song song

    II.3.6. M hnh lai

    M hnh lai l s kt hp ca hai hay nhiu m hnh lp trnh song song kt

    hp li vi nhau . Hin nay th m hnh lai ph bin nht l m hnh kt hp giam hnh truyn thng ip vi m hnh lung hoc vi m hnh chia s b nhchung.Mt m hnh lai khc na l s kt hp gia m hnh song song d liu vim hnh truyn thng ip. M hnh dng ny rt thun tin v m hnh song songd liu trn kin trc b nh phn tn s dng message passing trao i dliu gia cc nhim v mt cch trong sut i vi lp trnh vin song song.

    II.4. Hiu nng ca tnh ton song song

    Trong phn ny chng ta s trnh by mt s vn lin quan n hiu nngca tnh ton song song bao gm: kh nng tng tc tnh ton,cn bng ti(Load balancing) v s b tc (Deadlock) .

    II.4.1. nh lut Amdahls

    Trong nhiu ng dng thc t i hi thi gian thc,vn cn gii quyt cknh thc c nh,do khi lng cng vic phi lm cng thng xc nhc trc. nh lut do Amdahl pht biu nm 1967 nhm nh gi hiu nng

    ca vic tnh ton cho cc bi ton thuc loi ny.Khi tng s lng BXL trong my tnh song song, khi lng cng vic c

    c phn phi cho nhiu BXL thc hin. Mc tiu chnh l tm c kt qu cabi ton nhanh nht c th hay ni mt cch khc l gim n mc ti a thi giantnh ton.

    nh lut Amdahl: Gi f l phn nh ca thao tc tnh ton trong qu trnh tnhton phi thc hin mt cch tun t, 0 f 1. Tc ti a S c th t c

    bng cch s dng my tnh song song vi p BXL c cho bi cng thc

    Thi gian cho phn vic x l song song ca ng dng s gim dn n 0 khi tatng s lng BXL. Thi gian cho vic x l tun t lun l hng s .

    16

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    17/36

    Bo co mn hc x l song song

    Hnh 1.11: S ph thuc thi gian vo s lng BXL ca inh lut Amlahl

    II.4.2. Cn bng ti

    Ta gi s rng nu d liu c phn tn trn cc b nh a phng ca ccBXL. Khi khi lng cng vic ca cc BXL cn phi c phn phi hp ltrong sut qu trnh tnh ton. Trong nhiu trng hp , gi s ny l ng tuy

    nhin trn thc t iu ny khng phi lc no cng thc hin c. Gii phpc a ra y l cn bng ti ng nhm mc ch lm thay i s phn phikhi lng cng vic gia cc BXL trong qu trnh thc hin tnh ton.

    Thng thng sau khi phn phi khi lng cng vic cho mi BXL, qu trnhcn bng ti ng thc hin theo bn bc c bn di y

    Gim st hiu nng ca mi BXL, trao i thng tin trng thi gia ccBXL, tnh ton v ra qut nh phn phi li khi lng cng vic v

    cui cng l thc hin vic chuyn i d liu tht s. thc hin iu ny c rt nhiu thut ton c thc hin cn

    bng ti ng c xut. Theo kt qu Znstietal phn lp cc thutton ny theo chin lc tp trung, phn tn ha ton (Fully distributed)v phn tn mt na(Semi distributed)

    II.4.3. Cc thut ton cn bng ti tp trung

    Nhm a ra quyt nh c tnh cht tng th trong vic phn phi li khi

    lng cng vic cn thc hin cho cc BXL. Mt vi thut ton trong lp ny s

    17

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    18/36

    Bo co mn hc x l song song

    dng thng tin h thng c tnh cht ton cc lu trng thi ca cc my ringbit trong h thng. Thng tin ny s cho php thut ton phn phi cng vic chocc BXL mt cch d dng. Tuy nhin khi lng cng vic tng theo t l thun

    vi s lng cc BXL, do i hi khi lng ln b nh trn mt BXL lutr thng tin trng thi. V vy cc thut ton thuc lp ny khng c p dngmt cch rng ri .

    II.4.4. Cc thut ton cn bng ti phn tn hon ton

    Trong chin lc ny, mi BXL c mt bn sao v thng tin trng thi cahthng . Cc BXL trao i thng tin trng thi vi nhau v s dng cc thng tinny lm thay i mt cch cc b vic phn chia cng vic. Tuy nhin ccBXL ch c thng tin trng thi cc b nn vic cn bng ti khng tt bng cc

    thut ton cn bng ti tp trung.II.4.5. Cc thut ton cn bng ti phn tn mt na

    Cc thut ton thuc lp ny chia cc BXL thnh tng min. Trong mi mins dng thut ton cn bng ti tp trung phn phi cng vic cho cc BXLthuc min .

    II.4.6. S b tc(Deadlock)

    Cc tin trnh b ri vo tnh trng b tc nu mi tin trnh nm gi ti

    nguyn m mt vi tin trnh khc yu cu s dng n x l.L do tn ti s b tc l do nhiu tin trnh cng s dng ti nguyn chung m

    khng c s kim sot tt. S b tc tn ti trong cc h iu hnh a nhim, cngnh cc h thng a BXL v a my tnh.

    i vi cc h thng a my tnh, mt trong cc s b tc ph bin l b tcvng m (buffer deadlock) xy ra khi mt tin trnh i mt thng ip mthng ip ny c th khng bao gi nhn c khi m vng m ca h thng

    b y.

    Xem xt h thng a my tnh vi cc BXL x l khng ng b . BXL Pi githng ip cho BXL Pj khng kt ni cho ti khi c thao tc thng ip . Mtkhc

    BXL Pi gi thng ip cho BXL Pj ni dung ca thng ip c lu trong vngm

    ca h thng cho n khi BXL Pj nhn v c thng ip. Gi s rng trong cngmt

    18

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    19/36

    Bo co mn hc x l song song

    thi im c nhiu BXL cng gi thng ip n BXL Pj v iu ny s lm chovng m b y. Vic gi thng ip tip theo ch c thc hin khi BXL Pj cmt hay nhiu thng ip.

    Gi s BXL Pk l mt trong nhng BXL c kh nng gi thng ip n BXLPj. Nu BXL Pj c gng c thng ip do BXL Pk gi n n s b kt khi chon khi ni dung thng ip c trong vng ms. R rng BXL Pk b kt khi choti khi BXL Pj loi b mt hay nhiu thng ip t vng m nh vy BXL Pj vPk ri vo b tc.

    Hnh 1.12: Pk kt khi gi X cho Pj v vng m Pjb y nn Pjkhng th nhn c X . Pk v Pj ri vo b tc.

    Bn iu kin gy nn b tc

    S loi tr ln nhau: Mi tin trnh c s c quyn khi s dng ti

    nguyn ca n

    Khng c s u tin: Mi tin trnh khng bao gi gii phng ti nguynm tin trnh ang chim gi cho n tn khi khng cn s dngchng na

    S ch i ti nguyn: Mi tin trnh ang chim gi ti nguyn trongkhi li ch i cc tin trnh khc gii phng ti nguyn ca chng

    S ch i gia cc tin trnh: Tin trnh i ti nguyn m tin trnh k

    tip ang chim d m ti nguyn khng c gii phng .

    Mt s cch khc phc s b tc :

    Cch th nht ta s dng l c gng d tm s b tc khi chng sy ra v khi

    phc li.

    Mt cch khc trnh s b tc thng qua s dng cc thng tin yu cu tinguyn ca cc tin trnh iu khin s phn phi khi tip tc phn phi cc

    ti nguyn khng l nguyn nhn cc tin trnh ri vo b tc. Cch th ba l

    19

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    20/36

    Bo co mn hc x l song song

    ngn cm khng xy ra ng thi ba iu kin cui trong bn iu kin ny sinhb tc.

    20

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    21/36

    Bo co mn hc x l song song

    CHNG III. Gii thiu v lp trnh song song vi

    MPI

    III.1. Gii thiu v MPI:

    Hin nay tc my tnh c ci thin ng k, tuy nhin c nhng biton ln m kh nng x l ca mt my tnh thng thng khng p ng nihoc cn thi gian x l rt lu. V vy chng ta cn mt h thng my tnh c thx l cng lc d liu ln. Trn Linux cung cp mt gi phn mm (package) htr lp trnh song song.

    Package h tr lp trnh song song khng c ci t mc nh m chng ta

    phi ci t bng tay. Trong bi ny chng ta ci cc gi sau: openmpi-bin,openmpi-common v libopenmpi-dev.

    Sau khi ci t xong, ta vo terminal ca linux g lnh sau: mpicc v mpirun kim tra lnh ny c cha. Nu tn ti lnh ny th qu trnh ci t thnh cng,ngc li th chng ta kim tra qu trnh ci t.

    III.2. Cc hm thng dng trong MPI:

    III.2.1. Cc hm MPI ph binMPI_Init()

    Khi to b mi trng thc thi MPI, hm ny phi c gi trc tt c cchm MPI khc, v ch c gi mt ln. Hm ny c th c dng truyn thams dng lnh ti tt c cc tin trnh, cch dng nh sau: MPI_Init(&argc,&argv).

    MPI_Finalize()

    Dng kt thc mi trng thc thi MPI. Hm ny phi c gi cui cngtrong tt c cc hm MPI.

    MPI_Comm_size(MPI_COMM_WORLD, &size)

    Xc nh s lng tin trnh tham gia vo mt b giao tip, thng thng, nc dng trong b giao tip MPI_COMM_WORLD b giao tip c xy dngsn, bao gm tt c cc tin trnh tham gia vo chng trnh.

    MPI_Comm_rank(MPI_COMM_WORLD, &rank)

    21

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    22/36

    Bo co mn hc x l song song

    Xc nh th t ca tin trnh ny trong b giao tip. Lc ban u mi tin trnhc gn cho mt s th t t 0 n n-1 trong b giao tip MPI_COMM_WORLD.

    MPI_Finalized(&flag)

    Kim tra xem hm MPI_Init() c gi hay cha.

    22

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    23/36

    Bo co mn hc x l song song

    MPI_Barrier()

    ng b tt c cc tin trnh trong ht hng, khi hm ny c gi, tt c cctin trnh s cng ch n khi tin trnh cui cng thc hin n bc ny v tt ccng thc hin cu lnh tip theo vo cng mt thi im.

    MPI_Wtime()

    Xc nh thi gian ca h thng.

    MPI_Wtick()

    Xc nh chnh xc ca thi gian h thng.

    MPI_Reduce(void *local, void *global, int count, MPI_Datatype type, MPI_Opoperator, int root, MPI_Comm comm)

    Hm tnh gp, dng gp cc kt qu ca tng tin trnh vo kt qu chung.Trong , local l kt qu cc b, global l kt qu nhn c sau khi tnh gp cckt qu cc b, type l kiu d liu tnh gp, operator l thao tc gp, root l th tca tin trnh s nhn c kt qu global, comm l b giao tip.

    MPI_Send()

    Hm gi cho cc my con thc hin.

    MPI_Receive()

    Hm nhn kt qu t my con.

    III.2.2. Cc kiu d liu c dng vi MPI

    Tn Kiu d liu C tng ng

    MPI_CHAR Signed char

    MPI_DOUBLE double

    MPI_FLOAT float

    MPI_INT int

    MPI_LONG long

    MPI_LONG_DOUBLE long double

    23

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    24/36

    Bo co mn hc x l song song

    MPI_SHORT short

    MPI_UNISIGNED_CHAR unsigned char

    MPI_UNISIGNED unsigned int

    MPI_UNSIGNED_LONG unsigned long

    MPI_UNSIGNED_SHORT unsigned short

    III.2.3. Cc hm tnh gp trong MPI

    Tn hm ngha

    MPI_BAND Bitwise and

    MPI_BOR Bitwise or

    MPI_BXOR Bitwise exclusive or

    MPI_LAND Logical and

    MPI_LOR Logical or

    MPI_LXOR Logical exclusive or

    MPI_MAX Maximum

    MPI_MAXLOC Maximum and location maximum

    MPI_MIN MinimumMPI_MINLOC Minimum and location minimum

    MPI_PROD Product

    MPI_SUM Sum

    24

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    25/36

    Bo co mn hc x l song song

    CHNG IV.TRIN KHAI TI

    IV.1. Thut ton sp xp

    IV.1.1. Sp xp theo gi (Bucket sort)

    Cc thut ton sp xp c nghin cu nhiu trong lp trnh tun t. Huht cc thut ton sp xp tun t u da trn c s so snh v i ch cc cp s.Phn ny chng ta s s dng k thut phn hoch v chia tr song soag hothut ton sp xp theo gi (bucket sort).

    Thut ton bucket sort khng da trn c s so snh v i ch, thut ton lmt php phn hoch mt cch t nhin. Thut ton bcket sort ch c hiu qu khicc s ban u c phn b u trn mt khong cho trc, gi s t o n a - 1.Khong cho trc s c chia thnh m khong nh, 0 ti a/m-1, a/m ti 2a/m-1, ..., v mi gi c gn cha cc s trong khong vy cn c m gi.

    IV.1.2. Thut ton tun t

    t cc s vo cc khong ph hp: t mt s vo khong cch thch hp,ta c th so snh s vi cc s a/m, 2a/m, 3a/m, ..., s cn nhiu m - 1 bc sosnh t c mt s vo dy thch hp. Hoc ta c th chia s cho m, s

    dng kt qu t vo cc gii tng ng t 0 n m - 1. Nu m l lu tha ca 2ta c th s dng cc bit trn u ca mi s di dng nh phn. Trong bt k cchno, ta gi s t mt s vo gii cn 1 bc. Vy t tt c cc s cn n

    bc.

    Hnh 1: sp xp theo gi

    25

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    26/36

    Bo co mn hc x l song song

    Cc s trong mi gi s c sp xp bi mt thut ton sp xp tun t: Gis thut ton sp xp tun t s dng sp mi gi i hi nlogn php so snh,mi php so snh tng ng vi mt bc tnh ton. Vy sp xp n/m s

    mi gi cn (n/m) log (n/m) bc.

    Ni cc s trong gi sp xp a ra dy sp cui cng s dng tnhton.

    Vy thi gian x l tun t l:

    ts = n+m((n/m)log(n/m))=n+nlog(n/m) = O(nlog(n/m))

    Nu n = km, k l hng s th phc tp thi gian l O(n)

    IV.1.3. Thut ton song song

    Mt cc n gin thut ton bucket sort c th c song song bng cch gnmi b x l cho mt gi. Khi thi gian sp xp mi gii s l (n/p)log(n/p)vi p b x l (trong p=m).

    Ta c th ci thin thut ton song song trn t hiu qu hn bng cchphn hoch dy s thnh m min, v m min ng vi mt b x l. Mi b x lgi p gi nh v tch cc s trong min ca n vo tng gi ring ca mnh. Sau

    cc gi ny s c "trt" vo p gi cui cng sp xp, vic ny yu cu mi bx l gi mt gi nh ti mi b x l khc (gii th i ti b x l th i).

    26

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    27/36

    Bo co mn hc x l song song

    Hnh 2: Thut ton bucket sort song song

    27

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    28/36

    Bo co mn hc x l song song

    IV.1.4. Phn tch:

    Thut ton gm 4 giai on sau y:

    1. Phn cc s vo p min.

    Gi s cn n bc tnh ton phn n s vo p min.

    tcomp1 = n

    Sau khi chia nh, p phn nh mi phn cha n/p s c gi ti cc tintrnh:

    tcomp1 = tsrartup + tdatan

    2. Sp xp trong cc gi nh.

    Chia mi phn ca n/p s vo p gi nh yu cu thi gian l

    tcomp2 = n/p

    3. Gi ti cc gi ln

    Cc gi nh c phn tn. Mi gi nh c khong n/p2 s (gi thit l phn

    b u). Mi tin trnh phi gi (p-1) gi nh ti cc tin trnh khc. C p tintrnh phi thc hin php truyn thng ny, ta c:

    tcomp3 = p(p - 1)(tsrartup + (n/p2) tdata)

    nu cc php truyn thng ny khng th gi nhau v thi gian v s dng cchm gi ring. Nu tt c php truyn thng c gi u nhau, c

    tcomp3 = (p - 1)(tsrartup + (n/p2) tdata)

    4. Sp xp trong gi ln

    Tron giai on ny, cc gi ln c sp xp ng thi, do :

    tcomp4 = (n/p)log(n/p)

    Vy tng thi gian thc hin l"

    tp = tsrartup + tdatan + (p-1)(tsrartup + (n/p2)tdata) + (n/p)log(n/p)

    Cng thc trn t c khi cc s c phn b u. Nu cc s khng c

    phn b u th cc s trong mi gi s khc nhau, iu ny s lm tng tng thi

    28

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    29/36

    Bo co mn hc x l song song

    gian tnh ton. Trng hp ti nht ca bi ton l khi tt c cc s cng nm trongmt gi. Thut ton bucket sort c th c pht trin theo hng phng phpchia tr bng cch chia lin tc cc gi cho ti khi mi gi ch cha mt phn t

    ca dy. Phng php ny tng t nh thut ton quick sort (sp xp nhanh), chkhc l trong quick sort s dng mt phn t chia i min.

    29

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    30/36

    Bo co mn hc x l song song

    IV.1.5. M ngun

    M code thc hin song song thut ton bucket sort bng cch gn cho mi tintrnh mt gi.

    #include#include#includeint sort(int ar[],int size){

    int temp;int i,j;

    for(i=size-1; i>=1;i--)for(j=0;jar[j+1]){

    temp=ar[j];ar[j]=ar[j+1];ar[j+1]=temp;

    }}int main(int argc, char *argv[]){

    int rank,p;int a,b;int n;int *array, *local;int *counters, *displs;int start, end, slice;int count, disp,i;double tstart,tend;MPI_Status status;MPI_Init(&argc,&argv);MPI_Comm_size(MPI_COMM_WORLD,&p);//p la so tien trinh

    MPI_Comm_rank(MPI_COMM_WORLD,&rank);// khoi tao so ngau nhien

    // Cp pht b nh cho mng, gi thng tin n cc tin trnh con bng hmMPI_Bcast

    srand(time(NULL));if(rank==0){

    printf("Nhap vao so phan tu cua mang ");scanf("%d", &n);

    array = (int *)malloc(sizeof(int)*n);//cap phat bo nho dong cho mangprintf("Nhap vao gia tri cua a (gia tri cua mang) :");

    30

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    31/36

    Bo co mn hc x l song song

    scanf("%d",&a);// dien cac so ngau nhien vao mang

    printf("Dien cac so ngau nhien vao mang :");for(i=0; i

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    32/36

    Bo co mn hc x l song song

    MPI_Gatherv(local,count,MPI_INT,array,counters,displs,MPI_INT,0,MPI_COMM_WORLD);

    tend= MPI_Wtime();printf("Thoi gian tinh toan tren cac tien trinh %d : %lf \n",rank,tend-tstart);

    if(rank==0){printf("Da sap xep:");for(i=0; i

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    33/36

    Bo co mn hc x l song song

    IV.2. Demo

    Khi ng mi trng LAM. lamboot v host. Vi file host l file cha ccmy dng truyn thng ip tnh ton song song.

    Vi s phn t ca mng l 50 vi gi tr khng vt qu 100 tin trnh c thcthi.

    Vi s phn t ca mng l 10 vi gi tr khng vt qu 100 tin trnh c thcthi.

    33

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    34/36

    Bo co mn hc x l song song

    34

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    35/36

    Bo co mn hc x l song song

    KT LUN

    u im.

    Chng trnh chy cho kt qu ng, th hin c u vit ca lp trnh songsong, d th vi hai cch nhp d liu t tp tin, hoc sinh ra ngu nhin.

    Khuyt im

    Yu cu, s phn t phi chia ht cho s prcessor, nu khng d liu s b mt.Cc 2 phng n gii quyt:

    Thm vo d liu s phn t chia ht cho s prcessor, sau khi sp xp

    xong, loi b nhng phn t ny. V kt qu sp xp theo th t nhtnh nn vic b ny rt n gin.

    Mi phn t tha s c gi cho mt proccessor tng ng. Phng nny tic kim chi ph b nh, nhng phc tp trong vic truyn thng vng b.

    35

  • 7/30/2019 XLSS CongChien TruongThuat VanSon CaoCuong

    36/36

    Bo co mn hc x l song song

    TI LIU THAM KHOTi liu

    [1] Nguyn Vn Ba, Pht trin h thng hng i tng vi UML v C++, Nh xut bn H Quc gia H ni, 2007.

    [2] Slide bi ging ca TS. Nguyn Hu c

    Trang Web

    [1]MPI Tutorialhttp://www.llnl.gov/computing/mpi

    [2] Open Source High Performance Computing

    http://www.open-mpi.org/

    [3]LAM/MPI Parallel Computing

    http://www.lam-mpi.org/

    [4]Sng Eratosthenes

    http://en.wikipedia.org/wiki/Bucket_sort