Professional Documents
Culture Documents
Nghiên Cứu Phát Triển Ứng Dụng Trên Grid
Nghiên Cứu Phát Triển Ứng Dụng Trên Grid
L B Dng
H NI - 2006
I HC QUC GIA H NI
TRNG I HC CNG NGH
Ng Cao Cng
L B Dng
Trn Thin Thnh
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.
1.2.
Li ch ca Grid Computing........................................................................5
1.2.1.
1.2.2.
1.2.3.
1.2.4.
1.2.5.
Cn bng ti nguyn.............................................................................8
1.2.1.
tin cy.............................................................................................9
1.2.2.
Chng 2.
2.1.
Cc kiu ti nguyn...................................................................................12
3.1.1.
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.
2.2.
2.3.
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.
Chng 3.
3.1.
3.1.1.
3.1.2.
ng nhp vo grid............................................................................21
3.1.3.
3.1.4.
Cu hnh d liu.................................................................................22
3.2.
Nh qun tr...............................................................................................22
3.2.1.
Ci t................................................................................................23
3.2.2.
3.2.3.
Chng thc.........................................................................................23
3.2.4.
Qun l ti nguyn.............................................................................24
Chng 4.
4.1.
GridFTP.....................................................................................................27
4.4.
4.5.
4.6.
Tng kt chng........................................................................................29
Chng 5.
5.1.
5.2.
iv
5.3.
5.4.
a ch dch v Web..................................................................................32
5.5.
5.6.
5.7.
Cc bc gi mt dch v Web.............................................................34
5.8.
Tng kt chng........................................................................................35
Chng 6.
6.1.
6.1.1.
6.1.2.
6.2.
Chun WSRF.............................................................................................37
6.2.1.
6.2.2.
6.3.
Tng kt chng........................................................................................40
Chng 7.
7.1.
7.2.
7.2.1.
7.2.2.
7.3.
Tng kt chng........................................................................................45
Chng 8.
8.1.
8.2.
8.2.1.
Java WS Core.....................................................................................47
8.2.2.
C WS Core.........................................................................................47
8.2.3.
Python WS Core.................................................................................47
8.3.
8.3.1.
8.3.2.
8.3.3.
CAS)
8.3.4.
Dch v u quyn...............................................................................48
8.3.5.
SimpleCA...........................................................................................48
8.3.6.
GSI-OpenSSH....................................................................................48
8.4.
8.4.1.
GridFTP.............................................................................................49
8.4.2.
8.4.3.
8.4.4.
Index service......................................................................................51
8.5.1.
WS GRAM.........................................................................................51
Chng 9.
9.1.
9.2.
9.3.
9.3.1.
9.3.2.
9.3.3.
9.4.
9.4.1.
vi
9.4.2.
Cu hnh bo mt................................................................................58
9.4.3.
9.4.4.
9.5.
Chng 10.
10.1.
10.2.
Chng 11.
11.1.
11.3.
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
Kt lun.................................................................................................................. 103
Ti liu tham kho..................................................................................................104
viii
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.
Hnh 1: S o ha vi nhiu cp
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.
10
11
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
12
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
13
14
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.
16
17
3.4.3.
Cc gi truyn thng
18
19
20
21
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.
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.
24
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
26
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.
27
28
29
30
5.3.
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.5.
32
33
34
35
36
6.1.2.
37
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
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
39
WS-Base Faults
WS-Renewable
References
40
41
sau:
-
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.
43
Kha b mt ca my ci Grid
44
45
46
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.
47
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.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.
49
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.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
52
Tn host
Chc nng
H iu hnh Gi tin ci
t
CA
ca.gridk47.com
Chng thc
quyn hn
Host A
hosta.gridk47.com
Nt mng
Grid
Host B
hostb.gridk47.com Nt mng
Grid
Phin bn
Th mc ch
4.0.0
/usr/local/globus-4.0.0
Java SDK
1.5
/usr/local/java
Apache Ant
1.6.3
/usr/local/ant
53
Phin bn
Java SDK
1.5
Apache Ant
1.6.3
54
Tn ngi dng
ca
globus
hosta
globus, auser1
hostb
globus, buser1
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
==========================================
*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
2811
GridFTP
8080
8443
56
57
/usr/local/globus-4.0.0/sbin/gpt-postinstall
...(B qua thng tin)
config.status: creating fork.pm
..Done
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
60
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
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
...
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
65
Chng 10.
66
10.2.1.
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
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
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.
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");
}
71
72
10.2.3.
73
10.2.4.
74
10.2.5.
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
Cc i tng chnh:
76
77
Chng 11.
nguyn t
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
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.
11.1.2.
Ci t GT4IDE
80
81
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
83
11.3.1.
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
11.3.2.
84
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
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
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.
M t h thng
Phn ny trnh by cc vn v:
Mc ch ca bi ton
87
Server
Tr li kt qu
Client 1
Client m
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
k = 2 k1
p2
k = k1+1
k2
.
pm
k = km-1+1 q
k = 24
p2
k = 56
Tp s b chia con m
89
11.4.2.
90
Yu cu to
ti nguyn
To
PrimeFactoryService
PrimeResource
Yu cu tm
kim ti nguyn
Client
PrimeService
Qun l
PrimeResouceHome
91
11.4.3.
Thit k h thng
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
Kiu
Ch thch
id
Object
data
String
93
Boolean
create()
Object
To mt ti nguyn mi
updateTime()
Void
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
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
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
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
findData()
String
findDataOnceResouce()
String
findDataResouceTimeout()
String
95
String
getResourceTimeoutKey()
ResourceKey
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
K_LENGHT
Int
96
Thread
StartListener
StopListener
actionPerformed()
actionPerformed()
JobThread
actionPerformed()
PrimeClient
+ timer
+ timeFreq
+ prime
PrimeData
doStart()
Eratosthenes()
trialFactoring()
doJob()
main()
initWindowComponents(
)
+p
+k
+ kd
+ kc
97
Kiu
Ch thch
Timer
Timer
timeFreq
Long
Prime
PrimePortType
doStart()
Void
Eratosthenes()
boolean
Hm kim
nguyn t
php sng
true nu p
ngc li.
trialFactoring()
boolean
doJob()
void
Main()
void
initWindowComponents()
Void
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.
98
99
11.5.2.
11.5.3.
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
22-1
0.01
23-1
0.01
25-1
0.02
27-1
0.3
213-1
217-1
219-1
28
101
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
104