You are on page 1of 117

I HC QUC GIA H NI

TRNG I HC CNG NGH

L B Dng

NGHIN CU PHT TRIN NG DNG


TRN GRID

KHA LUN TT NGHIP I HC CHNH QUY


Ngnh: Cng ngh thng tin

H NI - 2006

I HC QUC GIA H NI
TRNG I HC CNG NGH

Ng Cao Cng
L B Dng
Trn Thin Thnh

KHA LUN TT NGHIP I HC CHNH QUY


Ngnh: Cng ngh thng tin
Cn b hng dn: ThS.Nguyn Nam Hi

H NI - 2006

Li cm n
Trc tin, chng em mun gi li cm n chn thnh v su sc nht n
thy gio, ThS. Nguyn Nam Hi, ngi tn tnh hng dn chng em trong sut
qu trnh lm nghin cu khoa hc v lm kha lun tt nghip.
Chng em cng xin gi li cm n chn thnh n cc thy gio, c gio
ging dy chng em trong nhng nm qua, nhng kin thc m cc thy c dy l
hnh trang vng chc chng em bc vo cuc sng.
Cui cng chng em xin gi li cm n n gia nh v b bn, nhng ngi
lun bn ng vin, gip chng em trong cuc sng.
H Ni 5-2006

Tm tt
Trong vi nm tr li y tnh ton mng li (Grid computing) pht trin
mnh m, m ra cc gii php mi cho cc ng dng i hi kh nng tnh ton ln.
Grid computing c th c s dng cho cc bi ton nghin cu v sinh hc, y hc,
vt l, ha hccng nh cc ng dng trong phn tch v nh gi ti chnh, khai ph
d liu, cc ng dng trong chnh ph in t v rt nhiu cc loi ng dng khc.
Trong kha lun tt nghip ny, chng ti trnh by mt cch tng quan v
cng ngh Grid computing nh u nhc im, cc m hnh kin trc v cng ngh
lin quan. Trn c s i su vo tm hiu quy trnh xy dng v trin khai mt ng
dng trn mi trng Grid computing da trn nn tng ca b cng c Globus Toolkit
phin bn 4.0. ly v d, chng ti trnh by chi tit cc bc trin khai mt ng
dng c sn Math Service v chi tit cc bc xy dng cng nh trin khai mt ng
dng mi Bi ton tm s nguyn t Merssene.

ii

Mc lc
Li cm n.................................................................................................................. i
Tm tt....................................................................................................................... ii
Bng cc k hiu vit tt...........................................................................................ix
M u....................................................................................................................... 1
Chng 1.

C bn v Grid Computing..................................................................4

1.1.

Grid Computing l g?.................................................................................4

1.2.

Li ch ca Grid Computing........................................................................5

1.2.1.

Khai thc ti nguyn x l....................................................................5

1.2.2.

Kh nng x l song song....................................................................6

1.2.3.

S cng tc cc ti nguyn o v t chc o........................................6

1.2.4.

S truy cp ti cc ti nguyn khc......................................................7

1.2.5.

Cn bng ti nguyn.............................................................................8

1.2.1.

tin cy.............................................................................................9

1.2.2.

Kh nng qun l................................................................................10

Chng 2.

Cc thut ng v khi nim................................................................12

2.1.

Cc kiu ti nguyn...................................................................................12

3.1.1.

Ti nguyn tnh ton...........................................................................12

3.1.2.

Kho lu tr.........................................................................................12

3.1.3.

Truyn thng......................................................................................13

3.1.4.

Phn mm v bn quyn.....................................................................13

3.1.5.

Cc thit b c bit, sc cha, kin trc v quyn hn......................14

2.2.

Cng vic v ng dng..............................................................................14

2.3.

Lp lch, t ch, v qut dn....................................................................15

2.4.

Cc gi phn mm grid..............................................................................16

iii

3.4.1.

Gi qun l.........................................................................................16

3.4.2.

Gi lp lch.........................................................................................17

3.4.3.

Cc gi truyn thng..........................................................................18

3.4.4.

Gi quan st v o c.......................................................................18

2.5.

Cc cu hnh mng grid.............................................................................18

Chng 3.
3.1.

Ngi dng trong mng Grid Computing..........................................21

Ngi dng bnh thng............................................................................21

3.1.1.

Tham gia vo grid v ci t cc phn mm.......................................21

3.1.2.

ng nhp vo grid............................................................................21

3.1.3.

Truy vn v a cng vic..................................................................22

3.1.4.

Cu hnh d liu.................................................................................22

3.2.

Nh qun tr...............................................................................................22

3.2.1.

Ci t................................................................................................23

3.2.2.

Qun l ngi dng............................................................................23

3.2.3.

Chng thc.........................................................................................23

3.2.4.

Qun l ti nguyn.............................................................................24

Chng 4.

Mt s chun trong mi trng Grid..................................................25

4.1.

Kin trc dch v Grid m - Open Grid Services Architecture (OGSA)....25

4.2. C s h tng ca dch v Grid m - Open Grid Service Infrastructure


(OGSI).................................................................................................................. 26
4.3.

GridFTP.....................................................................................................27

4.4.

C ch ti nguyn ca dch v Web Web service resource framework.. .27

4.5.

Mt s chun ca dch v Web..................................................................28

4.6.

Tng kt chng........................................................................................29

Chng 5.

Tng quan v dch v Web.................................................................30

5.1.

u im ca dch v Web so vi cc cng ngh khc...............................30

5.2.

Nhc im khi dng dch v Web...........................................................31

iv

5.3.

Li gi dch v Web in hnh...................................................................31

5.4.

a ch dch v Web..................................................................................32

5.5.

Kin trc dch v Web...............................................................................32

5.6.

ng dng dch v Web..............................................................................33

5.7.

Cc bc gi mt dch v Web.............................................................34

5.8.

Tng kt chng........................................................................................35

Chng 6.
6.1.

C ch ti nguyn ca dch v Web Web service resource framework


36

Qun l trng thi ti nguyn trong dch v Grid.......................................36

6.1.1.

Dch v Grid l g...............................................................................36

6.1.2.

Nhng yu cu ca dch v Grid theo chun OGSA..........................37

6.2.

Chun WSRF.............................................................................................37

6.2.1.

Khi nim WS-Resource....................................................................38

6.2.2.

Cc thnh phn trong WSRF..............................................................39

6.3.

Tng kt chng........................................................................................40

Chng 7.

An ninh trong mng Grid...................................................................41

7.1.

Cc yu cu v an ninh trong mng li....................................................41

7.2.

C s h tng an ninh ca mng li.........................................................43

7.2.1.

Truy cp vo mng li......................................................................44

7.2.2.

Xc thc v quyn hn.......................................................................44

7.3.

Tng kt chng........................................................................................45

Chng 8.

Cc thnh phn ca Globus Toolkit 4.0..............................................46

8.1.

Tng quan v Globus Toolkit 4.0...............................................................46

8.2.

Cc thnh phn thng trc.......................................................................46

8.2.1.

Java WS Core.....................................................................................47

8.2.2.

C WS Core.........................................................................................47

8.2.3.

Python WS Core.................................................................................47

8.3.

Cc thnh phn bo mt.............................................................................47

8.3.1.

Thm nh v cp php WS................................................................48

8.3.2.

Thm nh v cp php Pre-WS.........................................................48

8.3.3.
CAS)

