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Á...
TRANSCRIPT
-
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