XÂY DỰNG ỨNG DỤNG TÍNH TOÁN PHÂN TÁN TRÊN NỀN TẢNG SỨC MẠNH CÁC MÁY TÍNH CÁ NHÂN

Embed Size (px)

Citation preview

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    1/50

    I

    I HC QUC GIA H NITRNG I HC CNG NGH

    Nguyn Ch Cng

    XY DNG NG DNG TNH TON PHN TNTRN NN TNG SC MNH CC MY TNHC NHN

    KHO LUN TT NGHIP I HC H CHNH QUY

    Ngnh: Cng Ngh Thng Tin

    H NI -2010

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    2/50

    II

    I HC QUC GIA H NITRNG I HC CNG NGH

    Nguyn Ch Cng

    XY DNG NG DNG TNH TON PHN TNTRN NN TNG SC MNH CC MY TNHC NHN

    KHO LUN TT NGHIP I HC H CHNH QUY

    Ngnh:Cng Ngh Thng TinCn b hng dn: ThS. o Minh Thu

    H NI - 2010

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    3/50

    Tm tt ni dung

    Tnh ton phn tn l mt cng ngh mi v rt thit thc hin nay. Nhng h

    thng tnh ton phn tn gip gii quyt nhng bi ton khoa hc ln m mt my tnh

    khng th gii quyt c. Ngy nay c kh nhiu middleware phc v cho vic xydng h thng tnh ton phn tn. Trong kha lun ny trnh by mt s nghin cu v

    tnh ton phn tn, nhng nghin cu v kin trc, cch thc hot ng ca mt s h

    thng tnh ton phn tn ph bin, gii thiu mt s d n tnh ton khoa hc ang c

    thc thi nh h thng tnh ton phn tn. Kha lun ny cng trnh by bc u xy

    dng mt h thng tnh ton phn tn, vi phn mm bn pha ngi dng c tch

    hp vo ng dng facebook. Ngi dng khng cn ci t mt phn mm client no,

    m ch cn c mt trnh duyt web l c th tham gia vo nhng d n tnh ton. Vic

    ny s to iu kin m rng d n tnh ton c d dng hn, lm tng hiu sut canhng h thng tnh ton phn tn.

    III

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    4/50

    Mc lc

    Danh mc cc hnh v

    Hnh 2.1: Kin trc h thng BOINC..............................................................................10

    Hnh 2.1: Kin trc h thng Condor..............................................................................15

    Hnh 2.3: Kin trc h thng Globus Toolkit .................................................................17

    IV

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    5/50

    Hnh 3.1: Kin trc tng th h thng ............................................................................22

    Hnh 3.2: Kin trc chi tit h thng ..............................................................................24

    Hnh 3.3: M hnh kt ni TCP/IP ca h thng.............................................................26

    Hnh 4.1: Hnh nh m t phn chia task ti nhng my tnh Node................................47

    Hnh 4.2: Biu thi gian thc thi khi c mt my tnh...............................................47

    Hnh 4.3: Biu i thi gian thc thi khi c ba my tnh................................................48

    V

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    6/50

    Chng I Gii thiu

    1.1 t vn

    Khi khoa hc pht trin t ra nhiu bi ton vi khi lng tnh ton ln,cng vi mt lng ln d liu cn x l. Trong nhiu ngnh khoa hc khc nhau

    nhng bi ton ny ang tn ti v chng ta lun mun x l chng.

    Trong thin vn hc c mt iu m chng ta lun mun khm ph l liu

    c mt nn vn minh no ngoi tri t khng?, y l mt cu hi ln m nhiu

    nm qua con ngi vn cha tm c li gii p tha ng. Vi khoa hc k thut

    nh hin nay chng ta c th thu c nhng tn hiu t bn ngoi tri t, chng ta

    c th x l nhng tn hiu ny hy vng c th tm ra mt nn vn minh no

    bn ngoi tri t. Nhng nhng tn hiu thu c ngoi tri t rt nhiu, nu dngmt my tnh c cng sut tnh ton ln cng phi mt rt nhiu thi gian x l

    lng tn hiu ny, nh vy s rt lu chng ta mi c th tm c cu tr li cho

    cu hi kia.

    Trong ngnh cng ngh thng tin c mt bi ton quen thuc l bi ton

    ph m. Mt phng php ph m n gin nht l duyt ton b, ta th ln lt tt

    c trng hp c th ca kha cho n khi tm c kha ng. di ca kha s

    quyt nh n s lng cc php th, v d vi h m ha DES s dng 56 bit lmkha, tc l s c 256 = 72x1016 gi tr c th ca kha. Nu s dng mt my tnh

    bnh thng c tc tnh ton 1 gii m /s s phi mt khong 1142 nm, thi

    gian ny l qu lu so vi tui th ca thng tin. Mun ph m nhanh c th dng

    mt my tnh chuyn dng (gi khong 250.000$) c th ph m trong 3 ngy.

    Nhng l trng hp s dng 56 bit lm kha, nu s dng kha vi di 128

    bit hay 126 bit th my tnh cng t ra khng hiu qu.

    Trong y hc cng c nhiu d n vi khi lng tnh ton ln, d n Help

    Defeat Cancer [10] l mt d n nghin cu kh nng chng cn bnh ung th. Vi

    d n ny, cc nh nghin cu cn phn tch s lng ln m ung th cng mt lc,

    nu dng mt my tnh thng thng mt khong 168 nm, nh vy l qu lu v

    chng ta cn tm ra phng php tr bnh ung th cng sm cng tt.

    Trong nhiu ngnh khoa hc khc nh ton hc, sinh hc cng c nhiu bi

    ton ln c t ra, vic gii quyt nhng bi ton ny gip pht trin cc ngnh

    khoa hc phc v cuc sng, V vy nhu cu gii quyt nhng bi ton nh th l rt

    thit thc

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    7/50

    Ngy nay mng my tnh pht trin mnh, nht l mng Internet vi hng triu

    my tnh kt ni vi nhau. i vi ngi dng bnh thng cng sut tnh ton ca

    my tnh thng khng c s dng ht. Trong nhng khong thi gian my tnh

    nhn ri, kh nng tnh ton ca n khng c tn dng. Vy ti sao ta khng s

    dng kh nng tnh ton gii quyt nhng bi ton phc tp trn? Mi my

    tnh khi nhn ri c th s dng tnh ton mt phn nh ca bi ton, nhiu my

    tnh cng tham gia tnh ton s tao ln mt h thng tnh ton ht sc mnh m. Nu

    chng ta c th kt ni hng triu my tnh trn Internet, chng ta s to ra mt

    mng li tnh ton khng l, khi nhng bi ton ln c th c gii qut trong

    thi gian ngn.

    mi ngi tham gia tnh ton cho mt d n no , h cn bit v d n

    , v bit cch c th s dng my tnh ca mnh tham gia vo h thng tnhton. V vy ta cn qung b cho ngi dng bit v nhng d n tnh ton, v cung

    cp cho h nhng cng c tham gia vo h thng tnh ton.

    Mng x hi ngy nay rt pht trin, Facebook l mt mng x hi c lng

    ngi dng ln nht hin nay. N c th l mt ni l tng qung b thng tin

    v nhng d n tnh ton. Trn Facebook bn c th giao lu, lin lc vi bn b,

    vi rt nhiu ngi cng tham gia Facebook. Khi mt ngi dng Facebook tham

    gia vo mt d n tnh ton, h c th gii thiu cho bn b, ngi thn hay mt ai m h quen bit trn Facebook. Nhng d n tnh ton thng l nhng d n c

    ch cho x hi nn mi ngi s rt sn lng tham gia vo d n tnh ton.

    Mt vn c th khin mi ngi ngi tham gia vo h thng tnh ton l

    cc h thng tnh ton hin nay, thng bt ngi dng phi ci mt phn mn ln

    my ca mnh tham gia vo vic tnh ton. Bt k mt my tnh no mun tham

    gia vo h thng tnh ton cng cn ci t phn mm ny. Vy nu c th xy dng

    mt h thng tnh ton phn tn, m ngi dng khng cn ci t phn mn vn c

    th tham gia vao h thng s gip kh nng huy ng c lng ngi dng ln,

    tnh nguyn tham gia vo d n tnh ton.

    Web l mt mt cng c rt hu ch cho chng ta, n thc s thay i cuc

    sng ca chng ta. Mt trang web vi mt chng trnh applet c th thay th cho

    phn mm tham gia vo h thng tnh ton. Khi ngi dng truy cp vo trang web,

    chng trnh applet s chy v thc thi vic tnh ton. Chng ta c th vo web bt

    k my tnh no c kt ni mng Internet, v ngay lp tc c th tham gia vo cng

    vic tnh ton.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    8/50

    Tch hp trang web vo mt ng dng Facebook s to thnh mt cng c

    tuyt vi pht trin cc d n tnh ton. Theo thng k mi nht ca Nielsen (mt

    cng ty kho st th trng) cho thy Facebook l a ch gy tn thi gian nht ca

    ngi dng trn Web. Ngi dng Facebook cng b thi gian ln mng gp 3 ln

    so vi ngi khng tham gia mng li giao tip x hi ny.

    Mt ng dng Facebook c th s dng nh nhng phn mm tham gia vo

    h thng tnh ton phn tn, s l mt phng n tt m rng h thng tnh

    ton phn tn, tng s ngi tham gia vo h thng, t tng kh nng tnh ton

    1.2 Ni dung kha lun

    Trong kha lun ny chng ti trnh by mt s nghin cu v cc h thng

    tnh ton phn tn, cc Middleware ph bin dng trong cc h thng tnh ton phntn. Bc u trin khai mt h thng tnh ton phn tn, vi mt ng dng

    Facebook c s dng ngi dng c th tham gia vo h thng tnh ton.

    Ni dung chi tit kha lun gm 5 chng:

    Chng I: Gii thiu v kha lun, t ra vn cn gii quyt trong kha

    lun.

    Chng II: Gii thiu mt s h thng tnh ton phn tn, kin trc ca h

    thng v a ra nhng so snh. Ba h thng c gii thiu l BOINC,Condor, Globus y l 3 h thng ph bin hin nay.

    Chng III: Trnh by kin trc h thng tnh ton phn tn s dng ng

    dng Facebook thay th cho phn mm .

    Chng IV: Trnh by cch ci t chng trnh, trin khai mt s ng dng

    tnh ton phn tn trn h thng v kt qu.

    Chng V: Tng kt, nhn xt v h thng, nhng thnh qu t c v

    nhng k hoch pht trin ca d n.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    9/50

    Chng II: Cc h thng tnh ton phn tn

    2.1 BOINC

    2.1.1: Gii thiu

    BOINC [8] vit tt ca Berkeley Open Infrastructure for Network Computing (C

    s h tng m ngun m cho tnh ton mng) l mt phn mm trung gian cho vic tnh

    ton tnh nguyn v tnh ton li. Ban u BOINC c xy dng phc v d n

    SETI@home, mt d n tm kim tn hiu ngoi tri t. Sau n tr ln ph bin v

    c s dng cho nhiu d n tnh ton khc nhau trong nhiu lnh vc nh ton hc, y

    hc, sinh hoc BOINC l mt phn mm m ngun m, v vy nhng nh pht trin c

    th ti m ngn v cu hnh v ci t theo mun.

    2.1.2: Kin trc BOINC

    H thng BOINC gm c 2 thnh phn chnh l h thng Server v phn mm

    (Hnh 2.1)

    Server

    Thnh phn chnh ca BOINC l Backend Server, server c th chy trn

    mt hoc nhiu my tnh khc nhau, iu ny gip cho h thng BOINC d dngm rng quy m ca d n. BOINC Server chy trn nn tng h iu hnh

    Linux v s dng APACHE, PHP v MySQL lm nn tng cho h thng web v

    c s d liu.

    Cc ng dng tnh ton chy trn my tnh thnh vin, kt qu c gi ln

    c s d liu ca ng dng tnh ton, ti y n s c x l. Trc khi kt qu

    c gi ln c s d liu ca ng dng tnh ton, n c kim tra tnh ng

    n bi Server Backend. Server Backend kim tra tnh ng n ca kt qu

    bng cch gi cc workunit ti nhiu my khc nhau, v so snh kt qu nhn

    c ca mt workunit khc nhau.

    Workunit l mt khi lng tnh ton nh ca bi ton, c thc hin trn

    my tnh . Mt workunit gm nhiu Task, Result l kt qu ca mt task, Server

    s t ng to ra nhng tp kt qu tng ng vi cc workunit khi workunit

    c to (khng phi l result tht, m ch l mt th hin ca kt qu), cc result

    ny c lu vo c s d liu, khi mt task hon thnh v gi kt qu ln

    server, result tng ng trong c s d liu ca server s c nh u l

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    10/50

    hon thnh. Khi tp tt c result ca mt workunit c nh du, workunit

    c bo l hon thnh

    BOINC server cung cp mt vi tnh nng nh:

    + Validator:Chc nng ny kim tra kt qu gi v t c chnh xc hay

    khng. Mt workunit c gi ti nhiu my cng thc thi, kt qu gi v t

    nhng my c server so snh, kt qu c t l cao nht c coi l kt qu

    ng.

    + Homogeneous redundancy: Chc nng ny s ch gi mt workunit ti

    nhng my tnh c cng cng mt platform (cng h iu hnh), iu ny s

    gip qu trnh validator c d dng v chnh xc hn.+ Workunit trickling: Gi cc thng tin ti server trc khi cc workunit

    hon thnh, iu ny gip cho vic nh gi c th gi mt workunit mi kp

    thi, gip cho vic tnh ton nhanh hn, gim ti thiu thi gian nhn ri ca

    my .

    + Locality Scheduling: Ch gi cc workunit(khng gi cc file cn thit) ti

    cc my c cc file cn thit nhanh chng thc thi workunit.

    + Phn phi cc workunit da vo cc tham s ca my : Chc nng nym bo vic gi workunit ti nhng my tnh c kh nng thc thi workunit .

    BOINC server bao gm 2 chng trnh CGI v thng c 5 deamons.

    - Mt chng trnh CGI lp lch x l cc yu cu t pha , nhn cc

    workunit hon thnh v gi i nhng workunit mi.

    - Mt chng trnh CGI x l vic upload file.

    - 5 deamons:+ Feeder

    + Validator

    + Assimilator

    + File_deleter

    + Transitioner

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    11/50

    Hnh 2.1 Kin trc h thng BOINC

    Mt workunit c chia thnh nhiu task, mi task tng ng vi mt

    result trong c s d liu, khi task hon thnh gi v server, result tng ng

    c nh du hon thnh. Mt deamons Feeder c trch nhim c cc task

    trong c s d liu v lu chng trong cc khi nh, b lp lch s c cc task

    trong khi nh v gi chng ti , Feeder s nh k l rng cc khe trong khi

    nh sau khi task c gi i.

    Sheduling

    Server

    DATA

    Server Web interfaces

    BOINCDB

    Core Client

    Project back end

    BOINC Server Complex

    Application Client

    Client API

    Server

    Client

    Project Specific component

    BOINC components

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    12/50

    Khi cc result ca mt workunit c thc hin xong v gi v server,

    deamon Validator s tin hnh so snh chng, Validator c th c vit bi

    ngi pht trin ng dng t ra nhng thut ton so snh, hay nhng hmnh gi cc kt qu, hoc n gin l so snh cc bit. Nu cc kt qu trng

    nhau n s c coi l hp l v c s dng lm kt qu ca workunit.

    Tip deamon Assimilator thc hin vic x l cc kt qu hp l da

    trn code ca d n, vic x l ny l ph thuc vo tng d n, c d n cn

    phn tch cc file kt qu v lu chng vo c s d liu, hoc n gin ch l

    copy t ni ny sang ni khc.

    Deamon File_deleter c nhim v xa nhng output c x l bi

    Assimilator v cc file input khng cn thit.

    Deamon Transitioner x l vic chuyn trng thi ca workunit v result,

    n cng to ra cc result t workunit khi chng c to ra, hay to thm nhng

    result nu cn thit(cho nhng trng hp result khng thoa mn trong qu trnhvalidator hoc khng gi c ln server).

    BOINC Client

    BOINC Client l mt kt cu gm mt s ng dng c lp, chng s

    dng c ch BOINC remote procedure call (th tc gi iu khin t xa ca

    BOINC) lin lc vi nhau.

    Nhng thnh phn ng dng gm c:

    + Chng trnh BOINC , y l mt chng trnh ng vai tr l li ca ,

    n c nhng tnh nng v thc hin nhng nhim v sau:

    To v duy tr kt ni gia v server

    Ti v nhng ng dng khoa hc, cung cp mt c ch ng nhp

    thng nht m no rng cc ng dng khoa hc c cp nht, lp lch

    s dng ti nguyn CPU ca cc ng dng khoa hc.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    13/50

    BOINC chy trn Unix nh mt chng trnh deamon. Trn

    Windows, ban u BOINC khng phi l mt dch v danh cho Windows

    m ch l mt ng dng bnh thng. sau ny c mt vi phin bn dnh

    cho windows v n l mt ty chn trong qu trnh ci t.

    Ph thuc vo cch ci t BOINC n c th l mt chng trnh

    chy nn hoc c chy khi ngi dng khi ng my.

    + Mt hoc mt vi ng dng khoa hc: Nhng ng dng khoa hc ny

    thc hin vic tnh ton cc bi ton khoa hc, nhng ng dng ny l c trng

    cho tng d n tnh ton phn tn. Nhng ng dng khoa hc s dng BOINC

    deamon ti v v gi i nhng workunit, hay trao i nhng thng tin

    thng k vi server.

    + Mt boincmgr (boincmgr.exe): l mt giao din tng tc vi li ca ng

    dng(core ) s dng remote procedure call. Mc nh core ch cho php kt ni

    t cng mt my tnh, nhng n c th cu hnh c th kt ni t nhng my

    tnh khc.

    + BOINC screensaver: cung cp mt framework nh cc ng dng khoa

    hc c th hin th hnh nh trn ca s screensaver ca ngi dng. Thng

    thng BOINC screensaver hin th nhng hot nh th hin chi tit ca ng

    dng khoa hc, hoc nhng biu hay nhng th th hin vic tnh ton.

    2.1.3 Mt s d n ang thc hin bi BOINC

    SETI@Home: SETI@Home [8] l mt th nghim khoa hc, s dng nhng my

    tnh kt ni trn Internet tm kim nn vn minh ngoi tri t. y l mt

    phn ca d n SERENDIP (Search for Extraterrestrial Radio Emissions from

    Nearby Developed Intelligent Populations) ca i hc California, Berkeley. i

    thin vn Arecibo thu thp nhng tin hiu trn khng trung, sau nhng tn

    hiu ny c gi ti nhng my tnh tham gia vo d n tnh ton v phn

    tch. Cc kt qu c tr li server ca d n.

    tham gia vo d n, ngi dng phi ti v v ci t phn mm tnh

    ton trn my ca mnh, mi khi my tnh ri, phn mm s t ng ti v mt

    lng d liu (khong 300KB) v tin hnh tnh ton.

    Thng tin chi tit v d n c ti trang ch ca d nhttp://setiathome.ssl.berkeley.edu/

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    14/50

    ABC@Home: ABC@Home [7] l mt d n ton hc nhm tm ra b 3 s a,b v

    c chng minh cho gi thuyt v b 3 s ABC (ABC conjecture), gi thuyt 3

    s ABC nu ln rng, ch tn ti duy nht 3 s a,b v c sao cho log(c) / log(rad(a *

    b * c)) > h vi h l mt s thc ln hn 1. Ba s a,b,c tha mn iu kin trn khi

    n tha mn nhng iu kin sau

    + a + b = c

    + a

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    15/50

    Nhng deamon chnh chy trn Central Manager.

    Condor_collector: Deamon ny chu trch nhim thu thp thng tin v

    trng thi ca nhng my tnh tham gia vo Condor Pool(mt tp hpmy tnh tham gia vo h thng phn tn). Tt c nhng deamons khc

    nh k gi ClassAd ti collector. ClassAd l nhng bn ghi v ti

    nguyn cn thit ca mt job cng nh ti nguyn c ca nhng my

    tham gia vo mng li, iu ny gip cho vic gi job ti ng nhng

    my c th thc thi chng. Condor_collector c th coi nh mt c s

    d liu ng ca ClassAd. Lnh condor_status c th dng truy vn

    ti collector v nhng thng tin ca h thng Condor. Nhng deamon

    khc cng c th truy vn ti collector ly nhng thng tin quan

    trng nh a ch s dng gi lnh ti nhng my tnh xa.

    Condor_negotiator: Deamon ny chu trch nhim to ra tt c nhng

    kt ni trong h thng Condor. N cng c trch nhim qun l quyn

    u tin ca nhng ngi dng trong h thng.

    Submit MachineSubmit Machine cho php ngi dng gi nhng job ti mt hng i o

    trn my cc b (scheduler). Scheduler s m phn vi Central Manage yu

    cu Central Manager cp cho nhng ti nguyn cn thit cho vic thc thi job.

    Khi c mt ti nguyn c cp cho job, Scheduler s gi chng trnh deamon

    Shadow, chng trnh ny chu trch nhim qun l vic thc thi job , ng

    thi thc thi nhng cng vic nh: kim tra trng thi hon thnh, lp lch li

    trong cc trng hp job b li, hay thc thi nhng lnh gi h thng ca nhng

    my tnh ang chy job.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    16/50

    Hnh 2.2 Kin trc h thng Condor

    Nhng deamon chnh chy trn Submit Machine

    Condor_schedd: Deamon ny c nhim v miu t job trong Condor Pool,

    ngi dng c th gi nhng job ti mt condor_schedd ang chy,

    nhng job ny c lu trong job queue, nhng demons khc c nhim v

    xem v thao tc ti job queue nh: condor_submit, condor_q, condor_rm

    s kt ni ti condor_schedd thc thi cng vic ca n.

    Condor_shadow: Deamon ny s chy khi mt job c thc thi, khi mt

    job hon thnh, deamon ny thc hin vic truyn file, ghi nhng log file

    Condor_collectorCondor_negotiator

    Submit Machine

    Controlling Deamonsschedd

    Condor_shadow

    Controlling Deamonsstartd/starter

    Users jobUsers code

    Condor_Syscall_Lib

    Checkpoint file andsaved to disk

    System callperformed

    Central Manager

    Execution Machine

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    17/50

    v a ra nhng bn thng k v qu trnh thc thi job. Jobs c lin kt

    ti Condor's Standard Universe, ci m thc thi nhng lnh gi h thng

    thng qua condor_shadow. Tt c nhng lnh gi h thng c thc hin

    trn my tnh t xa u c gi qua mng ti condor_shadow,

    condor_shadow s thc thi nhng lnh gi th thng (nh vo ra file) ri

    gi kt qu tr li cho my tnh .

    Execution Machine

    Exeution Machine chy trn cc my tnh tham gia vo li tnh ton,

    deamon Startd thc thi nhng job m Submit Machine gi ti, khi chy n gi

    ti Central Manager nhng thng tin v kh nng thc thi ca n, nhng thngtin nh dung lng b nh hay tc ca CPU. Mt deamon khc l Starter chu

    trch nhim qun l vic thc thi job trn my , n c th a ra nhng chnh

    sch ring qun l vic thc thi job

    Nhng deamon chnh chy trn Execution Machine

    Condor_startd: Deamon ny chy trn cc my tnh tham gia vo Condor

    Pool, n nh mt th hin ca my tnh tham gia vo mng li tnh ton.Condor_startd gi ClassAd ca my tnh m n chy ti Central Manager,

    nhng thng tin trong ClassAd gm c nhng thng tin v kh nng thc

    thi ca my , cng nh chnh sch hot ng ca my . Mt my tnh

    chy condor_startd s c th thc thi job, condor_startd chu trnh nhim

    thi hnh nhng chnh sch thc thi mt job trn my tnh , nh vic

    chy, tm dng, khi phc, b khng, hoc hy b job. Khi condor_startd

    chy v sn sng thc thi job, n s gi ti condor_starter.

    Condor_starter: Deamon ny chu trch nhim thit lp mi trng thc

    thi v iu khim vic thc thi job. Khi mt job ang c thc thi,

    condor_starter ly thng tin v trng thi hon thnh ca job v gi nhng

    thng tin ny ln Submit Machine, khi job hon thnh deamon ny s

    ngng.

    2.3: Globus Toolkit

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    18/50

    2.3.1 Gii thiu

    Globus Toolkit [6] l mt sn phm ca Gobus Alliance, mt t chc quc t

    chuyn v pht trin nhng cng ngh da trn nn tng tnh ton li. Globus Toolkit

    l mt phn mm m ngun m, cho php xy dng li tnh ton. N cho php ngidng chia s kh nng tnh ton, c s d liu hay nhng cng c trong mt t chc, c

    quan hay mt vng a l rng ln.

    2.3.2 Kin trc

    Globus Toolkit gm 3 nhm dch v chnh, c th truy cp ti thng qua mt

    lp dch vu bo mt (Hnh 2.3)

    - Resource Management

    - Data Management

    - Information Services

    Hnh 2.3 Kin trc h thng Globus

    Applications

    Third Party User Level Middleware

    Grid Resources and Local Services

    Security Layer (GSI)

    Grid ResourceManagement

    (GRAM,GRASS)

    Grid InformationServices (MDS)

    Grid DataManagement(Gri

    dFTP, ReplicaCatalog)

    Globus

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    19/50

    Tng Local Services bao gm nhng dch v ca h iu hnh, dch v

    mng nh TCP/IP, Submit Jobs, truy vn Queues. Tng li ca Globus cung

    cp dch v bo mt, Submit Jobs, qun l d liu, qun l ti nguyn. Tng cao

    hn (Level Middleware v Application) cha nhng cng c lin lc vi tng

    di, v b sung nhng chc nng cn thiu tng di.

    Security Layer

    Grid Security Infrastructure (GSI) cung cp phng thc cho vic xc

    thc ngi dng v m bo nhng kt ni, n s dng nhng cng c nh SSL

    (Security Sockets Layer), PKI (Public Key Infrastructure) v X.509. GSI cung

    cp nhng dch v, giao thc v nhng th vin thc hin nhng vic sau.

    Xc thc mt ngi dng tham gia s dng dch v li tnh ton.Xc thc cc ngun ti nguyn tham gia vo li tnh ton da.

    M ha d liu.

    Khi mt ngi dng mun truy cp vo h thng, h cn c mt ti khon

    c chng thc bi mt c quan chng thc. Hu ht cc dch v ca h thng

    u yu cu xc thc ngi dng trc khi cung cp cho h, iu ny m bo

    cho vic bo mt d liu cho c hai bn,

    Resource Management

    Resource Management cho php phn phi ti nguyn ph hp cho tng

    yu cu ca Job, iu khin vic thc thi Job v thu thp kt qu tnh ton. Nhm

    ny c 2 thnh phn chnh.

    Globus Resource Allocation Manager (GRAM): GRAM cung cp vic iu

    khin v bo co trng thi qu trnh thc thi ca cc my . Khi mt gimt Job ti h thng, mt deamon Gatekeeper s kim tra tnh xc thc

    ca , nu xc thc, gatekeeper s khi chy mt Job manager qun l

    vic thc thi Job . Job manager c to ra c lp trn nhng b lp

    lch b phn. GRAM c nhng b lp lch nh Portable Bacth System

    (PBS), Load Sharing Facility (LSF), v LoadLeveler.

    Nhng yu cu chi tit ca Job c ch nh r trong Globus

    Resource Specification Language (RSL), y l mt thnh phn ca

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    20/50

    GRAM, RSL miu t r nhng ti nguyn mt Job cn thc thi nh

    kch thc ti thiu ca b nh, hay tc ca CPU.

    Globus Access to Secondary Storage (GASS): GASS l mt c ch truy cp

    file, n cho php cc ng dng c th thc hin nhng thao tc vi file txa nh c, vit vo file. GASS s dng cung cp file cho vic thc thi

    Job v nhn cc kt qu khi Job hon thnh. N cng c s dng

    truy cp cc dng xut nhp chun v cc dng bo li.

    Information Services

    Information Services qun l thng tin ca nhng node tham gia vo h

    thng li. Thnh phn chnh ca n l Monitoring and Discovery Service

    (MDS).MDS cung cp c ch cho php cng b v truy vn nhng thng tin, cc

    node c th gi nhng thng tin ca n ln server, v c th truy vn ti server

    ly nhng thng tin cn thit. MDS c 3 lp.

    Information Providers (IPs): Lp di cng c nhim v thu thp thng

    tin v trng thi ca cc ti nguyn, chuyn nhng thng tin theo nh

    dng m n quy nh.

    Grid Resource Information Service (GRIS): Lp ny l mt deamon, chytrn cc my tnh tham gia vo li. GRIS ly nhng thng tin trn cc

    my v gi nhng thng tin m n ly c v server qun l thng

    tin. GRIS thng xuyn update nhng thng tin ny sau mt khong thi

    gian time-to-live (l khong thi gian thng tin v my cn hiu lc) c

    quy nh bi IPs.

    Grid Information Index Service (GIIS): Thc hin vic nh ch mc

    nhng thng tin v cc ti nguyn.

    Data Management

    Data Management cung cp nhng tin ch v nhng th vin cho vic

    vn chuyn, lu tr v qun l d liu c tao ra bi cc ng dng tnh ton.

    Nhng thnh phn ca nhm ny c:

    GridFTP: L mt m rng ca giao thc FTP, cung cp kh nng bo

    mt, tin cy, hiu sut cao trong vic vn chuyn d liu trong mi trng

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    21/50

    li. Ngoi nhng chc nng nh chun FTP, GridFTP cung cp kh

    nng xc th d liu truyn, c h tr bi GSI, truyn song song v bn

    song song.

    Replica Location and Management: Thnh phn ny cho php mt file cth c lu tr ti nhiu ni trn h thng li. S dng dch v ca

    Replica Management, mt file c th ng k vi Replica Location

    Service (RLS) to nhng bn sao ca n v lu tr ti nhiu ni trn h

    thng. Trong RLS mt file c gn vi mt Logical File Name (LFN),

    v c lu trong mt logical collection, nhng bn ghi ca mt file s

    tr ti v tr vt l ca file .

    2.4: So snh

    2.4.1 phc tp h thng

    BOINC

    BOINC Server c thit kt chy trn nn tng Linux, c th chy

    trn Windows nhng kh khn trong vic trin khai.

    S dng APACHE, PHP, MySQL lm h thng web v database.

    Condor

    C th chy c trn nn tng Unix v Windows.

    Globus Toolkit

    Chy trn nhiu nn tng khc nhau, c th chy trn Web server hoc

    non-Web server.

    C nhiu thnh phn khc nhau trong h thng, ngi pht trin ch cn

    chn nhng thnh phn mnh mun chy ng dng, khng cn s dng htcc thnh phn.

    2.4.2 phc tp cho ngi pht trin ng dng

    BOINC

    Cung cp h thng API cho ngi pht trin ng dng tnh ton, nhng

    ngi pht trin vit ng dng tnh ton da trn API c BOINC cung cp.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    22/50

    ng dng tnh ton ch yu c vit bng ngn ng C, cung c th vit

    bng ngn ng Java.

    Condor

    Khng cung cp API cho ngi pht trin, cc ng dng tnh ton cchia thnh nhiu loi. Mi loi c vit bng mt ngn ng ring v lin kt

    vi th vin ca Condor c th trin khai tnh ton trn h thng Condor.

    Mi loi Job c m t trong nhng file m t job, nhng file ny c lu

    cng th mc vi nhng file thc thi.

    Globus Toolkit

    Cung cp h thng API cho ngi pht trin ng dng tnh ton.

    2.4.3 phc tp cho ngi dng

    BOINC

    Ngi dng c th d dng ti phn mm BOINC v tham gia vo

    li tnh ton. D dng m rng phm vi ca d n.

    Condor

    Kh ci t cho ngi s dng thng thng, thng s dng xy dng

    mt mng li tnh ton cho mt t chc hay mt cng ty.Globus Toolkit

    Kh khn cho ngi s dng bnh thng tham gia vo li tnh ton.

    Cn phi xc thc ngi dng v cc ti nguyn khi tham gia vo li tnh

    ton.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    23/50

    Chng III: Kin trc h thng

    3.1: Kin trc tng th

    Hnh 3.1 Kin trc tng th h thng

    Server Project

    Server Project l ni chy ng dng cn tnh ton, ti y mt bi ton ln s c

    chia nh thnh nhiu phn. Nhng phn nh ca bi ton c gi l mt Task, ServerProject s qun l nhng Taskny, cng vi nhng d liu u vo cn thit cho vic

    tnh ton, d liu ny c lu trong c s d liu ca server. Khi mt my tnh Node

    kt ni ti server, Task v nhng d liu cn thit s c gi ti my Node. Sau

    Server s lng nghe vic thc thi trn Node, Node thc thi mt Taskxong, kt qu c

    tr v cho Server Project, Server Project tin hnh x l chng v lu vo c s d liu.

    Server Facebook App

    ServerProject

    ServerFacebook

    App

    Node N

    Input data,Task

    Output data User GUI,Node Applet

    Facebook App

    Node1

    Facebook App

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    24/50

    Server Facebook App cha chng trnh ng dng facebook, ng dng ny c

    cha mt Node Applet, Node Applet l mt chng trnh java chy di dang applet.

    Node Applet l thnh phn to kt ni ti Server Project, nhn cc yu cu tnh ton v

    thc thi chng.

    Node

    Node l nhng my tnh tham gia vo nhng d n tnh ton, my tnh Node s

    dng b nh v ti nguyn CPU trong nhng lc my tnh rnh ri, phc v cho vic

    tnh ton. Khi mt my Node chy ng dng trn Facebook, mt applet s c chy,

    applet ny thc hin vic kt ni ti Server Project m ngi dng chn. nhn nhng

    task v file input t Server Project, thc thi chng trn my tnh Node, v gi tr kt qu

    li cho Server Project.

    3.2: Cc thnh phn chnh

    H thng gm c 3 thnh phn chnh (c minh ha trn hnh 3.2)

    Server Task

    Server Tasknm trn Server Project, c nhim v nhn nhng task c

    gi ti t Server Application v phn phi task n my tnh Node, ng thi

    nhn cc kt qu tr v t Node v gi kt qu ti Server Application

    Server Application

    Server Application nm trn Server Project c nhim v phn chia mt bi

    ton thnh nhiu Task v gi nhng task ny n cho Server Task, ng thi

    nhn kt qu tr v t Server Taskv x l.

    Node Applet

    Node Applet nm trn Server Facebook App v c chy trn cc my tnh

    tham gia vo h thng tnh ton. Node Applet c nhim v thc thi nhng Task

    m Server Taskgi ti, v gi tr kt qu v cho Server Task

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    25/50

    Hnh 3.2 Kin trc chi tit h thng

    3.2.1: Server Task

    3.2.1.1: Nhim v

    Server Taskl mt chng trnh c th chy trn mt my hoc nhiu my tnh khc

    nhau.

    InputDataPool

    OutputDataPool

    Web Server Application

    Server Task

    Node

    ServerApplicationProject

    Participant

    TaskManager

    DataManager

    GUI

    App Facebook GUI Task GUI

    Task Engine Task Data

    Node Applet(applet)

    Webpages

    AdminGUI

    Server Application

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    26/50

    Server Taskc 2 nhim v chnh:

    - Nhn task t Server Application v phn phi chng ti Node

    - Nhn kt qu tr v t Node v gi kt qu ny ti Server Application x l

    3.2.1.2: Chc nng

    Server Taskcung cp 3 chc nng chnh:

    Load balancing (cn bng ti)

    Node Applet chy trn nhiu my tnh khc nhau vi cu hnh khc

    nhau, chnh v th kh nng tnh ton mi my tnh Node l khc nhau.

    Server Taskcung cp mt chc nng cn bng ti. Khi mt my tnh Node kt

    ni ti Server Task, n s t ng gi nhng thng tin cu hnh ca n ti

    Server Task, Server Taskda vo nhng thng tin cu hnh ca tng my v

    tc kt ni mng ti cc my tnh ng vai tr l Node, gi s lng

    Taskph hp vi kh nng tnh ton ca tng my.

    Mt tp hp nhiu Taskc gi ti Node gi l mt bundle, da vo

    cc thut ton cn bng ti server tnh s lng Taskph hp cho tng Node,

    v gi mt bundle vi s lng Task ti Node

    Qun l tin tnh tnh ton (Jobs)

    Chc nng qun l qu trnh tnh ton gip ngi qun l c th dng

    hoc khi phc li vic thc thi cng vic tnh ton, ng thi a ra cc

    thng k v tin trnh thc thi ca cng vic tnh ton, nhng s liu c

    thng k nh hiu sut cng vic, thi gian tnh ton trung bnh, thi gian d

    tnh hon thnh cng vic.

    Qun l Node

    Chc nng qun l Node, qun l cc Node kt ni ti Server Task, qun

    l thng tin cng nh s lng Node kt ni ti Server Task. Vic qun l

    Node gip cho vic a ra nhng thng k v thi gian tnh ton, v ng

    lng thi gian hon thnh cng vic.

    3.2.1.3: Cu hnh

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    27/50

    Server Task s dng 3 kt ni TCP to kt ni ti Server Application,

    Node v Server Taskkhc.

    Hnh 3.3 M hnh kt ni TCP/IP

    Mt kt ni TCP ti Server Application nhn task gi t Server

    Application ti v gi kt qu v cho Server Application x l. Khi Server Task

    chy, n lun lng nghe kt ni t Server Application mt cng, mc nh l

    11112

    Mt kt ni TCP ti Node gi task v file input ti Node, nhn kt qu

    tr v t Node, ServerTasklng nghe kt ni t Node trn mt cng, mc nh

    l 11113

    Mt kt ni TCP ti Server Taskkhc chia s task v file input, Server

    Tasklng nghe kt ni t nhng Server Taskkhc trn cng mc nh l 11111

    Server Taskc 2 tin trnh chnh l: Controller v Server, tin trnh

    controller s khi chy server nh mt tin trnh c lp va theo di trng

    thi hot ng ca n, trng thi ca server c ghi nhn trong mt m trng

    thi, da vo m ny tin trnh controller s quyt nh vit bt u hay dng

    Server TaskServerApplication Node Applet

    Server Task

    TCP/IP Port: 11112 TCP/IP Port: 11113

    TCP/IP Port: 11111

    TCP/IP Port: 11112 TCP/IP Port: 11113

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    28/50

    tin trnh server. Tin trnh controller cung cp nhng thng s cn thit tin

    trnh server c th thc thi.

    + Cc cu hnh ( nm trong mt file file cu hnh)

    + Bin mi trng

    + Java Class path

    3.2.2: Server Application

    3.2.2.1: Nhim v

    Server Application l mt chng trnh java chy trn mt my tnh no , c

    th cng hoc khc Server Task, Server Application c th kt ni ti mt hay nhiu

    Server Task. Server Application c nhim v to ra Task v nhng file input, gi

    cc task v cc file input ti Server Task, nhn kt qu tr v t Server Taskv x l

    nhng kt qu .

    3.2.2.2: Chc nng

    Server Application cung cp 2 chc nng:

    Recovery and Failover

    Khi kt ni gia Server Applicationv Server Taskb ngt do mt l do no

    , Server Application s t ng c gng kt ni ti Server Task trong mt

    khong thi gian c n nh.

    Validator

    Nhng kt qu t my tnh Node gi ln c th khng chnh xc, do vic

    tnh ton sai my tnh Node.Validator l mt chc nng kim tra kt qu gi v

    t Node c chnh xc hay khng, thc hin chc nng ny Server Application

    yu cu Server Taskgi mt task ti hai Node thc thi v nhn kt qu gi trv t cc Node . Server Application s tin hnh so sch cc kt qu ny, nu

    hai kt qu bng nhau th kt qu c coi l ng, nu sai Server Application

    s yu cu Server Taskgi li task ti Node tnh ton li.

    3.2.2.3: Cu hnh

    Server Application c 2 modun chnh, mt modun dng to kt ni vi

    Server Task, nhn v gi d liu ti Server Task thng qua mt kt ni TCP,

    modun ny c JPPF Frame Work cung cp sn. Modun th 2 l nhng lp

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    29/50

    java thc hin vic tnh ton bi ton, modun ny do ngi pht trin ng dng

    tnh ton vit v cu hnh da trn h thng JPPF API, nhng d liu u vo

    phc v cho vic tnh ton cng c nhng ngi pht trin to ra.

    Khi Server Application chy, n thc hin vic bin dch nhng lp javam t vic tnh ton thnh nhng file .class, nhng file .class v nhng file d

    liu u vo c gi ti Server Task, ti y chng c phn phi ti cc

    Node.

    Trong qu trnh chy, Server Application ng thi gi Task ti Server

    Task, v nhn kt qu tr v ca nhng Task hon thnh, x l cc kt ny.

    3.2.3: Node Applet3.2.3.1: Nhim v

    Node Applet l mt java applet, chy trn nhng my tnh tham gia vo h thng

    tnh ton, c nhim v nhn task v file input gi v t Server Task, thc thi chng

    v gi tr kt qu v cho Server Task.

    3.2.3.2: Chc nng

    Recovery and Failover

    Tng t nh Server Application, khi kt ni gia Node v Server Taskb

    ngt do mt l do no , Node s t ng th kt ni ti Server Tasksau mt

    khong thi gian c n nh.

    Task Checkpoint

    Trong qu trnh thc thi mt Task, Node Applet c th gp mt s vn

    no cn phi dng vic thc thi mt Task. c th khi phc li qu trnh

    tnh ton ca mt Task. NodeApplet cung cp chc nng Task Chekpoint, chcnng ny lu li trang thi hon thnh ca mt Task, mt Task c th b dng

    thc thi do ngi dng dng vic chy ng dng, hoc cng c th do mt s c

    t ngt no , tng hiu nng thc thi ca mt Task v trnh trng hp

    phi thc hin li Task nhiu ln do s c. Chc nng Task Chekpoint s t ng

    lu trng thi hon thnh ca mt task sau mt khong thi gian nht nh.

    3.2.3.3: Cu hnh

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    30/50

    Khi mt ngi dng Facebook chy ng dng tnh ton phn tn trn Facebook,

    v chn mt Project tham gia v li tnh ton, Node Applet s c chy, Node

    Applet ly a ch ca Server Project t mt file cu hnh. Sau n thc hin to

    kt ni TCP ti Server Task. Khi kt ni TCP to xong, Server Taskgi Taskv

    nhng file input cn thit v my tnh Node. Node Applet chy nhng task m Server

    Taskgi v bt u thc hin vic tnh ton.

    Khi qu trnh tnh ton hon thnh, Node Applet gi kt qu v cho Server Task

    thng qua kt ni TCP to ra lc trc, v sau kt ni ny s b ngt, Node Applet

    sau s to mt kt ni TCP khc ti Server Task tip tc nhn Taskkhc v

    thc thi.

    Qu trnh nh vy s lin tc c thc hin cho n khi ngi dng ngng chy

    ng dng hoc ng dng tnh ton thc hin xong.

    My Node thc hin vic tnh ton bng mt chng trnh applet, nn ngi

    dng khng cn phi ti v v ci t cc chng trnh tnh ton trn my tnh ca

    mnh. Ngi dng c th truy cp vo trang web ca ng dng thc hin vic tnh

    ton.

    3.3: ng dng tnh ton3.3.1: nh ngha

    L nhng ng dng java c chy trn h thng tnh ton phn tn, thc hin

    vic tnh ton mt bi ton no . Nhng bi ton ny thng l nhng bi ton c

    khi lng tnh ton ln, nu thc thi trn mt my tnh th thi gian tnh ton s rt

    lu, hoc cn c nhng my tnh c kh nng tnh ton cao, cc my tnh loi ny

    thng rt t.V vy mun tng tc tnh ton cn c mt lng ln my tham gia

    vo vic tnh ton, lm c iu ny, mt ng dng tnh ton cn c chia thnhnhiu phn, mi phn c gi l mt Task, Task c gi ti nhiu my tnh khc

    nhau tnh ton.

    Nhng ng dng tnh ton c vit da vo mt API c cung cp bi h thng

    JPPF.

    3.3.2: JPPF API

    JPPF API cung cp nhng th vin cho ngi lp trnh pht trin nhng ng

    dng tnh ton ca mnh. JPPF Frame Work cung cp h thng cc lp to kt ni,

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    31/50

    thc hin vic phn phi Task, v cc chc nng qun l. Ngi pht trin ng dng

    khi mun trin khai ng dng tnh ton ca mnh trn h thng JPPF, h s nh ngha

    nhng Task c k tha t lp JPPFTask, nhng Task c tha k t lp ny s c

    th c trin khai trn h thng JPPF.

    JPPF API cung cp nhng lp gip vic to kt ni gia ng dng v Server

    Task, bao gm mt s tnh nng sau.

    + Qun l mt hoc nhiu kt ni ti Server Task

    + Gi Taskti Server Taskv nhn kt qu t Server Task

    + X l nhng thng bo v vic thc thi Task

    3.4: Task

    3.4.1: nh ngha Task

    Taskl mt n v tnh ton nh ca mt ng dng tnh ton, c thc thi trn

    my tnh Node. Mt ng dng tnh ton ln mun tng hiu sut tnh ton cn c

    chia nh lm nhiu task, c th phn phi ti nhiu my tnh Node thc thi, lm

    tng hiu nng tnh ton ca ng dng.

    Mt Task c nhng ngi trin khai ng dng tnh ton nh ngha, chngc qun l bi server application. thc thi mt task, my tnh Node cn ti v

    nhng java class, java class ny chnh l nhng chng trnh thc thi mt phn nh

    ca mt ng dng tnh ton.

    Chu trnh thc thi mt Tasktrn l qu trnh to kt ni, nhn nhng file .class

    v nhng file d liu u vo, thc hin tnh ton trn nhng d liu , tao ra kt qu

    v gi tr v cho ServerTask, ng kt ni TCP. Sau li to mt kt ni TCP khc

    nhn mt Task khc.Mt Taskdo ngi pht trin vit mun thc thi c trn h thng JPPF, n cn

    c vit da vo API m JPPF cng cp. JPPFTaskl mt lp c s cho tt c task,

    nhng Taskdo ngi pht trin vit phi k tha lp ny.

    3.4.2: Input Data File

    Input data file l nhng d liu cn thit thc thi mt task, nhng file ny

    c Server Application gi ln Server Task, Server Task lu chng trong c s d

    liu ca mnh. Khi mt kt ni ti Server Task, nu Taskm n thc hin cn c cc

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    32/50

    file u vo, Server Tasks gi file input cng vi cc file .class ca Taskv my ,

    cc file ny s c lu trong th mc %temp% ca my , khi mt ngng vic thc

    thi task cho mt project, nhng file ny s t ng c xa b.

    3.4.3: ResultResult l nhng kt qu tnh ton ca mt task, khi mt task c thc thi xong,

    result c gi tr v cho Server Application thng qua Server Task, cc kt qu ny

    c Server Application x l, nhng kt qu c chp nhn s c lu vo c s

    d liu trn

    Result cng c nh ngha bi ngi pht trin ng dng tnh ton. S dng

    mt s phng thc to Result v ly Result do JPPF API cung cp, ngi pht trin

    c th nh ngha Result cho bi ton ca mnh.

    C 2 phng thc n gin ng dng lu gi v nhn v mt result l:

    public void setResult(Object result)

    public void getResult()

    v d vic to result.

    public class MyTask extends JPPFTask

    {public void run()

    {

    // ... some code here ...

    setResult("This is the result");

    }

    }

    Result s c nhn v bng phng thc getResult().

    String result = (String) myTask.getResult();

    Ngoi ra cn c cc cch khc lu tr v nhn v mt result:

    + Lu tr hoc nhn v t mt c s d liu

    + S dng files

    + S dng mt ng dng khc

    ..

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    33/50

    Chng IV: Ci t h thng

    4.1 Server Task

    Server Task c nhim v nhn task t server application v phn phi task ti

    nhng node tham gia vo li tnh ton. Khi khi chy server task to ra 3 server socket

    lng nghe kt ni t server application, node v serve task khc.

    Nhng lp chnh trong Server Task

    4.1.1 JPPFDriver

    JPPFDriver l lp chnh trong Server Task, n chun b v khi chy

    nhng mdun ca Server Task. N chy mt server cho Server Task kt ni

    n, mt server cho Node kt ni n v mt class server x l nhng yu

    cu t nhng class loader t xa.

    Nhng thuc tnh chnh:

    taskQueue:Thuc tnh ny c kiu l i tng JPPFQueue, l mt hng t

    lu trc task thc thi.

    applicationServers: l mt i tng c kiu JPPFAppli cationServer. Lp

    i tng ny lng nghe nhng kt ni ti t Server Application, mi khi c

    mt kt ni ti server mt thread c to lng nghe nhng yu cu caServer Application, v t nhng yu cu ny vo hng i thc thi

    nodeNioServer: l mt i tng c kiu NodeNioServer. Lp i tng

    NodeNioServer thc hin to kt ni vi Node, gi yu cu thc thi task ti

    Node.

    classServer: l mt i tng c kiu ClassNioServer. lp i tng ny x

    l nhng yu cu t nhng class loader .

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    34/50

    Nhng phng thc chnh:

    run(): Phng thc c gi bi hm main() s khi chy Server Task,

    phng thc run() s khi to nhng i tng ClassNioServer,

    NodeNioServervJPPFApplicationServers, v chy chng. N cng khi to

    i tngJPPFBroadcaster qung b thng tin ca Server Task nu ccu hnh. Nu thuc tnh "jppf.management.enabled"trong file cu hnh c

    gn bng true, n s khi to i tngJMXServerImpl thc thi vic thc

    thi task.

    shutdown(): Shutdown Server cng nhng thnh phn ca n.

    createConnectionInformation(): Ly thng tin v host v cng dng cho

    nhng kt ni ti Server Task t file cu hnh.

    NodeNioServer ClassNioServerJPPFApplicationServer

    JPPFDriver

    - void run()- void shutdown()- void createConnectionInformation()- void main()

    - JPPFApplicationServer[] applicationServers

    -NodeNioServer nodeNioServer- ClassNioServer classServer

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    35/50

    4.1.2 JPPFNode

    Lp JPPFNode l i tng thc thi task, lp i tng ny c gi

    bi Node thng qua Classloader, Mt Node khi chy dng phng thc

    Classloader load lp JPPFNode v thc thi.

    Nhng thuc tnh chnh:

    executionManager: Thuc tnh ny c kiu l mt i tngNodeExecutionManagerdng thc thi task.

    nodeIO: Thuc tnh ny c kiu l mt i tngNodeIO dng c nhng

    task bundle do server gi v.

    exitAction: Thuc tnh ny c kiu l i tng Runable, nu exitAction khc

    null, node s c dng.

    Nhng phng thc chnh:

    init():Phng thc ny khi to node, to nhng socket kt ni ti Server

    Task

    run(): Khi chy JPPFNode, gi phng thc init() to node, khi qu trnh

    to node hon thnh n s gi phng thcperform() thc thi task.

    perform(): y l phng thc thc thi task, phng thc ny s gi i

    tng NodeIO c nhng task do server gi v, sau gi i tng

    JPPFNode

    - void run()- void perform()- void processResults()- void init()

    - NodeExecutionManager executionManager- NodeIO nodeIO- Runnable exitAction

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    36/50

    executeManage thc thi task v gi phng thc processResults thc thi

    gi tr kt qu v server.

    stopNode(): Phng thc dng node v gii phng ti nguyn n s dng.

    4.1.3 Server Task Configuration

    Thng tin cu hnh server c lu trong mt file cu hnh.

    Cu hnh thng tin mng

    Cu hnh cng lng nghe kt ni t Server Application, Node v Class

    loader.

    # class loader port

    class.server.port = 11111

    # communication with the applications

    app.server.port = 11112

    # communication with the nodes

    node.server.port = 11113

    Server Task c th gi qung b nhng thng tin ca n trn mng (a

    ch host v s cng) thng qua c ch UDP multicast. Nh c ch ny Node

    v Server Application c th t tm c nhng Server Task ang hot ng

    trn mng. Server Task t ng qung b thng tin ca n trn mng ta

    cn gn thuc tnhjppf.discovery.enabledbng true.

    # Enable or disable automatic discovery of JPPF drivers

    jppf.discovery.enabled = true

    # UDP multicast group to which drivers broadcast their connection parameters

    jppf.discovery.group = 230.0.0.1

    # UDP multicast port to which drivers broadcast their connection parameters

    jppf.discovery.port = 11111

    # How long a driver should wait between 2 broadcasts, in milliseconds

    jppf.discovery.broadcast.interval = 1000

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    37/50

    Server Task c th kt ni ti Server Task khc to thnh mt mng kiu

    mng ngang hng. C 4 loi kt ni gia 2 server A v server B

    + A v B khng c kt ni

    + A kt ni ti B ( A hot ng nh mt Node kt ni ti B)

    + B kt ni ti A ( B hot ng nh mt Node kt ni ti A)

    + A v B c kt ni vi nhau.

    C hai cch nh ngha mt kt ni t mt server ti mt server khc

    trong mng.

    T ng tm kim server khc trong mng kt ni

    # Enable or disable auto-discovery of other peer servers (defaults to false)

    jppf.peer.dicovery.enabled = true

    Vi cch ny, cc Server Task s t ng tm kim nhng Server Task

    khc ang hot ng trong mng thc hin kt ni.

    Cu hnh bng tay.

    # define a space-separated list of peers to connect to

    jppf.peers = server_1 server_2

    # connection to server_1

    jppf.peer.server_1.server.host = host_1

    class.peer.server_1.server.port = 11111

    node.peer.server_1.server.port = 11113

    # connection to server_2

    jppf.peer.server_2.server.host = host_2

    class.peer.server_2.server.port = 11111

    node.peer.server_2.server.port = 11113

    Vi cch cu hnh bng tay ta c th ch nh Server Task no kt ni

    vi nhng Server Task no.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    38/50

    Gi tr jppf.peer.server_1.server.host cn phi trng vi gi tr

    class.server.host trong file cu hnh ca server_1 v gi tr

    node.peer.server_1.port cn phi trng vi gi tr node.server.port trong

    file cu hnh ca server_1

    Cu hnh thuc tnh cn bng ti

    jppf.load.balancing.algorithm =

    JPPF cung cp bn thut ton cn bng ti:

    + manual: mi mt bunle cha c nh s task, tc l mt node cchia cho s lng task l nh nhau.

    + autotuned: s dng thut ton Monte Carlo

    + proportional: tnh thi gian trung bnh thc thi task da vo

    vic tham gia ca cc node, t gi lng task tng ng vi thi gian

    thc thi trung bnh ti cc node.

    + rl: thut ton da trn mt k thut tr thng minh nhn to gi l

    reinforcement learning

    4.2 Server Application

    To kt ni ti Server Task, gi task ti Server Task v nhn kt qu tr v x l.

    Nhng lp chnh trong Server Application

    4.2.1 JPPFClient

    Lp JPPFClient cung cp mt API cho vic kt ni ti Server Task, gi

    task v nhng cu lnh iu khin .

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    39/50

    Nhng thuc tnh chnh.

    uuid: l nh danh ca mt JPPF, nh danh ny xc nh nhng ng

    dng ang kt ni ti Server Task

    Nhng phng thc chnh.

    initPools(): phng thc ny c nhng thng tin trong file cu hnh v

    gi phng thc newconnection to kt ni ti Server Task.

    submit(): phng thc ny thc hin vic gi Task ti Server Task,

    phng thc ny c cc i s: tasklist, dataProvider, policy, priority.

    + tasklist: danh sch task cn submit.

    + dataProvider: l mt cung cp kh nng chia s d liu gia cc

    task, i s ny c th bng null.

    + policy: c ch thc thi task, i s ny quyt nh mt task cc thc thi trn mt node no khng.

    + priority: quyn u tin, xc nh quyn u tin thc thi ca mt

    task.

    close():phng thc ny thc hin dng Server Application v gii phng

    ti nguyn n s dng

    JPPFClient

    - String uuid

    - JPPFClient()- void initPools()- List submit()- void close()

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    40/50

    4.2.2 JPPFTask

    L mt lp tru tng cho tt c task gi ti server thc thi, lp ny m

    t vic chia s d liu gia cc task, m t nhng ngoi l trong vic thc thi task,

    v m t kt qu ca vic thc thi task.

    Nhng thuc tnh chnh.

    id: nh danh ca task

    position: v tr ca task theo thi gian n c gi ti server, y chnh l

    v tr ca n trong hng i thc thi task.

    result: kt qu thc thi ca task

    exption: ngoi l trong vic thc thi task

    dataProvider: c ch chia s d liu gia cc task

    Nhng phng thc chnh.

    getId(): tr v id ca task

    setId(): thit lp id cho task

    getResult(): tr v kt qu thc thi ca task

    - String id- int position- Object result- Exeption exeption- DataProvider dataProvider

    - String getId()

    - void setId()- Object getResult()- void setResult()- Exeption getExeption()- void setExeption()- DataProvider getDataProvider()- void setDataProvider()- int getPosition()- void setPosition()

    JPPFTask

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    41/50

    setResult(): thit lp kt qu ca task, phng thc ny s c ngi

    pht trin nhng ng dng tnh ton dng nh ngha mt kt qu ca

    task theo tng ng dng tnh ton.

    getExeption(): tr v ngoi l trong vic thc thi tasksetExeption(): thit lp nhng ngoi l trong vic thc thi task

    getDataProvider(): tr v c ch chia s d liu gia cc task

    setDataProvider(): thit lp c ch chia s d liu ga cc task

    getPosition(): tr v v tr ca task trong hng t thc thi task

    setPosition(): thit lp v tr ca task trong hng i thc thi task

    Ngoi ra JPPFTask cn nh ngha mt s phng thc khc nhonCancel(), onRestart(), onTimeout() x l nhng s kin xy ra i vi task

    4.2.3 Server Application Configuration

    Server Application c th kt ni ti nhiu Server Task, trong file cu hnh

    lit k tn v a ch ca nhng Server Task m n s kt ni ti.

    # space-separated list of drivers this may connect to# defaults to default-driver

    jppf.drivers = driver-1 driver-2

    Cu hnh thng tin mng

    Vi mi Server Task ta nh ngha nhng thuc tnh ca n nh a ch

    host v s cng.

    # host name, or ip address, of the host the JPPF driver is running on

    driver-1.jppf.server.host = localhost

    # port number for the class server that performs remote class loading

    driver-1.class.server.port = 11111

    # port number the s / applications connect to

    driver-1.app.server.port = 11112

    Th t u tin ca Server Task

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    42/50

    # assigned driver priority

    driver-1.priority = 10

    Gi tr ny s quyt nh th t u tin ca Server Task, Server

    Applicaton s lun s dng kt ni ti Server Task c u tin cao nht, khi

    kt ni ti Server Task c u tin cao nht b ngt, n s to kt ni ti

    Server Task c u tin tip theo.

    Recovery and Failover

    # number of seconds before the first reconnection attempt

    reconnect.initial.delay = 1# time after which the system stops trying to reconnect, in seconds

    # a value of zero or less means it never stops

    reconnect.max.time = 60

    # time between two connection attempts, in seconds

    reconnect.interval = 1

    Chng ta c th cu hnh c ch khi phc khi kt ni gia Server

    Application v Server Task gp s c, vi nhng thng tin cu hnh nh trn,

    Server Application s thc hin vic khi phc li kt ni sau 1s khi kt ni

    b ngt, n s c gng kt to kt ni trong 60s, sau 60 m khng to c kt

    ni n s ch 1s sau tip tc th li vic to kt ni

    Local execution

    # enable local job execution; defaults to falsejppf.local.execution.enabled = true

    # number of threads to use for local execution

    # the default value is the number of CPUs or cores available to the JVM

    jppf.local.execution.threads = 4

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    43/50

    Vi vic cu hnh ny s cho php Server Application cng tham gia

    vo vic tnh ton nh mt node. Mc nh gi tr ny lfalse

    4.3 Node AppletChy trn nhng my tnh tham gia vo li tnh ton, thc thi Task v tr kt

    qu v cho Server Task

    Nhng lp chnh trong Node Applet

    4.3.1 NodeRunner

    L mt applet, thc thi vic chy Node, to kt ni ti Server Task, s

    dng c ch classloader ti lp JPPFNode thc thi task v gi kt qu tr vServer Task.

    Nhng thuc tnh chnh.

    classLoader: c kiuJPPFClassLoader, l mt classloader dng load

    nhng lp cn java khi chy node.

    nodeSocket: c kiu SocketWrapper, l socket kt ni ti Server Task.

    node: c kiu MonitoredNode i tng ny c to nh c ch

    classloader. NodeRunner dng c ch classloader ti lp JPPFNode trn

    Server Task to mt i tng kiu MonitoredNode

    Nhng phng thc chnh.

    NodeRunner

    - JPPFClassLoader classLoader- SocketWrapper nodeSocket- MonitoredNode node

    - void init()- void runMain()- MonitoredNode createNode()- JPPFClassLoader getJPPFClassLoader()- void shutdown()

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    44/50

    init(): phng thc to applet

    runMain(): phng thc thc thi vic chy node, phng thc ny gi ti

    hm createNode to node v chy n.

    createNode(): s dng c ch classloader ti lp JPPFNode trn ServerTask to mt node c kiu l MonitoredNode.

    getJPPFClassLoader(): phng thc ny tr v classloader dng trong

    vic thc thi NodeRunner.

    shutdown(): phng thc dng chy Node.

    4.3.2 JPPFClassLoader

    Mt ClassLoader cho php ti nhng lp t xa trong qu trnh thc thi.

    Nhng thuc tnh chnh.

    socket: socket kt ni ti remote host, ti lp

    uuidPath: danh sch id ca nhng ng dng c gi ln Server Task

    requestUuid: id ca bundle task m node thc hin

    Nhng phng thc chnh.

    Init(): to socket kt ni ti remote host

    JPPFClassLoader

    - SocketWrapper socketClient- List uuidPath- String requestUuid

    - void init()- void initSocketClient()- Class findClass()- JPPFResourceWrapper loadResourceData()- JPPFResourceWrapper loadRemoteData()

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    45/50

    initSocket(): thit lp thng tin cho socket theo nhng thng tin trong file

    cu hnh.

    findClass(): phng thc ny thc hin ti class theo tn class c ch

    nh, nu gp li n s gi phng thc System ClassLoader, phngthc ny gi ti phng thc loadResoureData() ly nhng thng tin

    v class cn ti, v dng phng thc defineClass() mt t class c

    ti theo nhng thng tin ly c nh phng thc loadResoureData().

    loadResourceData(): phng thc ny gi ti phng thc

    loadRemoteData() c nhng thng tin v class c ch nh thng

    qua socket. Phng thc tr v mt i tng JPPFResourceWrapper,

    i tng ny tm lc nhng thng tin ca class c ch nh.

    4.3.3 Node Applet Configuration

    Cu hnh mng

    # IP address or host name of the server

    jppf.server.host = my_host

    # class loader port

    class.server.port = 11111

    # communication between node and server

    node.server.port = 11113

    Thng tin cu hnh ny nh ngha a ch v cng ca Server Task m

    node s kt ni ti.

    Server discovery

    # Enable or disable automatic discovery of JPPF drivers

    jppf.discovery.enabled = true

    # UDP multicast group to which drivers broadcast their connection parameters

    jppf.discovery.group = 230.0.0.1

    # UDP multicast port to which drivers broadcast their connection parameters

    jppf.discovery.port = 11111

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    46/50

    # How long in milliseconds the node will attempt to automatically discover a driver

    # before falling back to the manual configuration parameters

    jppf.discovery.timeout = 5000

    Nu gi tr jppf.discovery.enabled c gn bng true, node s t ng

    tm kim nhng Server Task c trong mng kt ni.

    Recovery and failover

    # number of seconds before the first reconnection attempt

    reconnect.initial.delay = 1

    # time after which the system stops trying to reconnect, in seconds

    # a value of zero or less means it never stops

    reconnect.max.time = 60

    # time between two connection attempts, in seconds

    reconnect.interval = 1

    Cng ging nh Server Application, nhng thng tin cu hnh ny m t

    c ch thc hin khi phc kt ni khi b ngt.Security policy

    Chnh ny bo mt s gii hn nhng vic node c th lm trn my

    tnh m n chy.

    kch hot chnh sch ny ta cn ch r ng dn ti file nh ngha

    nhng chnh sch bo mt.

    # Path to the security file, relative to the current directory or classpathjppf.policy.file = jppf.policy

    Nu gi tr ny khng c nh ngha, chnh sch bo mt s b v hiu

    ha.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    47/50

    4.4 Mt s ng dng tnh ton

    Chng ti xy dng th nghim bi ton gii m DES trn h thng tnh ton.

    Bi ton t ra l chng ta c mt bn r v mt bn m ha ca bn r , chng ta cn

    tn ra kha dng m ha b r . gii quyt bi ton ny chng ta s dngphng thc duyt ton b, chng ta s duyt ln lt cc gi tr c th ca kha, dng

    kha gii m bn m ha, sau so snh vi bn r tm ra kha ng.

    Bi ton cn c tnh ton trn h thng tn ton phn tn tng nng sut tnh

    ton, v th bi ton cn c chia ra lm nhiu phn nh, mi phn nh ny l mt

    task, mt task y chng ti nh ngha l vic th 100 kha, kt qu tr v cho server

    s lfalse nu 100 kha u sai, nu c kha ng kt qu tr v s l true v gi tr

    ca kha .

    Do iu kin vt cht khng cho php, chng ti cho chy th ng dng trn 3

    my, v chy th 5000 task, kt qu cho thy h thng c th chia task cho tng my

    thc thi.

    Hnh 4.1 M t phn chia task ti nhng my tnh Node

    Thng k thi gian thc thi cho thy, khi chy vi 3 my tnh thi gian thc thi

    nhanh hn 1 my tnh.

    Hnh 4.2 l biu thi gian thc thi khi c mt my tnh, ng mu cho

    thy thi gian thc thi trung bnh khong 51ms.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    48/50

    Hnh 4.2 Biu thi gian thc thi khi c mt my tnh

    Hnh 4.3 l biu thi gian thc thi khi c 3 my tnh, ta thy thi gian thc thi

    trung bnh khong 30ms

    Hnh 4.3 Biu thi gian thc thi khi c ba my tnh

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    49/50

    Chng V Tng kt

    Da trn nhng kin thc tm hiu c v tnh ton phn tn v vic pht trin

    ng dng trn facebook. Chng ti phn tch v nm bt c kin trc c bn ca

    mt h thng tnh ton phn tn, cch thc hot ng v trin khai mt h thng tnhton phn tn. Bn cnh chng ti cng nm bt c quy trnh trin khai mt ng

    dng trn facebook. T nhng kt qu nghin cu , chng ti bc u xy dng

    mt h thng tnh ton phn tn kt hp vi ng dng facebook. H thng c s dng

    mt ng dng m ngun m v tnh ton li lm nn tng pht trin l ng dng

    JPPF [12]. Chng ti ci tin ng dng tnh ton li ny n c th trin khai trn

    mi trng web, gip cho vic tham gia ca ngi dng c d dng hn. Chng ti

    cng xy dng mt vi bi ton tnh ton da trn h thng tnh ton phn tn ny,

    kim th qu trnh hot ng ca n. V h thng c th thc hin nhng bi tontrn mi trng li tnh ton.

    Do iu kin vt cht cng nh thi gian hn hp nn h thng mi ch c trin

    khai trn quy m nh, nhng chng ti tin rng vi vic pht trin ca mng my tnh

    cng nh mng x hi nh hin nay, h thng s d dng c m rng v pht trin.

    Vic pht trin cc ng dng tnh ton phn tn s cn c quan tm nhiu trong

    tng lai, v y l mt gii php hu hiu gii quyt nhng bi ton khoa hc ln.

    Trong tng lai chng ti s xy dng h thng vi quy m rng ln hn. Ci tinnhng thut ton ca chng trnh chng trnh c th vn hnh tt hn, chnh xc

    hn, s dng ti nguyn ca nhng my tnh trong li tnh ton ph hp hn nhm

    tng hiu nng ca h thng.

    V ng dng, chng ti s ci tin h thng API gip cho nhng ngi pht trin

    bi ton tnh ton c th d dng trin khai ng dng ca mnh

    V ng dng facebook, chng ti s ci tin giao din ngi dng, gip ngi

    dng d dng tham gia vo nhng d n tnh ton, bin n tr thnh mt cu ni giangi dng v d n tnh ton. T to iu kin m rng d n tnh ton, tng hiu

    nng thc thi. S l rt tt khi mi ngi cng chung nhau chung sc hon thnh nhng

    d n c ch cho ton x hi.

  • 7/31/2019 XY DNG NG DNG TNH TON PHN TN TRN NN TNG SC MNH CC MY TNH C NHN

    50/50

    Ti liu tham kho

    Ting Anh

    [1] Clovis Chapman, Paul Wilson, Todd Tannenbaum, Matthew Farrellee, Miron

    Livny, John Brodholt, Wolfgang Emmerich, Condor services for the Global Grid,

    http://www.cs.wisc.edu/condor/doc/condor-ogsa-2004.pdf

    [2] David P. Anderson, Gilles Fedak, The Computational and Storage Potential of

    Volunteer Computing, http://boinc.berkeley.edu/boinc_papers/internet/pa-per.pdf

    [3] Derek Wright, BOINC and Condor Scavenging the Scavenger,

    http://bolt.berkeley.edu/ws_06/boinc_and_condor.pdf

    [4] Jon Wakelin, Condor Globus and SRB: Tools for Constructing a Campus Grid,

    http://www.nesc.ac.uk/talks/556/02_Wakelin_condorGlobus.ppt

    [5] Luis F. G. Sarmenta. Bayanihan: Web-Based Volunteer Computing Using

    Java. Proc. of the 2nd International Conference on World-Wide Computing and its

    Applications (WWCA'98), Tsukuba, Japan, March 3-4, 1998.Lecture Notes in

    Computer Science 1368, Springer-Verlag, 1998. pp. 444-461.

    [6] Parvin Asadzadeh, Rajkumar Buyya, Chun Ling Kei, Deepa Nayar, Srikumar

    Venugopal, Global Grids and Software Toolkits:A Study of Four Grid Middleware

    Technologies, http://www.buyya.com/papers/gmchapter.pdf

    [7] http://abcathome.com/

    [8] http://boinc.berkeley.edu/wiki/User_manual

    [9] http://setiathome.berkeley.edu/

    [10] http://pleiad.umdnj.edu/IBM/

    [11] http://www.tnsglobal.com/_assets/files/TNS_Market_Research_5.pdf

    [12]http://jppf.org/

    Ting vit

    [13] PGS.TS. V c Thi, PGS.TS. Trn Vn Lng, PGS.TS. Nguyn Thanh

    Thu, GS.TSKH. Phm K Anh, PGS.TS. L Anh Dng, Tnh ton li v mt s

    vn nghin cu, pht trin tnh ton li Vit Nam, Hi tho quc gia ln th