Dch v cp php cng ng (Community Authorization Service 48

8.3.4.

Dch v u quyn...............................................................................48

8.3.5.

SimpleCA...........................................................................................48

8.3.6.

GSI-OpenSSH....................................................................................48

8.4.

Cc thnh phn qun l d liu..................................................................49

8.4.1.

GridFTP.............................................................................................49

8.4.2.

Truyn Tp tin cy (Reliable File Transfer - RFT).............................49

8.4.3.

Dch v m hnh ho a ch (Replica Location Service - RLS).........50

8.4.4.

Dch v sao lu d liu (Data Replication Service - DRS).................50

8.4.5. Cc dch v kim tra v khm ph thng tin (Monitoring and


Discovery Services - MDS)..............................................................................51
8.4.6.
8.5.

Index service......................................................................................51

Cc thnh phn qun l thi hnh................................................................51

8.5.1.

WS GRAM.........................................................................................51

Chng 9.

Ci t v cu hnh Globus Toolkit 4.0...............................................52

9.1.

Download Globus Toolkit 4.0....................................................................52

9.2.

M hnh mi trng mng Grid.................................................................52

9.3.

Ci t Globus Toolkit 4.0.........................................................................54

9.3.1.

Ci t cc phn mm yu cu cho Globus Toolkit 4.0......................54

9.3.2.

Cu hnh mi trng Linux cho Globus Toolkit 4.0...........................55

9.3.3.

Ci t Globus Toolkit 4.0..................................................................56

9.4.

Cu hnh v th nghim mi trng Grid..................................................58

9.4.1.

Cu hnh cc bin mi trng............................................................58

vi

9.4.2.

Cu hnh bo mt................................................................................58

9.4.3.

Cu hnh Java WS Core......................................................................63

9.4.4.

Cu hnh v kim tra GridFTP...........................................................64

9.5.

G b Globus Toolkit 4.0..........................................................................65

Chng 10.

Cc bc lp trnh mt chng trnh Grid......................................66

10.1.

Gii thiu s lc v chng trnh Math Service..................................66

10.2.

Cc bc lp trnh chng trnh Math Service......................................66

10.2.1. Bc 1: nh ngha giao din dch v................................................67


10.2.2. Bc 2: Thc thi dch v....................................................................70
10.2.3. Bc 3: nh ngha vic trin khai dch v........................................73
10.2.4. Bc 4: Bin dch v to tp GAR.....................................................74
10.2.5. Bc 5: Trin khai dch v.................................................................75
10.3.

Chy th chng trnh Math Service.....................................................76

Chng 11.
11.1.

T xy dng mt dch v Grid: Bi ton s nguyn t...................78

Gii thiu cng c pht trin..................................................................79

11.1.1. Gii thiu cng c GT4IDE...............................................................80


11.1.2. Ci t GT4IDE.................................................................................80
11.2.

To project GT4 vi GT4IDE................................................................81

11.3.

Thut ton tm s nguyn t Mersenne..................................................83

11.3.1. Cc khi nim v mnh ..................................................................84


11.3.2. Mt s thut ton tiu biu.................................................................84
11.3.3. La chn thut ton............................................................................87
11.4.

Phn tch v thit k bi ton.................................................................88

11.4.1. M t h thng...................................................................................88
11.4.2. Phn tch h thng..............................................................................90
11.4.3. Thit k h thng................................................................................92
11.5.

Kt qu th nghim................................................................................98

vii

11.5.1. Vit m chng trnh..........................................................................98


11.5.2. Giao din ca chng trnh client:...................................................100
11.5.3. Bin dch v chy chng trnh........................................................100
11.6.

Kt lun v bi ton S nguyn t........................................................102

Kt lun.................................................................................................................. 103
Ti liu tham kho..................................................................................................104

viii

Bng cc k hiu vit tt


K hiu vit tt
API
CA
CAS
CORBA
DRS
FTP
GSI
GT
HTTP
MDS
OSGA
OSGI
RFT
RLS
RMI
RPs
SOA
SOAP
UDDI
URI
WSDL
WSRF
XML

ngha
Application Programming Interface Giao din lp trnh ng
dng
Certificate Authority C quan chng thc
Community Authorization Service - Dch v cp php cng ng
Common Object Request Broker Achitecture
Data Replication Service - Dch v sao lu d liu
File Transfer Protocal - Giao thc truyn tp
Grid Security Infrastructure - C s h tng an ninh mng li
Globus Toolkit
Hypertext Markup Language- Ngn ng nh du siu vn bn
Monitoring and Discovery Services - Cc dch v kim tra v khm
ph thng tin
Open Grid Services Architecture - Kin trc dch v web m
Open Grid Service Infrastructure - C s h tng dch v web m
Reliable File Transfer - Truyn Tp tin cy
Replica Location Service - Dch v m hnh ho a ch
Remote Method Invocation Resource Properties - thuc tnh ti nguyn
Service Oriented Architechture - Kin trc hng dch v
Simple Object Access Protocol - Giao thc truy cp i tng n
gin
Universal Description, Discovery and Integration - chun dch v
Tch hp, Khm ph v M t Ton cu
Uniform Resource Identifiers - a ch dch v Web
Web serivce definition Language -Ngn ng m t dch v web
Web service resource framework - C ch ti nguyn ca dch v
Web
eXtensible Markup Language - Ngn ng nh du M rng

ix

M u
Hin nay, Mng li tnh ton (Grid Computing) ang l im nng cng
ngh trn cc din n cng ngh thng tin trn khp th gii. Trn th gii, cng ngh
Grid (Grid Technologies) ang c gii khoa hc cng ngh nghin cu, pht trin
si ni. Grid Computing hin ang l nn tng cng ngh ch o ca mng Internet
th h mi, gi vai tr ging nh giao thc TCP/IP i vi mng Internet hin nay.
Vit Nam hin nay, Grid Computing ang cn l mt vn kh mi m.
c mt s nhm, t chc nghin cu v Grid Computing, tuy quy m v iu kin
nghin cu cn rt hn ch. Nhn thy nhng ngha thit thc ca Grid Computing
c th mang li trong tng lai, nhm sinh vin chng ti quyt nh i vo nghiu
cu Grid Computing v cng ngh v pht trin ng dng mang tnh thc tin trong
cuc sng.
Cc chng trnh chy trn mi trung mng li c mt s u im ni tri
hn so vi cc chng trnh chy trn my tnh thng thng. Chng hn nh: thi
gian x l cng vic ngn hn nh kh nng tnh ton song song, hiu sut s dng ti
nguyn tnh ton cao hn nh kh nng phn tn ti nguyn. v.v... Vi nhng u im
ca cc chng trnh Grid, chng ti nghin cu ti: Nghin cu pht trin ng
dng trn Grid.
ti c chia thnh cc chng, ni dung chnh ca cc chng gm c:
Chng 1: C bn v Grid Computing?
Chng ny gii thiu khi nim Grid Computing c th hnh dung c
th no l Grid Computing v cc kh nng m Grid Computing c th thc hin c.
Chng 2: Cc thut ng v khi nim
Grid Computing l lnh vc cng ngh kh mi m nn xut hin nhiu thut
ng mi. c th i su vo nghiu cu Grid, chng ny gii thiu cc thut ng
v khi nim c dng trong Grid.
Chng 3: Ngi dng trong mng Grid Computing
Chng ny m t cc cp ngi dng trong mng Grid.
Chng 4: Mt s chun trong mi trng Grid
Chng ny gii thiu mt s cng ngh chun trong Grid Computing.

Chng 5: Tng quan v dch v Web


Dch v Web l c s cho dch v Grid. Chng ny gii thiu cc cng ngh
ca dch v Web.
Chng 6: C ch ti nguyn ca dch v Web - WSRF
Chng ny gii thiu mt chun ca dch v Grid, l WSRF
Chng 7: An ninh trong Mng Grid
Bo mt l vn quan trng trong mng Grid Computing. Chng ny
cp n nhng yu cu trong vn bo mt ca Grid Computing
Chng 8: Cc thnh phn ca Globus Toolkit 4.0
Globus Toolkit 4.0 l cng c nn tng pht trin cc ng dng Grid, ang
c s dng ph bin hin nay. Chng ny gii thiu mt s thnh phn ca b
cng c ny.
Chng 9: Ci t v cu hnh Globus Toolkit 4.0
Chng ny hng dn ci t b cng c Globus Toolkit 4.0.
Chng 10: Cc bc lp trnh mt chng trnh Grid
Chng ny gii thiu cc bc tin hnh xy dng mt chng trnh Grid.
Chng 11: T xy dng mt dch v Grid: Bi ton S nguyn t
Chng ti xy dng mt ng dng mang tnh thc tin, l bi ton: S
nguyn t.
Mi thnh vin trong nhm thc hin mt s chng nht nh, c th nh
sau:
T Chng 1 n Chng 3: Ng Cao Cng.
T Chng 4 n Chng 7: Trn Thin Thnh.
T Chng 8 n Chng 10: L B Dng.
Chng 11: Chng trnh S nguyn t c tt c cc thnh vin cng
thit k v cng tm hiu thut ton. Cc module chng trnh c phn chia
nh sau:

Ng Cao Cng vit cc module qun l cc ti nguyn trong


Service bao gm cc lp: PrimeResource, PrimeFactoryService v
PrimeResouceHome.
L B Dng vit cc module tm kim v phn phi cc cng vic
trong Service bao gm cc lp: PrimeService v PrimePKC.
Trn Thin Thnh vit chng trnh Client.

Chng 1.C bn v Grid Computing


Chng ny m t nh ngha v Grid computing v cc li ch chnh ca Grid
computing bao gm:
Khai thc ti nguyn x l
Kh nng x l song song
Cng tc cc ti nguyn o v t chc o
Truy cp ti cc ti nguyn khc
Cn bng ti nguyn
Tnh tin cy
Kh nng qun l

1.1. Grid Computing l g?


C nhiu cch khc nhau nh ngha th no l Mng tnh ton li (Grid
Computing). c th hnh dung Grid Computing l g, chng ta c th tng tng
n nh mt mng li in m mi ngi ch cn cm phch in vo s dng m
khng cn bit ngun in t u n.Tng t nh vy, trong Grid Computing, mt
ngi dng no c th truy nhp vo cc ti nguyn (bao gm: b x l, lu tr,
d liu...) m khng cn bit cc ti nguyn ny nm u, chng dng cng ngh g,
cu hnh phn cng nh th no,.v.v.
Grid computing phi tri qua nhiu cng on hp nht cc cng ngh v
gii php t c thnh qu nh hin nay. Nhn t c bn ca Grid l cng ngh
phn tn cc thit b tnh ton. Vi cng ngh ny, ta c th chia s ti nguyn v lin
kt cc t chc li vi nhau. y cn gi l cng ngh o ha. c c mt mi
trng hn hp c th chia s ti nguyn, ngoi cng ngh o ha, Grid cn dng cc
cng ngh khc trong cc lnh vc lp lch, ti chnh, bo mt,.v.v.
S o ha trong mi trng grid c nhiu cp khc nhau. Mi cp ph
thuc vo phm vi v tnh ng nht ca t chc. Hnh 1 m t tng cp ca s o
ha t n gin n phc tp khi i theo chiu t tri sang phi. hnh tri nht l t
chc ng nht, n ti nguyn. Ti nguyn y c th l CPU, lu tr,cc thit b

v chng trnh. Tip n l h thng hn hp gm nhiu ti nguyn khc nhau. Cp


o ha phc tp hn l o ha trong mt x nghip. Hnh bn phi l mc o ha
cao nht vi phm vi trn ton mng Internet, bao gm cc a t chc hn hp.

Hnh 1: S o ha vi nhiu cp

1.2. Li ch ca Grid Computing


1.2.1. Khai thc ti nguyn x l
Mt trong nhng tnh nng c bn ca tnh ton mng li l kh nng chy
mt chng trnh trn nhiu my tnh khc nhau. Trong mt mng li bao gm nhiu
my tnh, c mt s my trng thi bn do khi lng cng vic ln, mt s khc
trng thi ri do khi lng cng vic nh.
Trong hu ht cc t chc, lun c nhng khi lng ln nhng ti nguyn
dng tnh ton. Trung bnh mi ngy, mi my tnh c thi gian trung trng thi
thi bn l 5%. iu chng t khi lng ti nguyn ri trong mt mng l rt ln.
Grid cung cp mt khung lm vic (framework) tn dng nhng ti nguyn ny v
v th c th tng hiu qu trong vic s dng cc ti nguyn.

Ngoi ti nguyn x l, ti nguyn lu tr cng c s dng hiu qu hn


nh Grid computing. Grid tn dng cc dung lng a cng cn trng trong cc my
tnh tp hp thnh mt ti nguyn lu tr o trng mng.

1.2.2. Kh nng x l song song


Kh nng kt hp nhiu CPU cng x l song song l mt tnh nng hp dn
ca Grid computing.
Cc chng trnh chy trn mi trng Grid s dng cc thut ton phn
chia cng vic x l thnh nhiu thnh phn c lp. Mi CPU trn mi my tnh
trong mng m nhn vic x l mt hay nhiu thnh phn . Tnh c lp ca cc
thnh phn cng cao th chng trnh cng d dng c m rng trn phm vi mng
li nhiu my tnh hn. Mt mng li c gi l hon ho nu vi mi my tnh,
tc x l ca mng tng ln gp mi. Tuy nhin, trn thc t khng c mng li
hon ho.
C hai l do chnh mng li trn thc t khng th tr thnh hon ho. Th
nht l: vic s dng thut ton phn chia cng vic nh hng ln n hiu nng tnh
ton chung ca mng. Th hai l: cc thnh phn ca cng vic khng hon ton c
lp vi nhau.
Khng phi ng dng no cng c th chuyn i Grid c th x l song
song. Hn na, khng c mt cng c no c th chuyn i mt ng dng bt k
sang dng chy song song trn grid. Kh nng x l song song ca mt chng trnh
trn mng li ph thuc vo ngi thit k, v khng phi l cng vic n gin.

1.2.3. S cng tc cc ti nguyn o v t chc o


Mt kh nng khc ca grid computing l to nn mi trng cng tc rng
ln, ng nht. Mi mi trng c gi l mt t chc o. Grid computing thm
ch c kh nng to nn mt mi trng rng ln hn bng cch kt hp cc t chc
o, khng ng nht vi nhau cng cng tc vi nhau. Hnh 2 m t mi trng
khng ng nht . Mi ngi s dng mng li c phn b vo mt t chc o
no . Cc t chc o ny c th chia s ti nguyn vi nhau nh mt mng li ln.
Chia s ti nguyn bt u vi d liu dng tp hay c s d liu. Li d liu
c th m rng d liu theo nhiu cch khc nhau. u tin, tp hay c s d liu c
th c tri rng trn nhiu h thng to nn dung lng ln hn rt nhiu so vi h

thng n. Cch tri d liu ny c th tng tc truyn d liu vi cng ngh


striping. D liu thng xuyn c sao lu phc v cho vic khi phc d liu.
Ngoi vic chia s ti nguyn l cc tp v c s d liu, ta c th chia s
nhiu ti nguyn khc, nh cc thit b chuyn dng, phn mm, dch v, ...Nhng ti
nguyn ny c o ha gi chng ng b trong mt h thng mng lui khng
ng nht. Cc ti nguyn gi l cc ti nguyn o.
Nhng ngi tham gia hay s dng grid l mt thnh vin trong mt t chc
no . Grid c th yu cu ngi dng tun th cc lut l, quyn hn s dng, t
c th gii quyt c cc vn v u tin, bo mt,...

Hnh 2: Mng grid o khng ng nht

1.2.4. S truy cp ti cc ti nguyn khc


Ngoi CPU v ti nguyn lu tr, Grid cn c th truy nhp n nhng ti
nguyn khc. Cc ti nguyn ny c th c cung cp di dng s lng hoc kh
nng lu tr, bng thng. V d, nu mt ngi mun tng bng thng truy nhp
Internet thc hin vic khai thc d liu tm kim, cng vic ny c th phn chia
gia cc my trong mng grid c ng truyn Internet khng ph thuc nhau. Trong

trng hp ny, kh nng tm kim c nhn ln, khi mi my c ng truyn ring


bit. Nu cc my chia s ng kt ni Internet, th n s khng tng bng thng.
Trong mt mng li, mt s my tnh no c th c ci t nhng phn
mm t tin, c bn quyn m mt my khc khng c. Ngi s dng my tnh
khng ci t phn mm c th s dng phn mm ny bng cch gi cng vic
n my tnh c ci phn mm yu cu x l. l kh nng tn dng phn
mm ca Grid.
Mt vi my tnh c th c nhng thit b c bit, chng hn nh my in. Hu
ht cc my in c s dng t xa. Grid c th chia s c nhng thit b c bit
ny. Thm ch grid c th chia s nhng thit b, ti nguyn phc tp nh my chun
on bnh hay robot h tr phu thut

1.2.5. Cn bng ti nguyn


Grid lin kt cc ti nguyn t nhiu my khc nhau to thnh mt h thng
duy nht. Grid c th thc hin cn bng ti nguyn trong cc chng trnh bng cch
lp lch lm vic cho cc cng vic, nh hnh 3 di y. Chc nng ny c ngha rt
ln trong vic x l cc trng hp qu ti v x l, tnh ton trong mt t chc. Chc
nng cn bng c th c thc theo 2 cch sau:
Nhng im qu ti c a n nhng my ri trn mng li.
Nu ton mng grid bn, nhng cng vic c u tin thp c
tm ngng nhng cho nhng cng vic khc c u tin cao.
i khi c nhng cng vic t ngt c tng u tin do cn hon thnh
gp. Grid khng th x l c nhng cng vic cn hon thnh qu gp. Tuy nhin
grid c th phn chia n thnh nhiu cng vic nh v huy ng mt lng ln ti
nguyn x l n mt cch nhanh nht.

Hnh 3: Cng vic c chuyn n phn t bn hn trong mng

Mt li ch khc khi dng grid l cn bng ti. Khi mt cng vic lin lc vi
mt cng vic khc, vi Internet, hoc cc ti nguyn khc, Grid c th lp lch cho
chng c th gim thiu ti a lu lng ng truyn cng nh khong cch
truyn. iu ny gip Grid c th gim thiu tc nghn mng.
Cui cng, Grid cn c kh nng thng mi ti nguyn. Cc trng thi ca tt
c cc ti nguyn trong mng c Grid qun l. Cc t chc trn grid c th to ti
khon v tr tin s dng cc ti nguyn ny khi cn thit. iu ny to nn ti
chnh mng li.

1.2.6. tin cy
Nhng h thng tnh ton mnh s dng phn cng t tin tng tin cy.
Chng s dng b x l kp khi hng hc c th thay th b x l th hai m
khng cn tt h thng. Cc ngun v h thng lm mt cng u c nhn bn. H
thng cn s dng mt ngun c bit c th pht in khi ngun in b mt. Tt c
chng to nn mt h thng tin cy, tuy nhin, gi thnh cho h thng ny rt cao.
Trong tng li, mt mng li c th c kh nng thay th mt h thng ng
tin cy nh th. Grid mi ch bt u cng ngh ny. M hnh my ch ng tin cy s
dng Grid c th c m t nh sau. Mt mng li gm nhiu my tnh c phn
b khp ni. Do , khi c mt s c ti mt nt mng no trn mng li, cc
im khc s khng b nh hng. Khi mt my tnh b hng hc, phn mm qun l
trong Grid c th t ng chuyn cng vic x l t my ny n mt my no

trong mng. Trong trng hp quan trng, nhiu bn sao ca cng vic c to ra v
c chuyn n nhiu my khc nhau trn mng li nh hnh 4 di y.

Hnh 4: Nhiu bn sao ca cng vic c to ra


Nhng h thng grid nh th s to nn kh nng tnh ton t ng. N l mt
dng phn mm c kh nng t sa li trn grid, trc khi thng bo cho b x l hay
ngi qun l bit. V nguyn tc, hu ht nhng h thng tin cy t tin ngy nay
da vo phn cng hon ton cng c th dng phn mm to nn s tin cy .

1.2.7. Kh nng qun l


Vic o ha ti nguyn v nhiu h thng hn hp c to ra trn grid s to
nn quy m rng hn, cc thit b c phn phi nhiu hn. N lm cho cc nh
doanh nghip d dng qun l chi ph v ti nguyn tnh ton trn phm vi ln.
Grid qun l u tin gia cc d n. Trc y, mi d n qun l ring ti
nguyn v chi ph ca n. C th nhng ti nguyn ang ri trong khi cc d n khc
gp s c, cn thm nhng ti nguyn khc. Vi tm nhn bao qut, grid c th gii
quyt d dng tnh hung ny. Trong hnh 5, nh qun l c th thay i cc quyn hn
vi ti nguyn cc t chc khc c th chia s hay s dng.

10

Hnh 5: Nh qun tr c th iu chnh chnh sch thch hp vi ti nguyn

11

Chng 2.Cc thut ng v khi nim


2.1. Cc kiu ti nguyn
Mt mng grid l tp hp my mc, i khi l cc nt, thnh vin, ngi
quyn gp, my ch, khch... Tt c chng to nn ti nguyn ca grid. Mt vi ti
nguyn c th c s dng bi tt c mi ngi s dng trn grid, trong khi s khc
c gii hn s dng.
3.1.1. Ti nguyn tnh ton

Ti nguyn thng thy nht trn grid l ti nguyn tnh ton c cung cp
bi cc b x l trn cc my ca grid. Cc b x l c th khc nhau v tc , kin
trc, hay cc thit b i km nh b nh, lu tr. C ba cch chnh tn dng ti
nguyn tnh ton trn grid.
Cch u tin n gin nht l chy ng dng trn mt my ang ri trn grid.
Cch th hai l phn chia ng dng thnh nhiu phn ri chy song song trn
cc b x l khc nhau.
Cch th ba l chy ng dng, cn c x l nhiu ln, trn nhiu my khc
nhau trn grid. Kh nng m rng l thc o b x l c s dng trn grid hiu
qu nh th no. Nu hai b x l hon thnh ng dng trong mt na thi gian, l
s phn chia hon ho. Tuy nhin c gii hn nh ni trn khi mt ng dng ch
c th phn chia thnh mt s gii hn cc phn c lp vi nhau.
3.1.2. Kho lu tr

Ti nguyn th hai c s dng thng xuyn trong grid l kho lu tr. Mt


mng li kt hp cc kho d liu thng c gi l li d liu (data grid). Mi
my trn grid thng cung cp cho grid mt s lng kho lu tr nht nh. Kho lu
tr c th l b nh trong hoc b nh th cp a cng. B nh trong c tc
nhanh nhng ch lu tr tm thi. N c th dng lm d liu m chy chng
trnh.
B nh th cp c th dng tng kh nng lu tr, hiu nng, hay tin
cy d liu. Nhiu h thng grid hin nay dng cc h thng tp AFS( Andrew File
System) , NFS (Network File System), DFS (Distributed File System), GPFS (General

12

Parallel File System. Chng c tc khc nhau, mc bo mt v tin cy cng khc


nhau.
Sc lu tr c th tng bng cch s dng lu tr trn nhiu my khc nhau
vi h thng tp hp nht. Mi tp hay CSDL c th lu tr trn mt vi my hay vi
a trn mng grid. Mt h thng tp hp nht c th to nn mt tn hp nht cho
cc lu tr trn grid. iu ny to iu kin cho ngi s dng c th d dng truy
cp d liu m khng cn bit v tr chnh xc ca n.
Cc h thng tp tin b trn grid c kh nng t ng nhn bn d liu,
tng tin cy v tc . Mt b lp lch thng minh trn grid c kh nng la chn
nhng thit b lu tr thch hp lu tr d liu, da vo nhng mu s dng.
Mt h thng tp grid cn c th ghi nht k d liu c th c khi phc
d dng khi gp s c. Ngai ra, cc h thng tp cn c c ch chun ha trnh
xung t khi nhiu user cng chia s v cp nht d liu
3.1.3. Truyn thng

S pht trin nhanh chng ca truyn thng ngy nay to nn grid. Chnh v
vy m mt trong nhng ti nguyn quan trng khc ca grid l kh nng truyn d
liu, bao gm c kh nng truyn d liu trong grid hay ra ngoi mng grid. Kh nng
truyn d liu trong grid l quan trng lp lch v gi cc cng vic. Bng thng
gii hn s nh hng ti hiu nng ca grid.
Truyn thng ngoi mng grid ra Internet, v d, nh khi xy dng mt h
thng tm kim. Cc my trong grid ngoi vic lin kt vi nhau cn phi ni ra ngoi
Internet. Khi cc ng kt ni ca cc my ny khng cng chia s ng truyn
Internet, chng s gp phn nng tng bng thng ca grid ln.
3.1.4. Phn mm v bn quyn

Grid c th c nhng phn mm t tin khng th ci t ln ton b my


trong mng. Khi s dng grid, nhng cng vic cn dng phn mm ny s c gi
ti my c ci phn mm. iu ny c th gip cc t chc tit kim chi ph rt nhiu.
Mt vi phn mm c iu khan cho php ci trn tt c cc my trong grid
nhng li hn ch s my c th chy ng thi mt lc. Chng trnh qun l giy
php s kim tra c bao nhiu th hin ca phn mm ang chy v ngn chn chng
chy qu s lng mua.

13

3.1.5. Cc thit b c bit, sc cha, kin trc v quyn hn

Cc nn tng trn grid thng s yu cu cc kin trc, h iu hnh, thit b


khc nhau. Mi chng l mt loi ti nguyn m grid s s dng thc hin cc cng
vic khc nhau. Mt vi phn mm ch c th chy trn nhng yu cu v phn cng
nht nh, chng hn nh x86 hay PowerPC. Nhng thuc tnh ny cn c xem xt
khi a cc cng vic vo thc thi.
Trong vi trng hp, nh qun tr c th to ra nhng ti nguyn nhn to
c s dng bi b lp lch phn cng cng vic. V d, mt vi my tnh c
thit k ch dng cho nghin cu y khoa. Khi c mt cng vic nghin cu y khoa
th b lp lch s phn cng cho cc my trn thc hin cng vic . Mt vi my
khc ch tham gia vo grid khi n khng c dng cho mc ch qun s. Trong
trng hp ny, nhng cng vic yu cu ti nguyn qun s s khng c phn b
cho cc my trn. Cc nh qun tr phi phn loi cc cng vic thc hin phng
php ny.

2.2. Cng vic v ng dng


D rt nhiu loi ti nguyn ca grid c chia s v s dng, chng lun lun
c truy cp thng qua ng dng hay cng vic. Chng ta dng nh ngha ng
dng nh l cp cao nht ca cng vic trn grid. Tuy nhin t cng vic cng
c dng vi ngha tng ng. ng dng c th c chia thnh nhiu cng vic,
nh hnh 6 di y. Cc cng vic, c th c chia tip thnh cc cng vic nh
hn. Grid cn dng cc thut ng giao dch, n v cng vic ch cng vic.
Cng vic l nhng chng trnh c thc thi trn mt im ca grid. Chng
c th l thc hin tnh ton, thi hnh mt cu lnh, di chuyn d liu. Mt ng dng
grid c t chc nh tp hp cc cng vic c thit k chy song song trn cc
my khc nhau.

14

Hnh 6: Mt ng dng c th l mt hay nhiu cng vic


c lp lch chy trn grid
Cc cng vic c th b ph thuc ln nhau nn khng phi lc no cng c
th cng mt lc chy song song. V d, chng ta c mt cng vic yu cu d liu
u vo phi c copy n mt my. Mt vi cng vic khc i hi d liu u ra,
nhng chng khng th thc thi nu cng vic trc cha c hon thnh. Mt cng
vic c th sinh ra nhiu cng vic con khc nhau. Sau , d liu ca tt c cc cng
vic con c tp hp to nn kt qu cui cng ca ng dng.

2.3. Lp lch, t ch, v qut dn


H thng grid c nhim v gi cc cng vic n cc my cn thit thc
thi. Vi h thng grid n gin nht, ngi s dng s chn my thch hp cho cng
vic ca anh ta sau thc hin dng lnh a cng vic n my chn. Cc
h thng grid hin i hn bao gm mt b lp lch c tc dng t ng tm kim
nhng my tnh thch hp cho cng vic ang ch i thc thi.
Trong cc h thng grid qut dn, mi my tnh ri s gi thng bo tnh trng
ca mnh n im qun l ca grid. im qun l ny s ch nh cho my ny thc
hin cng vic tip theo m my c th thc thi c. Vic ny c thc hin mt
cch kn o i vi nhng ngi s dng bnh thng. Nu my tnh bn vi nhng

15

cng vic ring ca my, th cng vic grid s tm ngng. iu ny khin cho kh c
th tnh trc c thi gian s hon thnh cng vic trn grid.
ng dng chy ch qut dn s t n vo trong h thng vi u tin
thp nht. V th, n s ch c chy khi khng c bt c chng trnh no khc ang
chy. Vi nhng b x l tc cao ngy nay, ng dng grid c th chy trong vi
phn trm giy, thm ch l gia cc ln bm phm ca ngi dng.
c th d on d dng hn, cc my tnh grid thng c thit k ring
cho grid v khng b chi phi bi cc cng vic khc. iu ny cho php b lp lch c
th tnh ton thi gian trung bnh hon thnh cc cng vic.
Cc ti nguyn trong grid c th c t ch trc vi mt tp hp cng
vic. S t ch ny ging nh h thng sp xp t phng. N bo m s hon
thnh ng hn v cht lng dch v. Khi quyn hn c thng qua, ti nguyn t
ch c th c qut dn chy nhng cng vic c u tin thp trong khi ch
nhng cng vic t trc n. Vi s kt hp ca lp lch, t ch, qut dn c th
to nn mt grid hon ho.
Lp lch v t ch c th tin hnh d dng nu ch c mt ti nguyn tham
gia, nh CPU. Tuy nhin vic ti u trn grid s dng nhiu ti nguyn cho vic t
ch vo lp lch. V d, chng ta lun mong mun cng vic s c phn cng cho
my gn d liu m cng vic dng nht. iu s gim lu lng bng thng v
tng kh nng m rng. Chnh v vy, b lp lch s s dng n kinh nghim. Kinh
nghim ny s tm ra s kt hp tt nht cho lp lch v t ch t hiu qu cao
nht.

2.4. Cc gi phn mm grid


3.4.1. Gi qun l
Tt c cc h thng mng li grid u c nhng gi phn mm qun l. Th
nht, l nhng phn mm qun l ti nguyn v ngi s dng trn mng. y
l nhng thng tin chnh dng quyt nh cc cng vic trn grid s c phn b
n u.
Th hai, c cc gi phn mm o c quyt nh dung lng cc nt trn
li v tnh trng ca cc nt ny. Cc thng tin ny dng lp lch cc cng vic
trn li. Chng cn c dng nh gi tnh trng ca grid, cnh bo cc vn

16

nh ngng hot ng, tc nghn. Chng cn c dng la chn cc mu v


thng k.
Th ba, cc h thng phn mm hin i ca grid c kh nng t ng qun l
tt c cc mt ca mng li. l t ng tnh ton, t ng khi phc li. Cc phn
mm s t ng khi phc t tnh trng tc nghn, qu ti, a cng vic tr li bnh
thng.
3.4.2. Gi lp lch
Hu ht cc h thng grid c cha phn mm lp lch. Phn mm ny nm
trn my chy cng vic c yu cu bi ngi s dng. Trong trng hp n gin
nht, n ch n gin l phn b cng vic cho my c cu hnh ti nguyn ph hp.
Tuy nhin, trong cc b lp lch nng cao th cn rt nhiu cng vic phi lm.
Mt vi b lp lch c h thng u tin cng vic. N c thc hin vi hng
i cng vic, mi cng vic c u tin khc nhau. Nu mt my tnh sn sng
thc hin cng vic tip theo, cng vic c u tin cao nht s c a vo thc
hin. Chnh sch cng c a vo trong b lp lch. Chnh sch bao gm nhiu rng
buc v cng vic, ngi s dng, hay ti nguyn. V d, c chnh sch cm mt cng
vic c thc thi ti mt thi im nht nh.
B lp lch lun lun nh hng trc tip n ti ca mng. Chng s dng b
o c xc nh tnh trng x l hin thi ca mt my xem chng ang bn hay
ri. B lp lch c th t chc theo dng tha k. V d, mt b lp lch ln c th a
cng vic cho b lp lch cm hoc cc b lp lch cp thp hn.
Cc b lp lch tin b hn s qun l tnh trng cng vic trong lu lng lm
vic chung. Nu mt cng vic b mt do mng hay h thng b trc trc, mt b lp
lch tt s t ng a cng vic vo thc hin mt ni khc. Tuy nhin nu cng
vic b qu thi gian quy nh, chng khng th c lp lch li.
Vic t ch trc ti nguyn trn grid c thc hin thng qua h thng t
ch. N hn c mt b lp lch. u tin n l h thng lch cho vic t ch trc ti
nguyn v bo v nhng cng vic khc dng ti nguyn ny. Hn na n c th tm
ngng hoc thm ch ngng hn cng vic ang chy mt my khi hn t ch
n, my phi phc v cho cng vic t trc.

17

3.4.3.

Cc gi truyn thng

Mt mng grid thng c cc gi gip cng vic lin lc gia cc my. V d,


mt cng vic c chia thnh nhiu cng vic nh. Mi cng vic nh ny l mt
phn mnh trn grid. Tuy nhin, ng dng cn tt c cc phn mnh ny lin lc vi
nhau. Mt phn mnh cn lin lc vi cc phn cn li, thit lp ng truyn, v gi
d liu cn thit. Chun m Message Passing Interface (MPI) thng c dng trong
grid gip vic truyn thng d liu hiu qu hn.
3.4.4. Gi quan st v o c
Nh ni trn b lp lch tc ng ti ti ca li. Thng th grid s bao
gm mt vi cng c cho php tnh ton ti hin thi v cc hot ng trn cc my.
Phn mm ny i khi c gi l b cm ng ti.
S tnh ton thng tin trn khng ch dng lp lch m n cn c dng
pht hin cc mu chung thng c s dng. S liu thng k c th a ra xu
hng cn thm cc phn cng mi. Cc s liu o c ca mt cng vic c th c
th c thu nht d on ti nguyn cho ln chy tip theo. D on tt th grid s
hot ng hiu qu cao hn.
Cc s liu o c cng c th dng cho mc ch ti chnh, hoc cc nh
phn phi ti nguyn, hay qun u tin.

2.5. Cc cu hnh mng grid


Grid c th c xy dng vi mi kch c, t mt vi my cho n nhiu tp
hp my trn khp th gii. Trong phn ny, chng ta s miu t mt vi m hnh grid
vi kch c khc nhau.

18

Hnh 7 : Mt mng grid n gin

Nh hnh trn, mt mng grid n gin nht gm mt vi my, tt c ging


nhau v cu hnh phn cng v h iu hnh, ni vo mng ni b. Kiu mng ny
dng h thng ng nht v c th c s dng cho nhng ng dng chuyn mn.
Cc my ny thng l mt b phn ca mt t chc, v chng khng yu cu mt
quyn hn c bit hay cc chnh sch bo mt. V chng c chung h iu hnh v
phn cng nn vic la chn phn mm l rt d dng. Nhiu ngi gi chng l
cm my tnh (cluster) hn l li (grid).
M hnh tip theo bao gm nhiu my hn hp khc nhau. Vi cu hnh
ny, s c nhiu loi ti nguyn hn. H thng grid s phi c thnh phn lp lch.
Cc my trong mng c th cc b phn khc nhau nhng thng cng mt t
chc. Cu hnh ny thng c gi l intragrid.
Khi grid c m rng n nhiu b phn khc nhau, quyn hn c yu
cu xem cch grid c s dng. C nhiu u tin khc nhau cc b phn
hoc cc ng dng i vi tng loi ti nguyn trn grid. Cc vn v bo mt
cng c cc t chc cp n. Cc d liu nhy cm ca b phn ny c bo
v trnh truy cp cc b phn khc. Cc my chuyn dng phc v c a
vo tng tc vo tin cy ca dch v.

19

Mng li grid c th pht trin quy m ln v khng gian khi cc t chc


c cc b phn nhng thnh ph hay cc nc khc nhau. Cc ng truyn
chuyn dng c s dng gia cc b phn ny. Trong nhiu trng hp, cc
knh VPN c s dng kt ni cc b phn ca t chc qua Internet. Trong
trng hp ny, grid phi c thit k cht ch trnh xung t.
Nh hnh 8 di y, mng li c th pht trin lin t chc, thc hin
nhng d n chung, nh d n tm s nguyn t ln ca GIMPS (Great Internet
Mersenne Prime Search). M hnh ny c gi l intergrid. Mc bo mt cao nht
c s dng trong m hnh ny. Cc ti nguyn c th c mua t nhng nh
cung cp ng tin cy.

Hnh 8 : Mt mng grid ton cu phc tp

20

Chng 3.Ngi dng trong mng Grid Computing


Phn ny m t v ngi dng v nh qun tr trong grid computing.

3.1. Ngi dng bnh thng


Mc ny miu t nhng hot ng trong mi trng grid di vai tr ca mt
ngi s dng bnh thng.

3.1.1. Tham gia vo grid v ci t cc phn mm


Ngi dng u tin phi ng k tham gia vo grid v ci t cc phn mm
cn thit trn my ca anh ta.
ng k tham gia vo grid i hi xc thc cho vn bo mt. Ngi s
dng thng bo nh danh (ID) ca anh ta cho c quan chng thc CA (Certificate
Authority). C quan chng thc cn chc chn rng ngi s dng l c tht. CA cp
mt chng ch c bit cho phn mm kim tra nh danh ca ngi dng. Ngi dng
c trch nhim gi cc th chng thc c pht.
Mt khi ngi s dng c xc thc, phn mm grid c cung cp cho
ngi s dng anh ta c th ci ln my ca mnh v s dng grid. Phn mm ny
t ng c cu hnh bi h thng qun l grid. Theo cch ny, ngi s dng c th
tin hnh ci t rt n gin. Trong cc h thng t t ng hn, ngi dng phi t
hi im qun l bit c thng tin cu hnh chnh xc. Ngi dng cng c th
hi ngi qun tr grid nh danh ca anh ta trn grid.

3.1.2. ng nhp vo grid


Hu ht cc h thng grid u yu cu ngi s dng phi ng nhp vo h
thng vi nh danh c ng k. C cc h thng grid s dng chnh h thng
nh danh ca grid phn bit ngi s dng. Cch ny t ra thun tin hn vi
ngi s dng, gip trnh c vn trng lp nh danh gia cc my. N lm cho
grid trng ging nh mt my tnh cc ln hn l mt tp hp cc my khc nhau.
Khi ng nhp, ngi s dng c th s dng truy vn v a ln grid cc
cng vic cn thc hin. Mt vi h thng grid cho php s dng chc nng truy vn
khi cha ng nhp vo h thng hay thm ch ngi s dng cha ng k vi grid.

21

3.1.3. Truy vn v a cng vic


Ngi dng c th truy vn grid xem grid bn nh th no, cc cng vic
c tin hnh ra sao, hay tm kim cc ti nguyn. Grid cung cp cng c truy vn
bng c dng lnh v ha (GUIs). Cng c dng lnh tin li khi ngi dng mun
vit mt on kch bn (script) thc hin mt l cng vic. V d, ngi dng mun
thc hin ng thi tm kim ti nguyn, a cng vic ln ti nguyn , xem xt qu
trnh thc hin, v kt qu a ra.
Khi a cc cng vic ln grid ngi dng phi lm ba bc.
u tin, d liu u vo v cc tp thc thi c gi n my thc hin cng
vic.
Th hai, cng vic s c thc thi trn cc my.
Th ba, kt qu chy cng vic s c gi tr li ngi a cng vic ln.
Khi cng vic gm nhiu cng vic con khc nhau th i hi phi thu nht
cc kt qu v tp hp chng li vi nhau, thng c thc hin bi mt ng dng
my gi cng vic ln. Khi s lng cng vic con tr nn qu ln, cng vic thu
nht kt qu cng c th c phn tn ra nhiu my khc nhau.

3.1.4. Cu hnh d liu


D liu c s dng trong cc cng vic grid c th trong hay ngoi
mng grid. Cc d liu ny c th to nn lu lng giao thng rt ln. V th cn thit
phi sp xp chng t c s lu thng nh nht trn grid.
V d, nu c mt s lng ln cng vic con ca mt ng dng cn chy
nhiu ln lp li, d liu c th c sao lu n cc my v s dng li trong ln chy
tip theo. S tt hn nu chng ta dng cc h thng tp mng (networded file system)
chia s d liu, bi v vi cc h thng ny d liu s c chuyn t trung tm n
ng dng hiu qu hn.

3.2. Nh qun tr
Mc ny miu t nhng hot ng trong mi trng grid di vai tr ca mt
ngi qun tr.

22

3.2.1. Ci t
u tin, h thng grid phi c ci t trn cc my c cu hnh. Cc
my ny phi c kt ni vi bng thng rng ti cc my khc trn mng grid.
Cn d on c cc s c c th xy ra v a h thng hot ng tr li khi gp
cc s c ny. Cc my trong mng phi c cu hnh c kh nng khi phc h
thng khi gp hng hc. Cc d liu quan trng cn c theo di v sao lu thng
xuyn.
Sau khi ci t, cc phn mm trong grid cn c cu hnh v a ch v
nh danh. Nh qun tr c mi quyn qun l grid.

3.2.2. Qun l ngi dng


Mt trong cc chc nng ca nh qun tr l qun l ngi dng. Nh qun tr
c nhim v qun l quyn hn ca nhng ngi dng tren mng. Khi mt ngi dng
ng nhp vo h thng, nh danh ca h phi c thng qua c quan chng thc
CA. Ngi dng ny v th chng thc ca h c a vo danh sch ngi dng
trn h thng grid. Trong nhiu trng hp, nh qun tr cn a thng tin ca ngi
dng n cc my khc trn mng.

3.2.3. Chng thc


Cn phi m bo mc bo mt cao nht cho grid v grid c dng chy
cc cng vic ch khng ch l chia s d liu. Chnh v th n c th ny sinh
virus, nga thnh Troa, hay cc cuc tn cng vo mng grid. C quan chng thc
(Certificate Authority) l mt phn rt quan trng trong bo mt ca grid. Mt t chc
c th chn c quan chng thc ngoi v t x l n.
Nhng nhim v c bn ca c quan chng thc l:
Xc nh nh danh ca ngi yu cu chng thc.
Phn pht, xa, lu tr chng thc.
Bo v my ch ca c quan chng thc.
Duy tr, bo dng tn v chng thc ca ngi dng.
Hot ng ng nhp
C quan chng thc dng h thng m ha kha cng khai. Trong h thng
ny, kha c i theo cp, kha cng khai v kha b mt. Mt ngi c th m ha
d liu v ngi kia c th gii m n. Kha b mt c ngi dng gi kn v khng

23

l cho ai khc bit. Khi ngi dng dng kha b mt m ha, ngi nhn dng
kha cng khai gii m n. Tuy nhin ai nhn c d liu cng c th gii m n
khi bit kha cng khai. Nu ngi gi dng m ha kp vi c kha cng khai v m
b mt, th to ra s bo mt tt hn. Ngi nhn dng kha b mt ca anh ta gii
m, sau dng kha cng khai ca ngi gi gii m ln hai.

3.2.4. Qun l ti nguyn


Mt nhim v khc ca nh qun tr l qun l cc ti nguyn trong mng
grid. N bao gm thit lp cc quyn s dng ca ngi dng i vi ti nguyn, theo
di ti nguyn, v qun l h thng ti chnh. S dng cc thng k c th gip d
on c xu hng cn thm phn cng, gim lng ph phn cng, cng nh iu
chnh u tin v chnh sch t c kt qu chung tt nht.
Mt vi gi phn mm grid, nh b lp lch, s dng u tin v cc chnh
sch lp lch. Nh qun tr c trch nhim cu hnh cc u tin hay chnh sch
t c kt qu chung tt nht.

24

Chng 4.Mt s chun trong mi trng Grid


Tnh ton mng li c th m t bng nhiu khi nim v c th c nh
ngha theo nhiu cch khc nhau. Nhng v c bn n cung cp kh nng tnh ton
phn tn v tn dng cc ti nguyn. c th thng nht v lm cho cc ti nguyn
trn nhiu nn tng phn cng, phn mm khc nhau c th cng tn ti, v hot ng
vi nhau i hi phi c cc chun. Trong chng ny chng ta s xem xt mt s
chun c bn c p dng cho tnh ton mng li.
Mt s yu cu vi tnh ton mng li:
H tr vic thc thi chng trnh trn nhiu nn tng khc nhau
C s h tng an ton
Kh nng di chuyn, ti to v tp hp d liu
Kh nng pht hin ti nguyn
Qun l ti nguyn
C nhiu chun khc nhau cho mi yu cu k trn. Sau y l mt s chun
tiu biu.

4.1. Kin trc dch v Grid m - Open Grid Services Architecture (OGSA)
Kin trc dch v Grid m l mt m rng ca kin trc tnh ton mng li
nhm kt hp vi kin trc dch v Web (Web service), c pht trin bi nhm
Globus v IBM. Khi nim ny ln u tin c a ra ti din n Grid ton cu
(Global Grid Forum), Toronto, Canada nm 2002.
tng ny bt ngun t thc th rng hai cng ngh Grid v dch v Web
tuy c cch tip cn khc nhau nh cng chung mt mc ch: "Chia s ti nguyn v
h tr to ra cc t chc o". Trong kin trc dch v Web, iu ny c thc hin
bng cch chia s d liu, lgic, v qui trnh giao dch thng mi gia cc thnh vin
tham gia vo thng mi in t (mt dng t chc o). i vi Grid, t chc o chia
s cho nhau cc ti nguyn tnh ton v c s d liu nhm mc ch gii quyt cc bi
ton khoa hc cng ngh. C hai loi t chc o ni trn u khng gii hn v khng

25

gian a l. im khc bit chnh l "dch v Web" nhm ti cc dch v lin tc


(persistent), trong khi Grid h tr dch v tm thi (transient).
Mt s quy c c m t trong ti liu c t dch v Grid bao gm:
Cch thc to v khai thc dch v Grid
Cch thc t tn v tham chiu ti cc th hin (instance) ca dch
v Grid.
Cch m t cc giao din cho dch v Grid.

Hnh 9: Kin trc OGSA

4.2. C s h tng ca dch v Grid m - Open Grid Service Infrastructure


(OGSI)
OGSI l mt m rng ca OGSA, OGSI nh ngha cc giao din c th cho
cc dch v thc thi cc chc nng c nh ngha trong OGSA.
Hn na OGSI cn nh ra cc c ch cho vic khi to, qun l v trao i
thng tin gia cc dch v Grid. Theo OGSI th dch v Grid l mt dch v Web m
tun theo mt tp cc giao din v hot ng, cc giao din v hot ng ny xc nh
cch thc m mt client tng tc vi dch v Grid.
Cc giao din v hot ng cng vi cc c ch khc ca OGSI v khi to
v pht hin dch v Grid cung cp mt nn tng cho mi trng Grid. OGSI cng a
ra ngn ng m t dch v Web Web serivce definition Language (WSDL) m t
cc giao din.

26

Hnh 10: Cc thnh phn trong OGSI

4.3. GridFTP
GridFTP l mt giao thc truyn d liu an ton v tin cy, vi hiu xut cao
v ti u cho mng din rng, c bng thng ln. Giao thc GridFTP da trn nn
tng ca giao thc FTP vi nhng m rng cho ph hp vi mi trng Grid. Cc ti
liu c t v giao thc GridFTP c th c tm thy trong din n Grid ton cu.
GridFTP s dng kh nng bo mt c bn ca Grid trn c hai knh: knh
iu khin v knh d liu.S dng nhiu knh d liu truyn song song, truyn
tng phn tp, truyn cho bn th baDo vy GridFTP c th s dng chuyn
nhng tp (c bit l nhng tp c dung lng ln) trong mng mt cch hiu qu v
tin cy.

4.4. C ch ti nguyn ca dch v Web Web service resource framework.


V c bn WSRF nh ra mt tp cc c t m t mi quan h gia cc
dch v Web (thng thng l khng c trng thi) v cc ti nguyn trng thi
(stateful resources). Bng vic kt hp gia cc dch v Web chun vi s qun l cc
ti nguyn trng thi, WSRF cung cp kh nng lu trng thi cho dch v Web.

27

WSRF l mt chun chung, bao gm mt s chun khc nh:


Ti nguyn
Vng i ca ti nguyn
Cc thuc tnh ca ti nguyn
Nhm dch v
Cc li
Cc thng bo
Cc ch
Hnh sau y m t mi lin h gia dch v Web, WSRF v OGSA

Hnh 11: mi lin h gia dch v Web, WSRF v OGSA

4.5. Mt s chun ca dch v Web


Do s ging nhau gia dch v Grid v dch v Web m cc chun ca dch v
Web cng c p dng cho dch v Grid. Mt s chun quan trng nht l
Ngn ng nh du M rng eXtensible Markup Language (XML): l mt ngn
ng nh du vi mc ch chung c t chc W3C ngh.

28

Ngn ng m t dch v Web - Web Service Description Language (WSDL): l


mt ngn ng c xy dng da trn nh dng ngn ng XML. Nhm m t cc
giao din chung, cch giao tip, tn gi, cc giao thc v nh dng gi tin ca dch
v Web.
Giao thc truy cp i tng n gin - Simple Object Access Protocol (SOAP):
giao thc mng cho php cc i tng phn mm c pht trin bi nhng ngn
ng lp trnh khc nhau v chy trn nhng nn tng hon ton khc bit c th
tng tc vi nhau. SOAP c pht trin da trn chun XML.
Universal Description, Discovery and Integration (UDDI): chun dch v Tch hp,
Khm ph v M t Ton cu, hot ng nh mt dch v ng k v nh v c
kh nng xc nhn v phn loi cc ng dng dch v Web, gip ngi s dng d
dng tm thy chng trn mng.

4.6. Tng kt chng


Trong chng ny gii thiu mt cch tng qut mt s chun c
xut v s dng trong mi trng tnh ton mng li v cc dch v Grid. Cng nh
mt s chun lin quan vi cng ngh dch v Web Web service.

29

Chng 5. Tng quan v dch v Web


Dch v Web l mt cng ngh tnh ton phn tn ging nh CORBA, RMI,
hay EJB. N cho php m rng cc ng dng theo m hnh client/server.
V d, gi s mt cng ty c nhiu ca hng phn b ri rc ti nhiu thnh
ph. Tuy nhin danh sch cc mt hng c bn ch nm ti c s d liu ca vn
phng trung tm, do cn pht trin mt phn mm ti cc ca hng truy xut
catalog ny. Danh sch ny c th c cng b (publish) thng qua dch v Web gi
l ShopService. Khch hng clients (my tnh ti cc ca hng) s lin h vi dch v
Web (ti my ch) v gi yu cu cung cp dch v (service request) v catalog. My
ch s gi tr li catalog qua mt p ng dch v (service response).

Hnh 12: dch v web

5.1. u im ca dch v Web so vi cc cng ngh khc


Dch v Web l c lp vi nn tng v ngn ng, bi v n s dng ngn ng
chun XML. Ngha l, chng trnh chy trn my khch c th c lp trnh
bng C++ v chy trn h iu hnh Windows, trong khi dch v Web c vit
bng Java v chy trn h iu hnh Linux.
Hu ht cc dch v Web dng giao thc HTTP trao i thng ip (nh: thng
ip yu cu dch v v thng ip tr li ca dch v). iu ny cho php ta c th
xy dng cc ng dng phm vi ton cu dng Internet lm phng tin truyn
thng do khng b cc hn ch v tng la.

30

5.2. Nhc im khi dng dch v Web


hiu qu khng cao: Bi v mi d liu trao i vi dch v Web u dng XML
nn chc chn s cng knh vo km hiu qu hn so vi cc ng dng s dng m
nh phn. Tuy nhin vi s tng tc mnh m ca cng ngh my tnh in t, tc
v hiu qu ca cc ng dng da trn dch v web ngy cng c ci thin.
dch v khng phong ph: Hin ti, cc dch v Web mi ch cung cp mt vi
dng dch v c bn. Trong khi CORBA em li cho ngi lp trnh nhiu dch v
h tr nh lu tr, thng bo, qun l vng i, qun l cc giao dch.
Mt tnh cht quan trng ca dch v Web l n hng ti cc h thng
phn tn lin kt lng, trong khi cc cng ngh khc nh CORBA v EJB pht trin
trn cc h thng phn tn lin kt cht trong client v server ph thuc vo nhau.
i vi dch v Web, client khng cn phi duy tr lin kt vi dch v Web cho ti khi
n thc s cn ti dch v ny. Cc h thng phn tn lin kt cht rt thch hp vi
cc ng dng intranet trong phm vi mt cng ty, nhng khng kh thi hoc km hiu
qu qui m Internet. y chnh l th mnh ca dch v Web Services, v th n
c chn pht trin dch v Grid.

5.3.

Li gi dch v Web in hnh

S di y lit k ton b cc bc lin quan ti mt li gi dch v Web


hon chnh.

Hnh 13:Li gi web

31

Bi chng trnh khch khng cha bt c thng tin v cc dch v Web hin thi,
v vy trc ht n phi i tm dch v Web no ph hp vi yu cu. V d nh ta
ang quan tm n ni cha dch v Web cung cp thng tin v nhit ti cc
thnh ph. Chng ta s lin h vi UDDI registry hi v iu ny.
UDDI registry s tr li cho chng ta bit server no cung cp dch v m ta cn (v
d nh. nhit ti cc thnh ph).
Tuy bit c ni cung cp dch v, ta cn phi bit cch thc gi dch v. V d,
phng thc gi dch v ly thng tin v nhit ti mt thnh ph c th l
Temperature getCityTemperature(int CityPostalCode), nhng cng c th l int
getCityTemp(string cityName, bool isFarenheit). V th ta phi hi server c
c m t chi tit cch gi dch v.
Dch v Web s tr li bng mt thng ip s dng ngn ng chung WSDL.
Ti bc ny chng trnh khch s thc hin li gi dch v bng ngn ng
SOAP, v d nh gi mt yu cu SOAP request v nhit ti mt thnh ph no
.
Server s tr li bng mt thng ip SOAP response cha thng tin c yu cu
hoc thng bo li trong trng hp s c hoc yu cu sai.

5.4. a ch dch v Web


a ch ca dch v Web cng c dng ging nh a ch trang Web. a ch
mt dch v Web c m t bng mt URI (Uniform Resource Identifiers) tng t
nh URL cho mt trang Web.
V d, UDDI registry c th tr v mt URI sau cho dch v Web cung cp
thng tin thi tit ti M:
http://webservices.mysite.com/weather/us/WeatherService

5.5.

Kin trc dch v Web


Hnh sau m t kin trc dch v Web:

32

Hnh 14: Kin trc dch v web


Service Discovery: Phn ny chu trch nhim tm kim cc dch v Web ph hp
vi yu cu t ra. N thng c iu khin bi UDDI (Universal Description,
Discovery, and Integration).
Service Description : Mt trong nhng c trng ca dch v Web l t m t (selfdescribing). Ngha l, n s t m t cc thao tc m n cung cp cng nh cch
thc gi n. M t ny c vit bng ngn ng c t dch v Web - Web Services
Description Language (WSDL).
Service Invocation : Vic gi hay yu cu thc thi mt dch v Web bao gm vic
chuyn thng ip SOAP gia client v server. SOAP c t cch thc nh dng
yu cu ti server cng nh cch thc m server tr li.
Transport : Cui cng, ton b nhng thng ip ny cn c trao i gia client
v server. Giao thc chu trch nhim lm vic ny l HTTP (HyperText Transfer
Protocol), cng l giao thc trao i trang Web truyn thng.

5.6. ng dng dch v Web


Mt ng dng dch v Web c cu trc ging nh mt ng dng client/server
vit bng CORBA hay RMI. Mt khi trong ng dng cho client cn gi mt dch v
Web, cc lp trnh vin cn phi vit mt on m gi l client stub thc hin cng
vic ny (hin nay c nhiu cng c cho php sinh t ng cc client stub ny da vo
m t WSDL ca dch v Web ).

33

Do , ta khng cn phi hiu r mi bc gi thc thi dch v Web mt cch


chi tit. Khi vit ng dng cho client ta ch cn quan tm ti bn s kin sau:
nh v dch v Web ph hp vi yu cu thng qua UDDI.
Nhn m t WSDL ca dch v Web ny.
Ch cn sinh ra on m client stub mt ln ri a vo ng dng trn client.
ng dng s s dng stub ny mi khi n gi dch v Web.
Vic lp trnh cho ng dng trn server cng khng my kh khn. Ta khng
cn phi vit mt chng trnh server phn tch cc yu cu SOAP v sinh ra cc p
ng SOAP m ch cn ci t cc chc nng cho dch v Web v sau sinh ra cc
on m cho server stub (i khi c gi l skeleton) chu trch nhim phn tch cc
yu cu v gi chng ti dch v c ci t. Kt qu sau khi thc thi dch v li
c trao cho server stub sinh ra p ng tng ng. Server stub c th c sinh
ra t m t WSDL hoc t cc ngn ng nh ngha giao din (nh IDL). Hn na c
dch v v server stubs u c qun l bi mt module gi l Web Service
container, nhm m bo cc yu cu HTTP ti mt dch v Web s c chuyn ti
server stub tng ng.

5.7. Cc bc gi mt dch v Web

Hnh 15:Cc bc gi dch v web


Gi s ta nh v c dch v Web mong mun v sinh ra c on
m client stubs t c t WSDL ca dch v ny. Tng t chng trnh bn pha
server cng c server stubs.

34

Mi khi cn gi dch v Web, ng dng client s gi client stub. Client stub s to


ra mt yu cu SOAP hp l t cc tham s truyn ti t ng dng. y cn gi l
qu trnh marshaling hay serializing.
Yu cu SOAP c n server qua mng s dng giao thc HTTP. Web Services
container nhn yu cu SOAP v chuyn ti server stub. Server stub sau s
chuyn i yu cu SOAP ny thnh ci g m chng trnh ci t dch v hiu.
Qu trnh ny gi l unmarshaling hay deserializing.
chng trnh ci t dch v thc hin yu cu c giao t service stub. Kt qu
s c trao cho server stub chuyn i thnh mt p ng SOAP.
p ng SOAP ny c gi tr v client stub qua mng dng giao thc HTTP.
Client stub nhn p ng ri chuyn i thnh d liu m ng dng client c th
hiu.
Cui cng, ng dng nhn c kt qu t li gi dch v Web v tip tc cng
vic ca mnh.

5.8. Tng kt chng


Trong chng ny ta tm hiu v cng ngh dch v Web: kin trc, u
nhc im, cc ng dng, cch thc truy cp dch v. Qua thy c l do s dng
cng ngh dch v Web pht trin dch v Grid.

35

Chng 6.C ch ti nguyn ca dch v Web Web service


resource framework
Mi trng Grid bao gm mt tp cc ti nguyn c chia s. Cc ti nguyn
c th l cc ng dng phn mm, c s d liu, bng thng mng, bn quyn phn
mn, khng gian lu trVic chia s ti nguyn trong mi trng phn tn, khng
ng nht ny sinh cc vn trong vic qun l v chia s cc ti nguyn ny.
l vn trong c ch truy cp, pht hin, xc thc v chng thc ti nguyn.
Trong chng ny s gii thiu mt s khi nim c bn trong vic qun l
trng thi ti nguyn trong bi cnh ca mi trng tnh ton mng li.

6.1. Qun l trng thi ti nguyn trong dch v Grid


6.1.1. Dch v Grid l g
C th hiu mt dch v Grid l mt giao din dch v kt hp vi mt mng
lui ti nguyn. Ti nguyn v trng thi ca ti nguyn c iu khin v qun l
bng cc dch v Grid trong mt mi trng Grid. Mt dch v Grid c th thao tc
vi nhiu ti nguyn v ngc li mt ti nguyn cng c th c s dng bi nhiu
dch v Grid khc nhau.
Cc ti nguyn c th phi tng tc hay kt hp vi nhau ty theo i hi ca
yu cu. Hn na cc ti nguyn li c lu tr trn mt mi trng khng ng
nht. Do i hi framework phi tru tng ha chi tit vic ci t cho mt mi
trng c th ra khi s truyn thng thc s gia cc dch v Grid. Kin trc hng
dch v (Service Oriented Architechture - SOA) l mt kin trc tha mn yu cu
trn.
Tt c cc ti nguyn (vt l hay logic) trong mng tng thch vi chun
OGSA c m hnh nh l cc dch v Grid. Cc dch v Grid xy dng trn chun
SOA thc y s pht trn ca cng ngh dch v Web. iu cho php cc dch v
Grid s dng cc kh nng ca m hnh truyn thng dch v Web, m t ca dch v,
v pht hin dch v. Cc chun ca dch v Web pht trin v cho php cc giao
tc vi dch v Web din ra an ton v tin cy. La chn cng ngh dch v Web
xy dng cc dch v Grid tng thch vi chun OGSA thc y s pht trin ca
kin trc dch v Web v cc chun ca n.

36

6.1.2.

Nhng yu cu ca dch v Grid theo chun OGSA

Tt c cc dch v Grid u phi tun theo c t yu cu ca OGSA c th


qun l trng thi ca cc ti nguyn phn tn mt cch an ton v tin cy. Mt s yu
cu chnh m m hnh dch v OGSA i hi dch v Grid tng thch phi cung cp
l:
Khi to ti nguyn: ngha l c th khi to cc th hin ca cc ti nguyn gn
vi dch v Grid theo mt thao tc no . Th hin c th c to mi hon ton
hoc khi to li t trng thi c lu tr ca ti nguyn .
nh danh v tham chiu duy nht: khi c mt th hin ca ti nguyn th mi
trng Grid yu cu c mt tham chiu duy nht trn mng tham chiu ti ti
nguyn v cc thng tin c th tng tc vi th hin thng qua dch v Grid.
Qun l vng i: qun l vng i nhm xc nh thi gian hot ng ca ti
nguyn, thi gian c th ht hn sau mt khong thi gian hay ngay lp tc.
ng k v pht hin dch v: y l mt tp cc thao tc lin quan ti kh nng tm
kim th hin ca dch v Grid v cc thng tin v thi gian trin khai, thi gian
chy ca chng.
Thng bo: l c ch truyn thng khng ng b thng bo cho cc client
ng k v cc s kin c th no v d: s kin v vng i ca ti nguyn, s
kin v s thay i ca cc thuc tnh ca ti nguyn
Hin nay c hai chun ci t dch v Grid tng thch vi chun OGSA ang
tn ti l
C s h tng ca dch v Grid m - Open Grid Service Infrastructure (OGSI)
C ch ti nguyn ca dch v Web Web service resource framework (WSRF).
Chun OGSI ra i sm hn v c ci t trong phin bn th ba ca
Globus Toolkit (GT3). Chun WSRF ra i mun hn v c ci t trong phin bn
th t ca Globus Toolkit (GT4). Chun WSRF ang dn thay th chun OGSI trong
vic ci t cc dch v Grid trn mi trng mng li.

6.2. Chun WSRF


Trong phn ny s trnh by mt s khi nim v c ch chnh c cp
n trong chun WSRF.

37

6.2.1. Khi nim WS-Resource


WS-Resource l s kt hp gia dch v web v ti nguyn trng thi, v c
th c m hnh bng cng thc sau y:
Web service + Stateful Resource = WS-Resource
Trong Stateful Resource (ti nguyn trng thi) c cc d liu trng thi
c m t bng mt ti liu bng ngn ng XML, c mt vng i xc nh, c
bit v s dng bi mt hay nhiu dch v web. Ti nguyn trng thi c th c thc
thi bng nhiu cch khc nhau, c th s dng tp trong h thng tp, cc bn ghi
trong c s d liu, hoc theo mt cu trc d liu ring ca ng dng.
V d: Hnh di y m t mi quan h gia mt dch v dng phim vi ti
nguyn trng thi ca n. Cc thao tc m dch v cung cp v cc ti nguyn trng
thi u c m t trong tp m t bng ngn ng WSDL.

Hnh 16:WS-Resource
Mi WS-Resource bao gm mt hoc nhiu thuc tnh, gi tr ca cc thuc
tnh l trng thi ca WS-Resource, thay i gi tr ca cc thuc tnh l thay i
trng thi ca WS-Resource.
WSRF l mt tp cc c t nhm nh ra mt m hnh thng ip chun, hay
ni mt cch khc l nhng cch yu cu ly hoc cp nht gi tr ca mt hay
nhiu thuc tnh ca ti nguyn. Nh vy WSRF xc nh mt cch chung lm
vic vi WS-Resource: tng tc vi cc thuc tnh ca WS-Resource, nhm cc WSResource

38

6.2.2. Cc thnh phn trong WSRF

Hnh 17: Cc thnh phn WSRF


WSRF bao gm nm c t:
WS-ResourceProperties (WSRF-RP)
WS-ResourceLifetime (WSRF-RL)
WS-ServiceGroup (WSRF-SG)
WS-Base Faults (WSRF-BF)
WS-RenewableReferences (WSRF-RR)
Sau y l bng tm tt cc c t trn
Tn c t
WS-ResourceProperties

M t
M t cc thuc tnh ca WS-Resource, cc cc
thuc tnh ny c khai bo trong tp WSDL, m
t cch tng tc (ly gi tr, thay i gi tr) vi cc
thuc tnh n
y, m t cch thay i, thm, xa thuc tnh ca
mt WS-Resource

WS-ResourceLifetime

nh ngha xem mt WS-Resource s c hy nh

39

th no: c container hy t ng sau mt thi


gian, hay c chng trnh client gi lnh hy khi
chng trnh client khng cn n WS-Resource
na.
WS-ServiceGroup

nh ngha cch to ra tp cc dch v Web

WS-Base Faults

nh ngha cch xc nh li trong mt ng dng


da trn WSRF

WS-Renewable
References

Ch thch rng cn phi ly tham chiu mi khi


tham chiu c kt thc.

6.3. Tng kt chng


Trong chng ny trnh by vn qun l ti nguyn trng thi trong dch
v Grid. V cc c t trong chun WSRF nhm phc v cho vic qun l ti nguyn.

40

Chng 7. An ninh trong mng Grid


Mt cu hi thng c t ra khi cp n mi trng mng li l
tnh an ton ca mng li . Trong chng ny s cp n mt s vn , k thut
v gii php an ninh cn thit xy dng mt mi trng Grid mnh v an ton.

7.1. Cc yu cu v an ninh trong mng li


An ninh l mt yu cu c bn trong thit k mt mng li. Cc thnh phn
an ninh cn thit c bn l cc c ch xc thc, chng thc, bo mt cc trao i
gia cc my tnh trong mng grid. Nu thiu i chc nng s ton vn, bo mt
ca qu trnh s l d liu trong mng li s c nguy c ri ro cao. Sau y l mt s
yu cu v an ninh trong mng li.
Mi trng mng li thng c cc t chc o (VO) T chc o l mt
nhm ng cc c nhn, cc nhm, cc t chc chia s ti nguyn vi nhau - s dng
kt hp vic chia s v qun l ti nguyn. Mt t chc o c th bao gm nhiu t
chc khc nhau v vy mt ng dng mng li c th tri rng trn nhiu phm vi
hnh chnh. Mi mt phm vi ny c th c nhng yu cu cng vic cng nh cc
chnh sch khc nhau. Nh vy c s h tng an ninh ca mng li phi tha mn
nhng chnh sch an ninh cc b ca mi t chc cng nh cc chnh sch an ninh ca
t chc o ra. t c iu , c s h tng an ninh mng li phi c kh
nng cng lm vic gia cc min trong khi vn gi c s phn cch r rng ca cc
c ch, chnh sch an ninh ca cc t chc (c t chc o v t chc tht). Do vy cc
thch thc v an ninh trong mi trng mng li l:
-

Kh nng tch hp: c s h tng an ninh mng li phi c kh nng tch hp


c vi cc c s h tng an ninh tn ti sn trn mi trng ch, mi
trng nn. Trn c s m rng v cung cp cc dch v an ninh mi.

Kh nng cng lm vic: cc dch v mng li c th tri rng trn nhiu


min, mi trng ch do cn phi c kh nng tng tc vi nhau cho
php trao i thng ip trong cc min cng nh cho php mi thnh vin xc
nh chnh sch an ninh c s dng trong cc hi thoi an ton, cung cp c
ch nhn bit mt ngi dng ca min ny trong mt min khc.

41

Mi quan h tin cy: mt yu cu dch v mng li c th tri rng trn nhiu


min an ninh. Do i hi phi thit lp mi quan h tin cy gia cc min.
Do tnh cht ng ca mi trng mng li nn khng th thit lp c mi
quan h tin cy gia cc im cui (end-to-end) trc khi m ng dng c
chy. Vn thit lp mi quan h tin cy cng tr nn phc tp vi cc dch v
mng li tm thi.
mc tng th cc yu cu an ninh mng li c th c xc nh nh

sau:
-

Xc thc (authentication): kh nng cung cp mt giao din c th gn vo


mt c ch xc thc khc, ng ngha vi vic chuyn c ch xc thc.

y thc (delegation): kh nng cung cp mt c ch y thc cc quyn truy cp


ca mt ngi dng ti cc dch v trong khi vn m bo cc quyn truy cp
c y thc c gii hn cho cc nhim v c thc hin trong s gii hn
ca chnh sch an ninh.

ng nhp mt ln (single logon): Kh nng mt ngi dng ng nhp


khng phi ng nhp li khi truy cp ti cc ti nguyn mng li khc.

Thi gian tn ti ca chng nhn ngi dng (credentials) v gia hn chng


nhn: kh nng lm mi cc chng nhn ca ngi dng nu thi gian hon
thnh ca mt hot ng ca mt ng dng no ln hn thi gian tn ti ca
cc chng nhn ngi dng .

Chng thc (authorization): kh nng kim sot s truy cp ti cc b phn ca


mng li da trn cc chnh sch v quyn hn ca ngi dng.

Ring t (privacy): cho php ngi s dng, ngi cung cp dch v xc nh


v thi hnh cc chnh sch ring t.

Bo mt (confidentiality): kh nng bo mt ni dung trn ng truyn v


trong cc b phn ca mng li (li tng thch vi chun OGSA).

Ton vn thng tin (Message integrity): m bo rng nhng thay i tri php
ni dung thng tin c th c xc nh ti ni nhn.

Trao i chnh sch (policy exchange): cho php s tha thun v an ninh gia
ngi dng dch v v ngi cung cp dch v da trn chnh sch an ninh.

42

Bn ghi an ton (Secure logging): l c s cho vic tha nhn v kim nh cho
php cc dch v nh nhn thi gian v ghi li nhiu loi thng tin m khng
lm gin on hay thay i thng tin ca bn i ch.

m bo (assurance): l cht lng ca mc bo m an ninh.

C th iu khin (manageability): yu cu ny ch yu lin quan n cc vn


v qu l dch v an ninh: qun l nhn dng, qun l chnh sch

Vt qua tng la (firewall traversal): kh nng i qua tng la m khng


phi tha hip vi cc chnh sch iu khin cc b ca tng la.

Bo v c s h tng OGSA: bo v cc thnh phn li ca OGSA

S di y cung cp ci nhn tng th cc thnh phn ca mt m hnh an


ninh mng li gii quyt cc yu cu ra trn.

Hnh 18: m hnh an ninh mng li

7.2. C s h tng an ninh ca mng li


Trong phn ny s trnh by nhng c ch c bn c s dng C s h tng
an ninh mng li Grid Security Infrastructure (GSI) c cung cp bi Globus
Toolkit.V cc dch v an ninh m GSI cung cp.

43

7.2.1. Truy cp vo mng li


c th thit lp mt mi trng mng li s dng cc thnh phn ca
GSI, ta cn to ra mt tp cc kha cho m ha cng khai, v yu cu chng nhn t
Certificate Authority (CA) v sao chp kha cng khai ca CA. Hnh sau y m t
tng bc qu trnh thit lp truyn thng trong GSI.

bc 1: sao chp kha cng khai ca CA v my s ci t GSI

bc 2: to kha b mt v yu cu chng nhn

bc 3: gi yu cu chng nhn cho CA (qua email hay qua mt ng truyn


tin cy khc)

bc 4: CA s dng kha ring ca mnh k vo yu cu chng nhn v gi


li chng nhnHnh
. 19: C ch bo mt grid

Khi th tc kt thc ta s nhn c mt chng nhn s c k bi CA,


ta s c ba tp quan trng trn my ci Grid l:
-

Kha cng khai ca CA

Kha b mt ca my ci Grid

Chng nhn s i vi my ci Grid.

7.2.2. Xc thc v quyn hn


c th m bo rng i tc trong phin truyn thng trong mng li l
i tc tin cy, ta c th s dng chc nng xc thc ca GSI. Sau khi ta c xc
thc c th ti nguyn mng li yu cu phi xc nh cc quyn truy cp. Khi ta
c th s dng chc nng kim tra quyn ca GSI. Sau y ta s m t cc bc xc
thc, kim tra quyn ca mt my A (ngi dng trn my A) bi mt my B trong
mng li. Hu ht cc bc l xc thc, tr bc cui cng kim tra quyn hn.
-

Bc 1: ngi dng trn my A hay mt ng dng trn my A gi chng nhn


ca n ti my B.

44

Bc 2: my B s s dng kha cng khai ca A trch ra tiu t chng


nhn c gi bc 1

Bc 3: my B sinh ra mt s ngu nhin v gi li cho my A

Bc 4: my A nhn c s ngu nhin ri s dng kha ring ca mnh


m ha s nhn c v gi kt qu li cho B.

Bc 5: my B gii m nhn c kt qu l mt s, ri kim tra s ny vi s


sinh ra bc 3. Nu 2 s ny l bng nhau th my B bit rng chng
nhn m n nhn c ng l ca ngi dng trn my A. V ch c anh ta
mi c kha b mt ca mnh.

Bc 6: chng nhn c xc thc ti my B, v tiu ca xc thc c


map tng ng vi mt tn ngi dng trn my B. Tiu dng tn phn
bit (distinguished name) ging nh:
/O=Grid/O=Globus/OU=hostA.grid.com/CN=name. Tiu ny c s
dng xc nh nh danh ca ngi dng trong mi trng mng li. Ngi
dng c xc nh t tiu s c my B kim tra quyn nh mt ngi
dng trn my B.

7.3. Tng kt chng


Trong chng ny cp n vn c s h tng an ninh trong mng li,
cc yu cu v an ninh trong mng li. V mt ci t ca c s h tng an ninh
trong mi trng mng li - GSI c ci t trong Globus Toolkit.

45

Chng 8.Cc thnh phn ca Globus Toolkit 4.0


B cng c Globus Toolkit c pht trin bi Globus Alliance
(http://www.globus.org) l phn mm m ngun m, mt cng c xy dng cc h
thng v chng trnh grid. c rt nhiu cng ty v t chc s dng cng c
Globus Toolkit nh l nn tng v tiu chun cho vic pht trin cng ngh Grid
computing.
Hin nay, phin bn mi nht ca Globus Toolkit l 4.0. B cng c Globus
Toolkit khng ch cha cc thnh phn lm nn tng cho mt mi trng grid m cn
bao gm cc cng c hu ch cho vic pht trin cc chng trnh grid. Chng ny
m t cc thnh phn chnh ca Globus Toolkit 4.0.

8.1. Tng quan v Globus Toolkit 4.0


B cng c Globus Toolkit 4.0 l tp hp cc thnh phn m ngun m, cung
cp nn tng cho mi trng pht trin v cc ng dng Grid computing. Phin bn 4
ca b cng c l phin bn u tiu h tr dch v Web - WSRF (Phin bn 3 h tr
OGSI, cn phin bn 2 th khng h tr cc chun trn). V c chia ra hai phn:
Mt thnh phn l nn tng cho dch v Web, mt thnh phn l nn tng cho cc dch
v khc.
Globus Tookit 4.0 cung cp cc thnh phn c chia theo cc danh mc sau:
Cc thnh phn thng trc
Cc thnh phn bo mt
Cc thnh phn qun l d liu
Cc dch v kim tra v khm ph thng tin
Cc thnh phn qun l thi hnh

8.2. Cc thnh phn thng trc


Globus Toolkit 4.0 cha cc thnh phn thng trc. Thnh phn thng trc
l thnh phn bao gm cc th vin v cng c lm ct li cho mng Grid computing
v l nn tng cho cc thnh phn khc. Cc thnh phn thng trc bao gm: Java
WS Core, C WS Core, Python WS Core.

46

8.2.1. Java WS Core


Java WS Core bao gm cc API v cng c thi hnh cc chun WSRF v WSNotification trn nn ngn ng Java. Cc thnh phn tr thnh nn tng cho mt s
dch v trong Grid computing. Ngoi ra, Java WS Core cn cung cp cc th vin v
cng c cho vic pht trin cc dch v WSRF. Hnh 6.2 th hin mi quan h gia
Java WS Core v cc dch v khc.

Hnh 20: Mi quan h gia Java WS Core v cc dch v trong Grid computing

8.2.2. C WS Core
C WS Core bao gm cc API v cng c thi hnh cc chun WSRF v WSNotification trn nn ngn ng C.

8.2.3. Python WS Core


Python WS Core bao gm cc API v cng c thi hnh cc chun WSRF v
WS-Notification trn nn ngn ng Python. Thnh phn ny cn gi l pyGridWare.

8.3. Cc thnh phn bo mt


Bo mt l vn rt quan trng trong mi trng Grid computing. Do ,
Globus Toolkit 4.0 cung cp mt s cch thc bo mt trong cc thnh phn bo mt.
Phn ny gii thiu khi qut mt s thnh phn bo mt trong GT4.

47

8.3.1. Thm nh v cp php WS


Trong truyn thng SOAP cc dch v Web, Globus Toolkit 4.0 m rng kh
nng bo mt vi cc thng ip (message) v truyn ti (transport) nhiu mc bo
mt.

8.3.2. Thm nh v cp php Pre-WS


Thm nh v cp php Pre-WS bao gm cc API v cc cng c qun l vic
thm nh, cp php v chng thc.

8.3.3. Dch v cp php cng ng (Community Authorization Service - CAS)


CAS cung cp vic iu khin n cc qu trnh truy nhp vo cc t chc o.
Mt CAS server cung cp quyn hn i vi cc ti nguyn ca tt c cc thnh vin
trong cng ng. Hin nay, CAS khng h tr cc dch v Web, tuy nhin, n h tr
GridFTP.

8.3.4. Dch v u quyn


Dch v u quyn c kh nng u quyn cho ngi c thm quyn s dng cc
dch v trong mt host. Dch v u quyn cho php mt ngi c thm quyn c kh
nng s dng nhiu dch v khc nhau.

8.3.5. SimpleCA
SimpleCA l mt cng c chng thc quyn hn n gin. SimpleCA l cng
c c s dng ph bin trong Grid computing. Chng ti s s dng SimpleCA khi
xy dng mi trng Grid computing.

8.3.6. GSI-OpenSSH
GSI-OpenSSH l phin bn sa ca OpenSSH vi vic thm tnh nng thm
nh GSI. GSI-OpenSSH to mt shell trn mt h thng t xa chy shell scripts
hoc tng tc vi cc cu lnh shell, n cung cho php truyn cc tp gia cc h
thng m khng cn phi nhp mt khu v ID ngi dng. Trc khi s dng GSIOpenSSH, cn xc lp proxy bng lnh grid-proxy-init.

48

8.4. Cc thnh phn qun l d liu


Globus Toolkit 4.0 cung cp mt s cng c cho php qun l d liu trong
mi trng Grid computing. Phn ny s gii thiu mt s dch v qun l d liu
trong GT4.

8.4.1. GridFTP
GridFTP l thnh phn cung cp kh nng bo mt v ng tin cy trong vic
truyn tp gia cc host trong mng grid. GridFTP c m rng t giao thc FTP,
thm vo mt s tnh nng mi, bao gm h tr vic thm nh thng qua GSI. Mt
trong nhng tnh nng quan trng ca GridFTP l kh nng truyn c s tham gia ca
bn th ba.

Hnh 21: M hnh truyn tp vi s tham gia ca bn th ba trong GridFTP


Trong m hnh trn, tp lu tr trong mt server. Client c th copy tp ny
sang mt server khc. Client ng vai tr nh mt bn th ba yu cu truyn tp t nt
th nht sang nt th hai.

8.4.2. Truyn Tp tin cy (Reliable File Transfer - RFT)


RFT cung cp mt giao din dch v Web cho vic truyn ti cc tp. Hnh
6.4.2 m t m hnh hot ng ca RFT v GridFTP.

49

Hnh 22: M hnh hot ng ca RFT v GridFTP


M hnh ny c m t nh sau:
u tin, Client yu cu truyn mt tp t Server A sang Server B
RFT tip nhn yu cu t Client di dng thng ip SOAP thng qua giao
thc HTTP v bt u khi to GridFTP.
RFT s dng mt c s d liu lu tr danh sch cc tp truyn v trng thi
ca chng. Ngoi ra, RFT cng lu cc yu cu truyn tp phng trng hp
vic truyn tp b ngt.
Cui cng RFT ng vai tr nh nt th ba, yu cu truyn tp t Server A sang
Server B thng qua GridFTP.

8.4.3. Dch v m hnh ho a ch (Replica Location Service - RLS)


RLS cung cp vic truy nhp thng tin n cc a ch vt l trong mng thng
qua d liu m hnh ho a ch. Ngha l RLS nh x tt c cc a ch vt l trong
mng vo mt tp logic. Vic truy nhp n mt a ch vt l no c thng qua
tp logic ny.

8.4.4. Dch v sao lu d liu (Data Replication Service - DRS)


DRS cung cp mt h thng sao lu cc tp trong mng grid v ng k
chng vi RLS. DRS s dng RFT v GridFTP cho vic truyn tp. DRS cng s
dng RLS cho vic a ch ho v ng k sao lu.

50

8.4.5. Cc dch v kim tra v khm ph thng tin (Monitoring and Discovery
Services - MDS)
MDS l dch v tp hp, phn tn, ch mc cc thng tin trng thi ca
cc ti nguyn, dch v v cu hnh h thng. GT4 cung cp cc thnh phn WSRF v
WS-Notification trong MDS, cn gi l MDS4. Cc dch v c khi to khi khi
ng GT4 container c ng k thng qua MDS4. Dch v tiu biu ca MDS4 l
Dch v ch mc (Index Service).

8.4.6. Index service


Index Service l thnh phn trung tm trong vic thc thi GT4 MDS. Mi th
hin ca Grid container u cha mt Index Service mc nh (gi l
DefaultIndexService). Index Service tng tc vi cc ti nguyn trn mng. Index
Service c th chn lc ti nguyn, dch v, nh ch mc cc ti nguyn v dch v
cc nt trn mng Grid v tp hp thng tin ca chng vo mt ni.

8.5. Cc thnh phn qun l thi hnh


Globus Tookit 4.0 cung cp mt s cng c nhm mc ch qun l thi hnh
trong mng Grid. Cng c tiu biu ca thnh phn ny l WS GRAM.

8.5.1. WS GRAM
WS GRAM l mt dch v Grid cung cp kh nng thc thi t xa v qun l
trng thi cc cng vic. Khi mt client yu cu cng vic, yu cu c gi n
host dng thng ip SOAP v c qun l bi dch v WS GRAM.WS GRAM tr
li thng tin trng thi ca cng vic s dng WS-Notification.

51

Chng 9. Ci t v cu hnh Globus Toolkit 4.0


Chng ny m t qu trnh ci t v cu hnh Globus Toolkit 4.0. Chng ti
s trin khai ci t Globus Toolkit trong mng gm 3 my tnh. Cc vn chnh
trong chng ny gm c:
Download Globus Toolkit 4.0
Cc gi tin ca Globus Toolkit 4.0
M hnh mi trng mng Grid
Ci t Globus Toolkit 4.0
Cu hnh v th nghim mi trng Grid
G b Globus Toolkit 4.0

9.1. Download Globus Toolkit 4.0


Globus Toolkit 4.0 l phn mm m ngun m h tr nhiu h iu hnh. Cc
gi tin binary h tr mi trng Windows, Linux (SuSE Linux 9/8, Red Hat Linux 9,
Fedora Core 2/3 v Debian 3.1) v Solaris 9. Vic bin dch GT4 t cc gi tin ngun
c th h tr thm cc h iu hnh AIX v Mac OS X. Cc thnh phn pht trin trn
nn tng Java nh WSRF hoc WS Java Core u tng thch vi cc h iu hnh h
tr Java, trong c Windows. Hin nay, vic s dng h iu hnh Linux pht
trin mi trng Grid ang tr nn ph bin. V vy, chng ti s dng h iu hnh
Fedora Core 3 pht trin mi trng Grid. Cc gi tin s dng l cc gi tin binary.
Truy cp a ch: http://www.globus.org/toolkit/downloads/4.0.0/ download cc gi
tin ny.
Gi tin GT4 cho Fedora Core 3 l: gt4.0.0-ia32-fedora3-binary-installer.tar.gz

9.2. M hnh mi trng mng Grid


Chng ti s dng 3 my tnh ci t mi trng mng Grid.

52

Hnh 23: M hnh mng Grid


Cc my tnh bao gm:
CA: y l ni chng thc quyn hn. Do , chng ti s dng SimpleCA c
sn trong gi tin GT4.
Host A, Host B: l cc nt mng Grid. Chng ti ci t gi tin GT4 cho cc nt
ny.
Host A v Host B s dng hai tn ngi dng khc nhau l auser1 v buser1,
nhng chng cng chia s mt ID ngi dng chung l:
/O=Grid/O=Globus/OU=gridk47.com/CN=grid user 1
Bng 7.2a m t cc my tnh ca mng Grid.
Tn my

Tn host

Chc nng

H iu hnh Gi tin ci
t

CA

ca.gridk47.com

Chng thc
quyn hn

Fedora Core 3 Gi GT4


binary

Host A

hosta.gridk47.com

Nt mng
Grid

Fedora Core 3 Gi GT4


binary

Host B

hostb.gridk47.com Nt mng
Grid

Fedora Core 3 Gi GT4


binary

Bng 7.2a Cc my tnh trong mng Grid


Bng 7.2b m t phin bn cc phn mm s dng
Tn phn mm

Phin bn

Th mc ch

Globus Toolkit 4.0

4.0.0

/usr/local/globus-4.0.0

Java SDK

1.5

/usr/local/java

Apache Ant

1.6.3

/usr/local/ant

Bng 7.2b: Phin bn cc phn mm s dng

53

9.3. Ci t Globus Toolkit 4.0


Chng ny m t th t cc bc ci t Globus Toolkit 4.0

9.3.1. Ci t cc phn mm yu cu cho Globus Toolkit 4.0


Trc khi ci t Globus Toolkit 4.0, cn ci t cc phn mm sau:
Tn phn mm

Phin bn

Java SDK

1.5

Apache Ant

1.6.3

Bng 7.3a: Cc phn mm cho Globus Toolkit 4.0


a - Ci t Java SDK
ci t Java SDK
Ly gi tin Java SDK, vo a ch: http://java.sun.com
Ci t Java SDK:
[root@hosta]# rpm -ivh jdk-1_5_0_06-linux-i586-rpm.rpm
thit lp bin mi trng cho Java SDK, m tp /etc/profile v thm on sau:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
bin mi trng hot ng, ng tp /etc/profile v chy lnh:
[root@hosta]# . etc/profile
kim tra Java SDK c ci t thnh cng, dng lnh:
[root@hosta]# java --version
b - Ci t Apache Ant
ci t Apache Ant:
Ly gi tin Apache Ant ti a ch: http://ant.apache.org/
Bung tp nn Apache Ant:
[root@hosta]# tar xvzf apache-ant-1.6.3-bin.tar.gz -C /usr/local

54

Thit lp bin mi trng cho Apache Ant, m tp /etc/profile v thm on sau:


export ANT_HOME=/usr/local/apache-ant-1.6.3
export PATH=$ANT_HOME/bin:$PATH
bin mi trng hot ng, ng tp /etc/profile v chy lnh:
[root@hosta]# . etc/profile
kim tra Apache Ant ci t thnh cng, dng lnh:
[root@hosta]# ant --version

9.3.2. Cu hnh mi trng Linux cho Globus Toolkit 4.0


Trc khi ci t Globus Toolkit, cn cu hnh mt s th trong mi trng
Fedora Core 3 ang s dng trn cc my tnh trong mng.
a-Thm ti khon ngi dng
Trong Fedora, s dng lnh: adduser thm mt ngi dng mi. V d:
adduser auser1 thm ngi dng auser1. Bng sau y l nhng ngi dng cn
thm vo trong cc my tnh trn mng.
Tn host

Tn ngi dng

ca

globus

hosta

globus, auser1

hostb

globus, buser1

Bng 7.3b: Danh sch ngi dng trn cc my tnh


b- Thit lp thi gian
Trong mng Grid computing, vic ng b ho thi gian gia cc my tnh vi
nhau l rt quan trng. Nu thi gian khng c ng b, khi dng chng thc GSI
s xy ra li. Do , chng ti thit lp time server l NTP cho mi trng Grid ca
mnh v thit lp thi gian cho tt c cc my tnh trong h thng.
cu hnh NTP:
Trn my tnh CA lm NTP server, chnh sa tp: /etc/ntp.conf, b comment 2 dng
di y bng cch b k t # u dng:
server 127.127.1.0 # local clock

55

driftfile /etc/ntp/drift
Thc hin tng t vi 2 my Host A v Host B:
server (a ch IP ca CA) # time server
driftfile /etc/ntp/drift
Trn tt c cc my, cu hnh ntp deamon bng cch dng lnh:
[root@hosta]# chkconfig ntpd -on
Bt u chy dch v ntp
[root@hosta]# service ntpd start
kim tra thi gian c ng b hay cha, dng lnh ntpq. Nu c du sao
(*) ng trc tn host th cu hnh NTP thnh cng:
[root@hosta]# ntpq -p
remote

refid

st t when poll reach delay offset jitter

==========================================
*ca.gridk47.com LOCAL(0) 6 u 516 1024 377 0.931 -2.258 0.262
c- Thit lp tng la
y cng ti khng thit lp tng la. Nu thit lp tng la, cn phi
m cc cng TCP sau y lng nghe cc dch v v thnh phn ca Globus Toolkit.
Cng TCP

Cc thnh phn ca GT4

2811

GridFTP

8080

Globus container (ch khng bo mt)

8443

Globus container (ch bo mt)


Bng 7.3c: Cc cng TCP cn m khi thit lp tng la

9.3.3. Ci t Globus Toolkit 4.0


ci t Globus Toolkit 4.0, chng ti s dng gi tin Binary cho Fedora
Core 3.
Ly gi tin binary, vo a ch:
http://www.globus.org/toolkit/downloads/4.0.0/

56

Vo ngi dng globus, bung tp nn binary:


[globus@hosta]$ tar xvzf gt4.0.0-ia32-fedora3-binary-installer.tar.gz \
-C /tmp
Thit lp bin mi trng cho th mc cha Globus:
[globus@hosta]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.0
Thay i quyn hn ca th mc ny cho ngi dng globus:
[globus@hosta]$ su
Password:
[root@hosta]# mkdir $GLOBUS_LOCATION
[root@hosta]# chown globus:globus $GLOBUS_LOCATION
[root@hosta]# exit
exit
[globus@hosta]$
Cu hnh v ci t Globus Toolkit 4.0, m t qua cc bc sau:
[globus@hosta]$ cd /tmp/gt4.0.0-ia32-fedora3-binary-installer
[globus@hosta]$ ./configure --prefix=$GLOBUS_LOCATION
checking for javac... /usr/local/java/j2sdk1.5.0/bin/javac
checking for ant... /usr/local/apache-ant-1.6.3/bin/ant
configure: creating ./config.status
config.status: creating Makefile
[globus@hosta]$ make 2>&1 | tee build.log
cd gpt-3.2autotools2004 && OBJECT_MODE=32 ./build_gpt
build_gpt ====> installing GPT into /usr/local/globus-4.0.0
... (B qua thng tin)
[globus@hosta]$ make install
ln -s /usr/local/globus-4.0.0/etc/gpt/packages
/usr/local/globus-4.0.0/etc/globus_packages

57

/usr/local/globus-4.0.0/sbin/gpt-postinstall
...(B qua thng tin)
config.status: creating fork.pm
..Done

9.4. Cu hnh v th nghim mi trng Grid


Sau khi ci t xong Globus Toolkit, cn phi cu hnh mi trng grid.
cu hnh mi trng grid, cn cu hnh cc thnh phn sau:
Cu hnh cc bin mi trng
Cu hnh bo mt
Cu hnh Java WS Core
Cu hnh v kim tra GridFTP

9.4.1. Cu hnh cc bin mi trng


tt c cc ngi dng u c th s dng cc bin mi trng ca Grid.
Chng hn: GLOBUS_LOCATION, m tp /etc/profile v thm on:
export GLOBUS_LOCATION=/usr/local/globus-4.0.0
source $GLOBUS_LOCATION/etc/globus-user-env.sh
source $GLOBUS_LOCATION/etc/globus-devel-env.sh

9.4.2. Cu hnh bo mt
Chng ti s dng SimpleCA ci t bo mt. SimpleCA l thnh phn
c tch hp trong Globus Toolkit 4.0.
a- Ci t cc gi tin CA
Vo ti khon ngi dng globus ti my CA
ci t simpleCA, dng lnh setup-simple-ca v thc hin cc bc:
[globus@ca]$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
WARNING: GPT_LOCATION not set, assuming:
GPT_LOCATION=/usr/local/globus-4.0.0

58

CertificateAuthoritySetup
This script will setup a Certificate Authority for signing Globus users
certificates. It will also generate a simple CA package that can be
distributed to the users of the CA.
The CA information about the certificates it distributes will be kept in:
/home/globus/.globus/simpleCA/
/usr/local/globus-4.0.0/setup/globus/setup-simple-ca: line 250: test: res:
integer expression expected
The unique subject name for this CA is:
cn=Globus Simple CA, ou=simpleCA-ca.gridk47.com, ou=GlobusTest, o=Grid
Do you want to keep this as the CA subject (y/n) [y]: y
Enter the email of the CA (this is the email where certificate requests will be
sent to be signed by the CA): ca@gridk47.com
The CA certificate has an expiration date. Keep in mind that once the CA
certificate has expired, all the certificates signed by that CA become invalid.
A CA should regenerate the CA certificate and start re-issuing ca-setup
packages before the actual CA certificate expires. This can be done by
re-running this setup script. Enter the number of DAYS the CA certificate
should last before it expires.
[default: 5 years (1825 days)]: (type the number of days)1825
Enter PEM pass phrase: (nhp mt khu chng thc)
Verifying - Enter PEM pass phrase: (nhp mt khu chng thc)
... (B qua thng tin)
setup-ssl-utils: Complete
b- Thit lp bo mt cho cc nt mng
Sau khi ci t simpleCA, mt gi tin c to ra cu hnh bo mt cho cc
nt mng khc. Sao cc gi tin ny vo mi nt mng.

59

Vo ti khon globus trn cc my Host A v Host B, sao chp gi tin ti my CA.


[globus@hosta]$ scp globus@ca:/home/globus/.globus/simpleCA \
/globus_simple_ca_(ca_hash)_setup-0.18.tar.gz .
[globus@hosta]$ $GLOBUS_LOCATION/sbin/gpt-build \
globus_simple_ca_(ca_hash)_setup-0.18.tar.gz gcc32dbg
[globus@hosta]$ $GLOBUS_LOCATION/sbin/gpt-postinstall
Vo ti khon root, cu hnh CA cho mi nt mng. Sau khi cu hnh, th mc
/etc/grid-security c to ra
[root@hosta]# $GLOBUS_LOCATION/setup\
/globus_simple_ca_[ca_hash]_setup/setup-gsi -default
c- ng k v xc nhn chng thc host
Mi host khi tham gia mng grid u phi ng k chng thc v c CA
xc nhn chng thc. V d ng k chng thc cho Host A
Vo ti khon root, yu cu ng k chc thc vi tn host l hosta
[root@hosta]# grid-cert-request -host hosta
xc nhn chng thc
Chp tp /etc/grid-security/hostcert_request.pem c to ra khi ang k chng
thc ti Host A vo my CA.
Trong my Host A, vo ti khon globus, xc nhn chng thc bng lnh: grid-casign
[globus@ca]$ grid-ca-sign -in hostcert_request.pem -out hostcert.pem
To sign the request
please enter the password for the CA key: (nhp mt khu chng thc)
The new signed certificate is at:
/home/globus/.globus/simpleCA//newcerts/01.pem
Chp tp hostcert.pem ln tp c sn trong th mc /etc/grid-security ti Host
A

60

d- ng k v xc nhn chng thc ngi dng


Tng t nh host, mi ngi dng khi tham gia vo mng Grid u phi
ng k chng thc v c xc nhn chng thc ngi dng. V d ng k v
xc nhn chng thc vi ngi dng auser1 ti Host A
ng k chng thc:
[auser1@hosta]$ grid-cert-request
Enter your name, e.g., John Smith: grid user 1
A certificate request and private key is being created.
You will be asked to enter a PEM pass phrase.
This pass phrase is akin to your account password,and is used to protect your
key file.
If you forget your pass phrase, you will need to obtain a new certificate.
Generating a 1024 bit RSA private key
.....................................++++++
...++++++
writing new private key to '/home/auser1/.globus/userkey.pem'
Enter PEM pass phrase: (nhp mt khu chng thc)
Verifying - Enter PEM pass phrase: (nhp li mt khu chng thc)
...
xc nhn chng thc ngi dng
Chp tp /home/auser1/.globus/usercert_request.pem t my Host A sang my CA.
Ti my CA, vo ti khon globus, xc nhn chng thc bng cch dng lnh gridca-sign
[globus@ca]$ grid-ca-sign -in usercert_request.pem -out usercert.pem
To sign the request
please enter the password for the CA key:
The new signed certificate is at:

61

/home/globus/.globus/simpleCA//newcerts/02.pem
Chp tp usercert.pem ln tp c sn ti th mc /home/auser1/.globus/
Host A.
kim tra ngi dng c chng thc, vo ti khon auser1 v dng lnh:
grid-proxy-init -debug -verify
[auser1@hosta]$ grid-proxy-init -debug -verify
User Cert File: /home/auser1/.globus/usercert.pem
User Key File: /home/auser1/.globus/userkey.pem
Trusted CA Cert Dir: /etc/grid-security/certificates
Output File: /tmp/x509up_u511
Your identity:
/O=Grid/OU=GlobusTest/OU=simpleCAca.gridk47.com/OU=gridk47.com/CN=grid
user 1
Enter GRID pass phrase for this identity:
Creating proxy .........++++++++++++
.................++++++++++++
Done
Proxy Verify OK.
e- nh x ngi dng local vi ngi dng grid
Globus Toolkit 4.0 yu cu nh x gia ngi dng c xc thc grid vi
ngi dng local.
ly tn ngi dng c xc thc grid, dng lnh grid-cert-request.
[auser1@hosta]$ grid-cert-info -subject -f /home/auser1/.globus/usercert.pem
/O=Grid/OU=GlobusTest/OU=simpleCAca.gridk47.com/OU=gridk47.com/CN=grid user 1
Vo ti khon root, nh x tn ngi dng ny vi tn ngi dng local, dng lnh:
grid-mapfile-add-entry

62

[root@hosta]# grid-mapfile-add-entry -dn \


"/O=Grid/OU=GlobusTest/OU=simpleCAca.gridk47.com/OU=gridk47.com/CN=grid user 1" -ln auser1
Modifying /etc/grid-security/grid-mapfile ...
/etc/grid-security/grid-mapfile does not exist... Attempting to create
/etc/grid-security/grid-mapfile
New entry:
"/O=Grid/OU=GlobusTest/OU=simpleCAca.gridk47.com/OU=gridk47.com/CN=grid user 1" auser1
(1) entry added
xem thng tin ngi dng c nh x, m tp /etc/grid-security/grid-mapfile
"/O=Grid/OU=GlobusTest/OU=simpleCAca.gridk47.com/OU=gridk47.com/CN=grid user 1" auser1
kim tra tp nh x, dng lnh: grid-mapfile-check-consistency
[root@hosta]# grid-mapfile-check-consistency

9.4.3. Cu hnh Java WS Core


kim tra Java WS Core c ci t thnh cng, thc hin nh sau:
Vo ti khon globus, thc hin lnh:
globus-start-container
hoc
globus-start-container nosec
nu chy ch khng bo mt.
Sau khi tin trnh hon thnh, xut hin thng ip nh sau:
...
Starting SOAP server at: http://192.168.1.103:8080/wsrf/services/With the
following services:
[1]: http://192.168.1.103:8080/wsrf/services/TriggerFactoryService

63

[2]: http://192.168.1.103:8080/wsrf/services/DelegationTestService
... (B qua thng tin)
[51]: http://192.168.1.103:8080/wsrf/services/ManagedJobFactoryService
...

9.4.4. Cu hnh v kim tra GridFTP


Phn ny m t vic ci t v th nghim vi GridFTP
a- Ci t GridFTP
ci t GridFTP, gn dch v GridFTP vi tn gsiftp v cng TCP l 2811 bng
cch m tp /etc/services v thm dng:
gsiftp 2811/tcp # GridFTP
To tp /etc/xinetd.d/gsiftp vi ni dung sau:
service gsiftp
{
instances = 100
socket_type = stream
wait = no
user = root
env += GLOBUS_LOCATION=/usr/local/globus-4.0.0
env += LD_LIBRARY_PATH=/usr/local/globus-4.0.0/lib
server = /usr/local/globus-4.0.0/sbin/globus-gridftp-server
server_args = -i
log_on_success += DURATION
nice = 10
disable = no
}
Khi ng li xinetd daemon:
[root@hosta]# service xinetd restart

64

Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
b- Th nghim GridFTP
Tin hnh cc bc th nghip GridFTP
Vo ti khon ngi dng c chng thc quyn hn bi my CA. V d:
auser1
Dng lnh: grid-proxy-init khi to proxy
Dng lnh globus-url-copy <URL ngun> <URL ch> kim tra hot ng ca
GridFTP

9.5. G b Globus Toolkit 4.0


Phn ny hng dn g b b cng c Globus Toolkit 4.0. thc hin g b,
thc hin cc bc sau:
ng WS Core nu ang chy
Vo ti khon root, xo cc th mc cha globus tookit, grid security v apache ant.
[root@hosta]# rm -rf /usr/local/globus-4.0.0/
[root@hosta]# rm -rf /etc/grid-security/
[root@hosta]# rm -rf /usr/apache-ant-1.6.3/
Xa cc bin mi trng khi to trong tp /etc/profile
Xa dch v GridFTP bng cch xa dng: gsiftp 2811/tcp trong tp: /etc/services
Xa GridFTP daemon bng vic thc hin lnh:
[root@hosta]# rm /etc/xinetd.d/gsiftp
[root@hosta]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
Xa ti khon ngi dng globus
Xa Java SDK

65

Chng 10.

Cc bc lp trnh mt chng trnh Grid

Chng ny, chng ti s ly mt chng trnh c sn, rt n gin, l


chng trnh Math Service, m t cc bc lp trnh mt dch v Grid trn Grid
Computing. Chng trnh c vit trn nn ngn ng Java.

10.1. Gii thiu s lc v chng trnh Math Service


Math Service l mt dch v Web n gin c trng thi, s dng WSRF
lu tr cc trng thi thng tin. N cho php ngi dng thc hin cc php ton:
Cng
Tr
Do , Math Service s c cc thuc tnh ti nguyn (resource properties, vit
tt l RPs):
Gi tr (integer)
Php ton cui (string)
Ta cng thm mt php ton "Get Value" truy cp vo gi tr RP. Logic ca
Math Service rt n gin. Khi mt ti nguyn mi c to ra, mi "gi tr" RP u
c khi to bng 0, v "php ton cui" RP c khi to l "NONE". Cc php
ton cng v tr ch cn mt tham s nguyn. Tham s ny c cng/tr vi "gi tr"
RP, v theo "php ton cui" RP c thay i bng "ADDITION" hoc
"SUBTRACTION". Ngoi ra, cc php ton cng/ tr khng tr li gi tr.

10.2. Cc bc lp trnh chng trnh Math Service


i vi chng trnh Math Service ni ring v mt chng trnh dch v Grid
ni chung, nhn chung c 5 bc lp trnh. Cc bc gm c:
nh ngha giao din dch v. S dng WSDL
Thc thi dch v. S dng Java
nh ngha cc tham s ca vic trin khai. S dng WSDD v JNDI
Bin dch v to tp GAR. S dng Ant

66

Trin khai dch v. S dng GT4


Trong phn ny, chung ti s ln lt m t cc bc nu trn

10.2.1.

Bc 1: nh ngha giao din dch v

Bc u tin vit mt dch v Grid l nh ngha giao din dch v. Mt


dch v Grid c nhiu ngi dng tng tc. Mi ngi dng tng tc vi dch v
bng cch gi yu cu. Dch v tip nhn yu cu ngi dng, x l yu cu v tr li
p ng yu cu ca ngi dng . Giao din dch v xc nh nhng chc nng
m dch v c th cung cp cho ngi dng. Trong chng trnh Math Service, giao
din dch v l nhng php ton m ngi dng c th yu cu n dch v. Theo m
t bi ton trn, giao din dch v ca chng trnh Math Service gm 3 php ton:
cng, tr v ly gi tr. Giao din dch v cn gi l port type (c vit l portType).
Mt giao din dch v Web cng nh dch v Grid c vit trong tp di dng
.wsdl. y l tp m t giao din dch v Web/Grid. C 2 cch vit tp m t ny:
Cch 1: nh ngha giao din bng tp Java, sau chuyn i tp Java sang tp wsdl.
Giao din dch v Math Service vit bng Java nh sau:
public interface Math
{
public void add(int a);
public void subtract(int a);
public int getValueRP();
}

Cch 2: Vit trc tip mt tp wsdl. Tp m t giao din wsdl c cc thnh phn sau:
Phn HEADER: y l phn nh ngha tn, ng dn v namespace ca dch v
Phn TYPES: Phn ny nh ngha cc bin, kiu bin v cc thuc tnh ti nguyn.
Phn MESSAGES: L phn nh ngha cc thng ip m ngi dng v dch v
tng tc vi nhau
Phn PORTTYPE: L phn nh ngha cc php ton m ngi dng v dch v
tng tc vi nhau.
Tp nh ngha giao din ca chng trnh Math Service y nh sau:

67

<?xml version="1.0" encoding="UTF-8"?>


<definitions name="MathService"

targetNamespace="http://www.globus.org/namespaces/examples/core/MathService_instance"x
xmlns:tns="http://www.globus.org/namespaces/examples/core/MathService_instance"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-dra

xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-dr
xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProper
location="../../wsrf/properties/WS-ResourceProperties.wsdl" />
<!
T Y P E S
-->
<types>
<xsd:schema
targetNamespace="http://www.globus.org/namespaces/examples/core/MathService_instance"
xmlns:tns=http://www.globus.org/namespaces/examples/core/MathService_instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- REQUESTS AND RESPONSES -->
<xsd:element name="add" type="xsd:int"/>
<xsd:element name="addResponse">
<xsd:complexType/>
</xsd:element>
<xsd:element name="subtract" type="xsd:int"/>
<xsd:element name="subtractResponse">
<xsd:complexType/>
</xsd:element>
<xsd:element name="getValueRP">
<xsd:complexType/>
</xsd:element>
<xsd:element name="getValueRPResponse" type="xsd:int"/>
<!-- RESOURCE PROPERTIES -->

68

<xsd:element name="Value" type="xsd:int"/>


<xsd:element name="LastOp" type="xsd:string"/>
<xsd:element name="MathResourceProperties">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="tns:Value" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="tns:LastOp" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<!
M E S S A G E S
-->
<message name="AddInputMessage">
<part name="parameters" element="tns:add"/>
</message>
<message name="AddOutputMessage">
<part name="parameters" element="tns:addResponse"/>
</message>
<message name="SubtractInputMessage">
<part name="parameters" element="tns:subtract"/>
</message>
<message name="SubtractOutputMessage">
<part name="parameters" element="tns:subtractResponse"/>
</message>
<message name="GetValueRPInputMessage">
<part name="parameters" element="tns:getValueRP"/>
</message>
<message name="GetValueRPOutputMessage">
<part name="parameters" element="tns:getValueRPResponse"/>
</message>

69

<!
P O R T T Y P E
-->
<portType name="MathPortType"
wsdlpp:extends="wsrpw:GetResourceProperty"
wsrp:ResourceProperties="tns:MathResourceProperties">
<operation name="add">
<input message="tns:AddInputMessage"/>
<output message="tns:AddOutputMessage"/>
</operation>
<operation name="subtract">
<input message="tns:SubtractInputMessage"/>
<output message="tns:SubtractOutputMessage"/>
</operation>
<operation name="getValueRP">
<input message="tns:GetValueRPInputMessage"/>
<output message="tns:GetValueRPOutputMessage"/>
</operation>
</portType>
</definitions>

10.2.2.

Bc 2: Thc thi dch v.

Trong khi bc nh ngha giao din cho bit dch v lm nhng ci g? th


bc ny thc thi dch v cho bit dch v lm nh th no? Sau y l cc thnh
phn ca bc thc thi dch v
a- Thnh phn Qnames
Trong dch v Grid, QName l mt tn bao gm tn ca namespace v tn
local. V d QName ca Value RP l:
{http://www.globus.org/namespaces/examples/core/MathService_instance}Valu
e
S dng lp MathQNames nh ngha rt gn QName.

70

package org.globus.examples.services.core.first.impl;
import javax.xml.namespace.QName;
public interface MathQNames {
public static final String NS =

"http://www.globus.org/namespaces/\

examples/core/MathService_instance";
public static final QName RP_VALUE = new QName(NS, "Value");
public static final QName RP_LASTOP = new QName(NS, "LastOp");
public static final QName RESOURCE_PROPERTIES = new
QName(NS,"MathResourceProperties");
}

b- Thc thi dch v


Lp MathService thc thi dch v:
public class MathService implements Resource, ResourceProperties{
}

MathService thc thi 2 giao din l Resource (m t ti nguyn dch v Grid)


v ResourceProperties (m t cc thuc tnh ti nguyn dch v Grid).
Ti nguyn dch v gm 2 thnh phn: Value: kiu xsd:int v LastOp: kiu
xsd:string.
/* Resource properties */
private int value;
private String lastOp;

Cc php ton: ly gi tr v t gi tr c thc thi nh sau:


/* Get/Setters for the RPs */
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getLastOp() {
return lastOp;
}

71

public void setLastOp(String lastOp) {


this.lastOp = lastOp;
}

Cc gi tr thuc tnh ca ti nguyn dc khi to trong constructor ca lp


MathService:
/* Constructor. Initializes RPs */
public MathService() throws RemoteException {
this.propSet = new SimpleResourcePropertySet(
MathQNames.RESOURCE_PROPERTIES);
try { /* Initialize the RP's */
ResourceProperty valueRP = new ReflectionResourceProperty(
MathQNames.RP_VALUE, "Value", this);
this.propSet.add(valueRP);
setValue(0);
ResourceProperty lastOpRP = new ReflectionResourceProperty(
MathQNames.RP_LASTOP, "LastOp", this);
this.propSet.add(lastOpRP);
setLastOp("NONE");
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}

Hm add() v getValueRP() thc thi cc php ton cng v ly gi tr:


public AddResponse add(int a) throws RemoteException {
value += a;
lastOp = "ADDITION";
return new AddResponse();
}

72

public int getValueRP(GetValueRP params) throws RemoteException {


return value;
}

10.2.3.

Bc 3: nh ngha vic trin khai dch v.

Hai bc quan trng lp trnh mt dch v Grid c tin hnh bao gm


nh ngha v thc thi dch v. Vy lm th no cc Client c th kt ni vi dch
v ny? Bc 3 s thc hin cng vic . nh ngha vic trin khai dch v ni cho
Grid container (l thnh phn cha cc dch v Grid, c trong b cng c Globus
Toolkit 4.0) bit c lm th no qung b dch v Math Service ny. Chng hn
nh ni cho Grid container bit c a ch URI ca dch v. Tp nh ngha vic
trin khai nh sau:
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultServerConfig"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<service name="examples/core/first/MathService" provider="Handler" use="literal"
style="document">
<parameter name="className"
value="org.globus.examples.services.core.first.impl.MathService"/>
<wsdlFile>share/schema/examples/MathService_instance/Math_service.wsdl</wsdlFile>
<parameter name="allowedMethods" value="*"/>
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="scope" value="Application"/>
<parameter name="providers" value="GetRPProvider"/>
<parameter name="loadOnStartup" value="true"/>
</service>
</deployment>

Cc thnh phn c nh ngha bao gm:


service name: xc nh a ch URI ca dch v trong Grid container. y l:
http://localhost:8080/wsrf/services/examples/core/first/MathService

73

className: xc nh lp thc thi giao din dch v


tp WSDL: xc nh tp nh ngha giao din dch v wsdl
Load on startup: cho php dch v c np khi khi ng Grid container

10.2.4.

Bc 4: Bin dch v to tp GAR

cc bc trn, mi khi hon thnh mi bc li to ra mi loi thnh phn


ring r. Vy lm th no trin khai c cc thnh phn vo trong Grid
container cng nh bin dch cc tp thc thi Java. Bc ny s thc hin vic to tp
nn GAR cha cc thnh phn trn. Chc nng ca tp GAR:
Lin kt cc tp wsdl
Khi to v bin dch cc lp t cc thnh phn trong tp wsdl
Bin dch cc tp thc thi Java
T chc cc tp li vi nhau trong mt cu trc ng dn xc nh.
Cng c Ant (c trong phn mm Apache Ant ci t) c chc nng bin dch v
to tp GAR t cc thnh phn trn. M hnh sau y m t chc nng ca Ant.

74

Hnh 24: Chc nng to tp GAR ca cng c Ant


to tp GAR, ta dng script globus-build-service c trong b Globus
Service Build Tools (GSBT) ti http://gsbt.sourceforge.net/ . Cu trc dng lnh to
tp GAR nh sau:
./globus-build-service.sh -d <ng dn ti dch v> -s <tp WSDL ca dch v>
i vi Math Service, dng lnh nh sau:
./globus-build-service.sh \
-d org/globus/examples/services/core/first/ \
-s schema/examples/MathService_instance/Math.wsdl

10.2.5.

Bc 5: Trin khai dch v

y l bc trin khai dch v trong Grid container. Vic trin khai dch v
vo trong Grid container tng ng vi vic bung tp nn GAR c to ra bc
4 v a cc thnh phn thch hp vo Grid container. Thc hin dng lnh sau:
globus-deploy-gar $EXAMPLES_DIR/org_globus_examples_services_core_first.gar

75

xa b dch v trong Grid container, dng lnh globus-undeploy-gar:


globus-undeploy-gar org_globus_examples_services_core_first

10.3. Chy th chng trnh Math Service


Sau khi trin khai dch v Math Service vo Grid container, khi ng Grid
container bng lnh: globus-start-container, dch v s bt u hot ng. Nhn bit
dch v hot ng bng a ch URI ca dch v:
http://127.0.0.1:8080/wsrf/services/examples/core/first/MathService
kim tra hot ng ca dch v, ta vit mt Client n gin, gi yu cu
n dch v Math Service thc hin cc php ton: cng, tr v ly gi tr. Lp Client
c vit nh sau:
public class Client {
public static void main(String[] args) {
MathServiceAddressingLocator locator = new MathServiceAddressingLocator();
try {
String serviceURI=args[0];
EndpointReferenceType endpoint = new EndpointReferenceType();
endpoint.setAddress(new Address(serviceURI));
MathPortType math = locator.getMathPortTypePort(endpoint);
math.add(10); // Perform an addition
math.add(5); // Perform another addition
// Access value
System.out.println("Current value:" + math.getValue(new GetValueRP()));
// Perform a subtraction
math.subtract(5);
// Access value
System.out.println("Current value:" + math.getValue(new GetValueRP()));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Cc i tng chnh:

76

EndpointReferenceType: l i tng tham chiu n a ch ca ti nguyn dch


v.
MathPortType: l i tng tham chiu n giao din (gi l portType) ca dch v.
Chng trnh trn s thc hin php cng 10, cng 5, in ra kt qu, sau tr
5 v in ra kt qu. Bin dch v chy tp Client, ta c kt qu:
Current value: 15
Current value: 10

Chy chng trnh ln th 2, ta c kt qu:


Current value: 25
Current value: 20

Chng t kt qu tnh ton ln thc hin cui cng u c lu vo ti nguyn ca


dch v Grid.

77

Chng 11.
nguyn t

T xy dng mt dch v Grid: Bi ton s

chng 10, chng ti m t cc bc lp trnh cng nh chy th nghim


mt chng trnh c sn l: Math Service. Tuy nhin, Math Serivce l mt chng
trnh mang tnh th nghim, khng c ng dng g trong thc tin. Trong chng ny,
chng ti s pht trin chng trnh ring ca mnh, phc tp hn v c ngha ng
dng trong thc tin, l chng trnh S nguyn t.
S nguyn t l s nguyn ln hn 1, ch chia ht cho 1 v chnh n. S nguyn t
khng ch l s c ngha ln trong lnh vc ton hc m cn c ngha quan trng
trong lnh vc cng ngh thng tin, c bit l vn bo mt v m ho. Mi t chc
u mun s dng mt s nguyn t ring, ln m bo b mt trong vic m
ho thng tin ni b. Vy, lm th no tm c s nguyn t ln m bo yu
cu ?
Vic tm mt s nguyn t nh l khng kh. Phng php n gin nht l
dng sng Eratosthenes. Vi phng php ny, kim tra s nguyn n c phi l s
nguyn t hay khng, ta kim tra n c chia ht cho s nguyn k t 2 n [ n ]+1 hay
khng? Nu n khng chia ht cho mi k i (i =

2, [ n ] 1 )

th n l s nguyn t. Ngc

li, n l hp s.
Tuy nhin, vic tm s nguyn t ln (khong t 30 ch s tr ln) khng phi
l n gin. Bi v cng vic ny sinh mt s vn sau y:
Vn 1: Lm th no tm c s nguyn t ln cng nh chng minh tnh
nguyn t ca s khi m cc phng php duyt thng thng khng cn kh thi.
Vn 2: Thi gian cn thit hon thnh vic tm kim v kim tra mt s
nguyn t l rt ln. Mc d ngy nay c s h tr ca my tnh in t, nhng vic
tm cc s nguyn t c hng triu ch s phi mt n hng nghn nm. Chng hn,
s nguyn t ln nht hin nay l s c khong 9,1 triu ch s. Vi mt my tnh
Pentium 4 thng thng, phi mt khong 4500 nm tm c s ny (Theo:
George Woltman - mt lp trnh my tnh ca Great Internet Mersenne Prime Search
(GIMPS); thng tin t:
http://www.gridcomputingplanet.com/news/article.php/3573946).

78

V vy, chng ti pht trin bi ton Tm s nguyn t Mersenne trn mi


trng Grid Computing vi hi vng c th gii quyt c cc vn trn trong thi
gian chp nhn c.
Vi vn 1, chng ti khng thc hin vic tm kim cc s nguyn t thng
thng. Thay vo , chng ti tm cc s nguyn t dng Mersenne.
nh ngha 1: Nu n l s nguyn c dng: 2 p - 1 ( p , p 1 ) th n gi l s
Mersenne.
nh ngha 2: S nguyn n gi l s nguyn t Mersenne nu: n l s Mersenne
ng thi l s nguyn t.
tm mt s nguyn t Mersenne, chng ti tm hiu v la chn thut ton
thch hp.
Vi vn 2, chng ti khng thc thi bi ton trn mt my tnh m s dng
gii php Grid Computing thc thi bi ton trong mng Grid Computing gm nhiu
my tnh khc nhau. Grid Computing l mt lnh vc kh mi m nc ta hin nay.
c xem nh l mt siu my tnh gi r, Grid Computing ang c pht trin
rng ri cho cc t chc trn th gii.
Hin nay, trn th gii c mt s t chc ng dng Grid Computing trong bi ton
Tm s nguyn t. Tiu biu l Great Internet Mersenne Prime Search (GIMPS). Tuy
nhin, trong m hnh bi ton ca h a ra cn c mt s vn nh l: thi gian tm
kim lu, m hnh phn chia cng vic cha hp l trong vn x l song songVi
nhng thch thc , chng ti c gng a mt gii pht Tm s nguyn t dng s
nguyn t Mersenne trn Grid hy vng c c mt gii php tt.

11.1. Gii thiu cng c pht trin


chng 10, chng ti trnh by qu trnh xy dng mt dch v Grid gm
cc bc: nh ngha giao din, thc thi dch v, cu hnh vic trin khai dch v, to
tp nn GAR v trin khai dch v Grid trong Grid container. Trong mi bc, ngi
lp trnh phi to ra cc tp ng vi cc chc nng nht nh. V d, bc nh ngha
giao din, to cc tp .wsdl nh ngha giao din dch v web; Bc thc thi dch
v, to cc tp .java thc thi dch vCui cng, ngi lp trnh lin kt vi cc
th vin Globus Toolkit bin dch cc tp, nn thnh tp GAR v trin khai dch v.
Qu trnh ny c v n gin khi xy dng mt chng trnh dch v Grid n gin.
Tuy nhin, i vi cc chng trnh dch v Grid phc tp s gy kh khn cho ngi

79

lp trnh trong vic vit chng trnh v sa li. N i hi ngi lp trnh mt nhiu
thi gian vit cc tp, tm kim v pht hin li.
Kh khn trn i hi phi c cng c h tr nhng ngi pht trin dch v Grid.
Chng ti gii thiu mt trong cc cng c . GT4IDE l mt cng c h tr c lc
cho ngi pht trin dch v Grid trn nn ngn ng Java.

11.1.1.

Gii thiu cng c GT4IDE

GT4IDE l mt khung lm vic, h tr vic pht trin cc dch v Grid


Serivice 4.0 trn nn ngn ng Java. GT4IDE l mt plug-in ca Eclipse - mt IDE
ca Java, pht trin c lp trn cc mi trng.
Chc nng ca GT4IDE gm c:
1 - Tng tc vi cc th vin ca Globus Toolkit 4.0, to project Globus Toolkit 4.0
pht trin cc dch v Grid trn nn ngn ng Java
2 - T ng to cc tp cn thit trong mt project Globus Toolkit nh: tp wsdl - m
t giao din; tp .java - thc thi dch v
3 - Cng vi Eclipse, kh nng pht hin v sa li ca GT4IDE l kh tt.
4 - T ng bin dch, to tp GAR cho mt project Globus Toolkit 4.0.
Vi cc chc nng , GT4IDE l mt cng c rt hu ch cho cc nh pht trin cc
dch v Grid Serivce 4.0

11.1.2.

Ci t GT4IDE

GT4IDE l mt plug-in ca Eclipse. Trc khi ci t GT4IDE phi ci t


Globus Toolkit 4.0 v Eclipse
Globus Toolkit 4.0 c trnh by chng trc.
Ci t Eclipse
o Download ti: http://download.eclipse.org/eclipse/downloads/index.php
o Gii nn tp zip vo th mc bt k.
o Cu hnh Eclipse vi JDK
Ci t GT4IDE
o Download GT4IDE ti: http://gsbt.sourceforge.net/content/view/27/47/

80

o GT4IDE gm 2 gi binary: mt cho JDK1.4 v mt cho JDK1.5.


Download gi tng ng vi phin bn JDK trn h thng ca bn.
o Ci t GT4IDE: gii nn tp nn vo th mc ch ca Eclipse.
o Cu hnh GT4IDE:
Khi chy Eclipse, xut hin ca s hi v ng dn th mc ch ca Globus
Toolkit 4.0

Hnh 25: Ca s cu hnh ng dn GT4


Cu hnh li cc thng s ca Globus Toolkit trong ca s Preferences ca Eclipse

Hnh 26: Ca s cu hnh GT4 Preferences

11.2. To project GT4 vi GT4IDE


Vic to mt project mi c th thc hin vi chc nng File -> New -> Project...
-> GT4 Project

81

Hnh 27: Ca s to mt project GT4


o Project Name: Nhp tn project
o Create first Service: nh du to project mi
Tip tc vi ca s la chn cc thng s v dch v:

Hnh 28: Ca s la
chn thng s cho
mt project
Trong :
Base
Package: l
gi cha cc
lp, cc thnh phn ca dch v
Base Target Namespace: l namespace ca tp m t giao din wsdl
Name of Interface/PortType: tn Interface ca dch v Grid
Service Path: l a ch URL ca dch v Grid
Design Pattern: C 2 la chn:

82

Singleton with ServiceResourceHome: chn dch v n ti nguyn


Factory/Instance: chn dch v a ti nguyn
Provide implementation skeleton:
o Chn Yes, using ReflectionResourceProperties
Giao din y ca mt chng trnh dch v Grid vi GT4IDE nh sau

Hnh 29: Giao din chnh ca chng trnh GT4IDE vi Eclipse

11.3. Thut ton tm s nguyn t Mersenne


Phn ny trnh by cc khi nim v thut ton lin quan n s nguyn t
Mersenne. Hin nay c kh nhiu thut ton tm s nguyn t dng Mersenne, chng
ti so snh cc thut ton v la chn thut ton thch hp nht. Ni dung chnh ca
chng ny gm hai phn:
Cc khi nim v mnh : Trnh by mt s khi nim v s nguyn t Mersenne,
cc mnh v chng minh cc mnh
Cc thut ton: Gii thiu mt s thut ton tm s nguyn t dng Mersenne.
La chn thut ton: Chng ti la chn mt thut ton thch hp s dng trong
chng trnh.

83

11.3.1.

Cc khi nim v mnh

a- Mt s khi nim
S Mersenne: L s nguyn c dng 2p-1, p N.
Nhng s Mersenne u tin : 1, 3 , 7, 15, 31, 63, 127, 255, 511...
S nguyn t Mersenne : l s nguyn t c dng Mersenne.
V d: 3, 7, 31 v 127 l nhng s nguyn t Mersenne tng ng vi p= 2, 3, 5, 7.
b- Cc mnh
Mnh 1: Nu 2p-1 l s nguyn t th p l s nguyn t.
Chng minh:
Gi s p l hp s, tc l p c dng p= r * s, vi r, s N; r, s > 1.
Khi ta c: 2p-1= 2rs-1=(2s-1) * (2s(r-1) + 2s(r-2) + ... + 2s + 1)
2rs-1 chia ht cho (2s-1),
2rs-1 hay 2p-1 cng l hp s, mu thun vi gi thit.
Mnh c chng minh.
Ch : iu ngc li khng ng, p l s nguyn t th 2 p-1 cha chc l s
nguyn t.
Mnh 2: Gi s X1... Xn-1Xn vi Xi {0, 1} l biu din nh phn ca p
Gi

N0= 1

Ni =

(Ni-1)2 mod k

nu Xi = 0

2(Ni-1)2 mod k

nu Xi = 1

Ta c: Nn l s d trong php chia 2p cho k


H qu 1: Nu Nn = 1 th 2p - 1 chia ht cho k

11.3.2.

Mt s thut ton tiu biu

Th tha s (Trial Factoring): L thut ton s dng Mnh 2 tm s d khi


chia 2p cho k.
Thut ton:

84

Vi u vo l s m p, v s b chia k. Thut ton Trial factoring tm s d


ca 2p-1 cho k nh sau
o Bc 1: N:= 1, X:= 0
o Bc 2: Tm biu din nh phn ca p: X0, X1, Xm-1
o Bc 3: Lp
For i := m - 1-> 0
X:= getBit(p,i); // tnh bit th i
Nu X = 0 th

N = (N* N) mod k

X = 1 th N = 2(N* N) mod k
o Bc 4 : tr v gi tr ca N
V d c th :
Vi p= 23 v k= 47 ta thc hin nh sau:
p = 23 dng nh phn l 10111
Bnh phng Ly bit tri p cn li
1*1 = 1

2*2 = 4

4*4 = 16

0111 1*2 = 2
111 No
11 16*2 = 32

32*32 = 1024 1
27*27 = 729

nhn vi 2(optional) mod 47

1 1024*2 = 2048
(ht bit)

729*2 = 1458

2
4
32
27
1

o N0=1
o u tin vi 10111, ta tch bit tri nht, v bit ny = 1 nn ly N 02*2 mod
47 c N1= 2.
o Vi 0111 bit tri cng l 0 nn ly N12 mod 47 c N2=4.
o C lm tip tc ta c N5=1.
o Theo h qu 1 => 223-1 khng phi s nguyn t.
S thut ton:

85

N=1, X = 0

m =countBit(p);
I = m - 1;

False
Return N;

I >=0

True
X = getBit(p,I);
I = I - 1;

False

True
X ==0

N = (N* N) mod k

N = 2(N* N) mod k

S thut ton Trial Factoring


P-1 Factoring
C mt phng php phn tch tha s khc m GIMPS s dng trnh thi
gian kim th . Phng php ny c gi l phng php Pollards P-1. Nu q l mt
tha s ca mt s, phng php P-1 s tm tha s q nu q-1 l mt hp s.
Phng php ny khi thc hin vi s Mersenne t ra c bit hiu qu. Lu rng,
tha s q c dng 2kp+1. C th d dng sa i phng php P-1 n tm q nu k l
hp s.
Phng php P-1 rt n gin. u tin, chn gii hn B1. P-1 s tm tha s
q vi tt c cc tha s ca k < B1. Th hai, tnh E , tch ca tt c cc tha s nh hn
B1. Th ba, tnh x = 3E*2*P. Cui cng, kim tra GCD(x-1,2p-1) xem tha s
tm thy.

86

Lucas-Lehmer
nh l Lucas-Lehmer: Vi P>2, 2p-1 l s nguyn t khi v ch khi Sp-2=0, vi dy S
c nh ngha nh sau:
S0=4,, SN=(SN-12 - 2) mod (2P-1).
V d: chng minh 27-1 l s nguyn t:
S0 = 4
S1
=
(4
*
4
S2
=
(14
*
14
S3
=
(67
*
67
S4
=
(42
*
42
S5 = (111 * 111 - 2) mod 127 = 0.

2)
2)
2)
2)

mod
mod
mod
mod

127
127
127
127

=
=
=
=

14
67
42
111

thc hin c kim tra Lucas-Lehmer mt cch hiu qu, vic u tin l
phi tm cch nhanh nht tnh bnh phng ca mt s rt ln modulo 2 p-1. Phng
php nhanh nht tnh bnh phng ca mt s rt ln l phn nhng s ln thnh
nhng mng, sau thc hin Fast Fourier Transform (TFT) v Inverse Fast Fourier
Transform (IFFT).
Kim tra kp (Double Checking)
bo m ln thc hin u tin ca Lucas-Lehmer khng xy ra li,
GIMPS chy kim th thm mt ln na. Trong mi ln test, 64bits thp ca S p-2,
phn cn li, c in ra. Nu chng trng nhau, GIMPS xc nhn kim tra kp. Nu
chng khng trng nhau, qu trnh th c lp li cho n khi trng nhau.

11.3.3.

La chn thut ton

Trong cc thut ton ni trn th thut ton th tha s (Trial Factoring) ci t


nhanh, n gin, v c tc tnh ton cao v vy chng ti s dng thut ton ny
thc hin chng trnh tm s nguyn t trong mng Grid Computing.

11.4. Phn tch v thit k bi ton


11.4.1.

M t h thng
Phn ny trnh by cc vn v:

Mc ch ca bi ton

87

M hnh hot ng ca bi ton trong mng Grid


M hnh phn chia cng vic
D liu ti nguyn
a- Mc ch ca bi ton
Mc ch ca bi ton l tm cc s nguyn t n c dng n = 2 p - 1 (p N, p >
1). Tn dng cc u th ca Grid Computing v tnh ton song song v phn tn d
liu, yu cu t ra cho bi ton l tm c cc s nguyn t ln cng nh chng
minh tnh nguyn t ca cc s trong mt khong thi gian chp nhn c.
b- M hnh hot ng ca bi ton trong mng Grid
H thng hot ng trong mt mng Grid Computing bao gm mt my cung
cp dch v Server v cc my cn li Client tham gia tnh ton.
Yu cu thc hin
cng vic

Server

Tr li kt qu

Client 1

Client m

Hnh 30: S m t m hnh bi ton trong mng Grid


Chc nng ca Server l qun l cc ti nguyn tnh ton, iu phi hot ng ca
cc Client trong mng, tm kim cng vic v yu cu Client gii quyt cng vic.
Chc nng ca Client l gii quyt cng vic v tr li kt qu cng vic cho
Server.
c- M hnh Phn chia cng vic
Vi m hnh trn, vic Tm s nguyn t s khng thc thi trn mt my
tnh m c thc thi ng thi bi nhiu my tnh trong mng Grid. Do , gii php
phn chia cng vic cho cc my tnh cng tnh ton l rt quan trng. Chng ti a
ra cc khi nim cng vic v cng vic con trong bi ton Tm s nguyn t
nhm mc ch m t gii php .

88

Cng vic
Ta gi mt cng vic p l cng vic xc nh 2 p - 1 c phi l s nguyn t hay
khng.
Cng vic con
thc hin cng vic p, ta tin hnh kim tra 2p - 1 k hay khng?
k=2

2 p 1] 1

=q

Cng vic ny c th chia thnh m cng vic con


p1

k = 2 k1

p2

k = k1+1

k2

.
pm

k = km-1+1 q

V d: Cng vic p vi p = 5, n = 2 5 - 1 = 31, q = [n] + 1 = 6 c th c chia thnh 2


cng vic con:
p1

k = 24

p2

k = 56

Mi khong k gm 2 cn u v cui gi l kd (k u) v kc (k cui).


M hnh phn chia cng vic
Cng vic
Tp s b chia con 1

Cng vic con th 1

Tp s b chia con m

Cng vic con th m

Hnh 31: S m t m hnh phn chia cng vic


d- D liu ti nguyn
Ti nguyn l tp hp cc d liu m t cc thnh phn d liu ca Client
tham gia vo mng Grid. Cc ti nguyn c t trn my Service v c Service
qun l (khi to, cp nht hay thu hi). Mi Client khi tham gia vo mng c

89

Serivce cp pht mt ti nguyn cng vi kho ring (unique key) xc nh ti nguyn


vi cc ti nguyn khc trong mng.
Trong bi ton Tm s nguyn t, mi ti nguyn cha tp d liu gm hai
thnh phn:
- time: kiu long, l d liu lu tr thi gian m Client mi cp nht
- data: kiu string, l d liu lu tr tp cc thnh phn p, k, kd, kc-trong p l s
m, k l s b chia ang c client tnh ton, kd l s nguyn u tin ca khong
c cp pht, kc l s nguyn cui ca khong c cp pht -theo nh dng
p:k:kd:kc.

11.4.2.

Phn tch h thng

H thng gm 2 phn: Service v Client. Service l mt Grid service ng vai


tr qun l ti nguyn tnh ton v iu phi hot ng ca cc Client. Client ng vai
tr l mt Client thc thi cng vic v tr li kt qu cho Service.
a- Service
Cc chc nng chnh ca service
m bo cho h thng hot ng mt cch ng n, Service phi qun l
cc trng thi v hot ng ca tt c cc Client trong mng. Chc nng ca Service
gm c:
1 - Qun l cc ti nguyn: khi to ti nguyn qun l trng thi ca client, cp nht
cc trng thi ca client, thu hi ti nguyn khi client khng cn tham gia vo mng.
2 - Tm kim v phn phi cc cng vic con khi c yu cu t Client
3 - Pht hin cc Client khng cn tham gia vo mng
Cc thnh phn ca Service
PrimeFactoryService: l dch v to ti nguyn cho mi client.
PrimeResource: Cha ti nguyn ca client, bao gm tp cc d liu ca ti nguyn
PrimeResourceHome: qun l tt c cc ti nguyn cng vi cc kho ring tng
ng vi ti nguyn .
PrimeService: L dch v th hin (instance) ca Service. y l thnh phn c vai
tr quan trng trong h thng. Chc nng ca PrimeService bao gm:

90

o Qun l v iu khin mi hot ng ca chng trnh


o p ng cc yu cu t Client
M hnh cc thnh phn ca Service

Yu cu to
ti nguyn

To
PrimeFactoryService

PrimeResource

Yu cu tm
kim ti nguyn

Client
PrimeService

Qun l
PrimeResouceHome

Hnh 32: S m t hot ng ca Service

Hnh 33: Biu m t hot ng ca vic to ti nguyn

91

Hnh 34 : Biu m t hot ng ca vic ly d liu


b- Client
Chc nng ca Client
n gin hn so vi Service, chc nng ca Client gm c:
Yu cu cng vic con
Thc hin cng vic con
Tr li kt qu cho Service khi hon thnh cng vic con
Cp nht thi gian hot ng ca Client sau mt chu k nht nh
Cc thnh phn ca Client
PrimeClient: l chng trnh chnh ca Client thc hin cc chc nng trn
PrimeData: lu tr cc d liu tnh ton

11.4.3.

Thit k h thng

Trong phn ny s m t thit k cc d liu, i tng m nhn cc chc


nng nu trong phn Phn tch h thng.
a- M hnh cc i tng trong Service

92

PrimeService

PrimeResouceHome
+ resouces
create()
getResouces()

+ newp
+ pkcm
+ home
getResouce()
getDataRP()
findData()
getResourceTimeoutKey()
getNewJob()
findDataOnceResouce()
findDataResouceTimeout()
findDataMutilResouces()
notPrime()

PrimeResource
+ id
+ data
+ time

PrimePKC
+p

isTimeout()

+ kcm

create()
updateTime()
PrimeFactoryService

PrimePKC()
PrimeConstants

createResource()

+ TIMEOUT
+ K_LENGHT

Hnh 35: S biu th mi quan h gia cc i tng trong Service


b- Cc lp trong Service
Lp PrimeResource:
Lp lu tr cc trng thi ca client
Cc thnh phn d liu v phng thc
D liu / Phng thc

Kiu

Ch thch

id

Object

id ca ti nguyn, xc nh ti nguyn duy


nht

data

String

Cha tp trng thi ca ti nguyn, gm p,


k, kd, kc. L xu c nh dng p:k: kd: kc.

93

Trong n = 2p-1 l s cn kim tra tnh


nguyn t. k l s ln nht trong khong [kd ,
kc] c kim tra. Khong [kd , kc] l
khong s cn c kim tra tnh chia ht
ca n.
isTimeout()

Boolean

Xc nh Client tng ng vi ti nguyn


ny timout hay cha

create()

Object

To mt ti nguyn mi

updateTime()

Void

Cp nht thi gian time khi c yu cu t


Client

Lp PrimeResourceHome
Chc nng ca lp ny l to mt ti nguyn mi
Cc thnh phn d liu v phng thc
D liu / Phng thc

Kiu

Ch thch

resources

HashTable

Mng bm cha thng tin


cc resources, gm key v
PrimeResource tng ng

create()

ResourceKey

To mt ti nguyn mi v
tr v key tng ng

getResources()

HashTable

Ly gi tr ca resources

Lp PrimeFactoryService
Chc nng ca lp ny l yu cu PrimeResouceHome to mt ti nguyn mi
Cc thnh phn d liu v phng thc
D liu /Phng thc

Kiu

Ch thch

createResouce()

CreateResourceResponse To mt ti nguyn mi

khi c yu cu t client
Lp PrimePKC

94

L lp lu tr danh sch cc s m p ang c tnh ton v s kc tng ng vi p,


kc l khong cui ca s b chia k c cp pht. Vic lu tr 2 gi tr ny c tc dng
xc nh cng vic con tip theo tng ng vi s p.
Cc thnh phn d liu v phng thc
D liu /Phng thc

Kiu

Ch thch

Int

S m p

kcm

Int

S kc ln nht c cp
pht tng ng vi p

PrimePKC()

Constructor khi to cc
gi tr ca lp

Lp PrimeService
Chc nng ca lp ny l thc thi cc hot ng ca dch v
Cc thnh phn d liu v phng thc
D liu /Phng thc

Kiu

Ch thch

Newp

Int

L s m p mi c cp
pht

Pkcm

Vector

L mng lu tr danh sch


cc i tng PrimePK

Home

PrimeResourceHome

i
tng
PrimeResourceHome qun
l cc ti nguyn

getResouce()

PrimeResource

Ly ti nguyn tng ng vi
Client yu cu ti nguyn

getDataRP()

String

Ly d liu thuc tnh ca ti


nguyn

findData()

String

Hm ny tm kim cng vic


con v tr v xu dng
p:k:kd:kc

findDataOnceResouce()

String

Hm tm kim cng vic con


trong trng hp ang ch c
1 ti nguyn trn Service.

findDataResouceTimeout()

String

Hm tm kim cng vic con


trong trng hp c Client

95

khng cn tham gia mng.


findDataMutilResouces()

String

Hm tm kim cng vic con


trong trng hp c nhiu ti
nguyn v khng c client
no timeout

getResourceTimeoutKey()

ResourceKey

Hm kim tra Client timeout


v tr v key ca ti nguyn
tng ng vi Client (nu
khng c th tr v null)

getNewJob()

String

Hm ly cng vic mi

notPrime()

NotPrimeResponse

Hm c gi khi Client
thng bo hp s.

Lp PrimeConstants
L lp cha cc hng s dng trong chng trnh
Cc thnh phn d liu v phng thc
D liu /Phng thc

Kiu

Ch thch

TIMEOUT

Long

Thi gian xc nh Client timeout tnh theo giy

K_LENGHT

Int

di ca khong s b chia trong mt


cng vic con

c- M hnh cc i tng trong Client

96

Thread

StartListener

StopListener

actionPerformed()

actionPerformed()
JobThread
actionPerformed()

PrimeClient

+ timer
+ timeFreq
+ prime

PrimeData

doStart()
Eratosthenes()
trialFactoring()
doJob()
main()
initWindowComponents(
)

+p
+k
+ kd
+ kc

Hnh 36: S biu th mi quan h gia cc i tng trong Client


d- Cc lp trong Client
Lp StartListener
L mt Thread, x l s kin khi click Start Button
Lp StopListener
L mt Thread, x l s kin khi click Stop Button
Lp JobThread
L mt Thread, thc thi vic gii quyt cng vic.
Lp PrimeClient
L lp chnh ca Client, thc thi cng vic

97

Cc thnh phn d liu v phng thc


D liu /Phng thc

Kiu

Ch thch

Timer

Timer

Xc nh thi gian thc

timeFreq

Long

L chu k thi gian(tnh theo giy) m


Client yu cu Service cp nht thi
gian

Prime

PrimePortType

i tng chnh tng tc vi Service

doStart()

Void

Hm c gi khi bt u chy client

Eratosthenes()

boolean

Hm kim
nguyn t
php sng
true nu p
ngc li.

trialFactoring()

boolean

Hm kim tra n = 2p - 1 c chia ht cho


k hay khng bng phng php Trial
Factoring. Hm tr v true nu n chia
ht cho k, false nu ngc li

doJob()

void

Hm c gi khi thc thi cng vic

Main()

void

Hm chnh ca chng trnh

initWindowComponents()

Void

Hm khi to cc gi tr giao din


ha ca chng trnh.

tra mt s p c phi l s
hay khng bng phng
Eratosthenes. Hm tr v
l s nguyn t, false nu

11.5. Kt qu th nghim
11.5.1.

Vit m chng trnh

Qua mt thi gian tm hiu, chng ti bt tay vo vit chng trnh Tm s


nguyn t. Chng trnh ny c chng ti hon ton t vit. Di y l mt s
on m inteface ca chng trnh.

98

public interface PrimeService


{

public String getDataRP(GetDataRP params) throws RemoteException;


public SetTimeRPResponse setTimeRP(long time) throws
RemoteException;
public SetTimeRPResponse setTimeRP(long time) throws
RemoteException;
.
}
public interface PrimeResource
{

public void setK(int k);


public int getP();
public long getTime();
public void setTime();
public void updateTime();
public boolean isTimeout();
.
}

99

11.5.2.

Giao din ca chng trnh client:

Hnh 37: Giao din chng trnh Client

11.5.3.

Bin dch v chy chng trnh


Phn ny m t vic bin dch v th nghim chng trnh S nguyn t.

a- Bin dch v chy dch v


bin dch dch v, trong mi trng GT4IDE, click vo biu tng STUB to
cc stub classes. Sau click vo biu tng GAR bin dch v to tp GAR.
Tp prime.gar c to ra l tp nn ca dch v.
Trin khai dch v:
[globus]# globus-deploy-gar prime.gar
Chy dch v:
[globus]# globus-start-container -nosec
b- Bin dch v chy Client
Trong khi dch v ang chy, m mt ca s mi
bin dch, dng lnh:

100

[auser1]# cd PrimeService/src
[auser1]# . compile
chy, thc thi tp bat
[auser1]# . run
c- Kt qu
Chng ti th nghim chng trnh trn 1 my tnh v thu c kt qu sau:
S nguyn t

Thi gian (giy)

22-1

0.01

23-1

0.01

25-1

0.02

27-1

0.3

213-1

217-1

219-1

28

Hnh nh minh ho:

Hnh 38: Kt qu t c sau khi chy th nghim

101

11.6. Kt lun v bi ton S nguyn t


Chng trnh Tm s nguyn t nhn chung gii quyt c cc vn
t ra trn. Bi ton c th c ng dng trong thc t tm c cc s nguyn
t ln, gp phn ng gp trong lnh vc bo mt, m ho cho cc t chc, cng ty
nc ta hin nay. Tuy nhin, bi ton Tm s nguyn t khng ch dng li . M
hnh bi ton v thut ton hon ton c th c ci tin tng hiu nng tnh ton.
Trong thi gian sp ti, chng ti s nghin cu v a ra m hnh, thut ton ti u
hn, c th tm c s nguyn t ln hn trong mt thi gian ngn hn.

102

Kt lun
Kha lun h thng ha mt s cng ngh, chun v Grid Computing, v
cc yu cu c bn ca mt mng li tnh ton, ng thi trnh by, phn tch v th
nghim quy trnh pht trin ng dng trn mi trng mng li da trn nn tng l
b cng c Globus Toolkit. Qua chng ti nhn c kt qu bc u rt kh
quan, lm ch c quy trnh pht trin, trin khai ng dng trn mi trng mng
li.
Trn c s v quy trnh pht trin, v ng dng tm s nguyn t Merssene
chng ti d nh s tip tc nghin cu hon thin chng trnh tm s nguyn t
Merssene cng nh b xung cc vn mang tnh l thuyt v thc tin v phn chia,
lp lch cng vic, v an ninh, bo mt trn mi trng mng li. Chng ti hi vng
s gp phn vo qu trnh xy dng mt cng ng nghin cu, pht trin v s dng
Grid Vit Nam.

103

Ti liu tham kho


[1] Ahmar Abbas. Grid Computing: A Practical Guide to Technology and
Applications. Charles River Media, 2003.
[2] B.Jacob, M.Brown, K.Fukui, N.Trivedi. Introduction to Grid Computing. IBM
Redbook, 2005.
[3] Borja Sotomayor. The Globus Toolkit 4 Programmer's Tutorial. University of
Chicago, 2005.
[4] Jarek Gawor, Sam Meder. GT4 WS Java Core Design. Globus Alliance, 2004.
[5] Jennifer M. Schopf, Jan We Glarz, Jarek Nabrzyski. Grid resource management State of the Art and Future Trends. Springer, 2003.
[6] Joshy Joseph, Craig Fellenstein. Grid Computing. IBM Press, 2003.
[7] Maozhen Li, Mark Baker. The Grid Core Technologies. John Wiley & Son, 2005
[8] Web site: http://www.toantin.org. Grid fundamental
[9] Web site: http://gsbt.sourceforge.net/content/view/12/29/. GT4IDE
[10] Web site: http://primes.utm.edu. Primes
[11] Web site: http://www.mersenne.org/. Mersenne and GIMPS project
[12] Web site: http://www.onjava.com/pub/a/onjava/2002/08/28/wsdc.html. Search for
really big prime number

104

You might also like