Tải bản đầy đủ (.pdf) (69 trang)

giải hệ phƣơng trình tuyến tính kích thước lớn trên nền tảng grid computing

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 69 trang )


























ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ


Nguyễn Đức Thịnh


GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH
THƢỚC LỚN TRÊN NỀN TẢNG GRID
COMPUTING



KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: Tiến sĩ. Nguyễn Minh Hằng






HÀ NỘI - 2010




Lời cảm ơn

Trước hết là lời cảm ơn sâu sắc của em đến những người đã giúp đỡ em hoàn
thành khóa luận tốt nghiệp này, một dấu mấu quan trọng trong cuộc đời và sự nghiệp của
em.
Em xin chân thành cảm ơn Khoa công nghệ thông tin trường đại học Công Nghệ -
Đại học quốc gia Hà Nội đã tạo điều kiện cho em được thực hiện khóa luận này.
Khóa luận sẽ không thể hoàn thành nếu thiếu sự chỉ bảo tận tình của TS.Nguyễn
Minh Hằng, người đã định hướng, hỗ trợ em trong suốt thời gian 3 tháng thực hiện khóa

luận. Em xin chân thành cảm ơn cô.
Một lời cảm ơn từ đáy lòng con xin được gửi đến cha mẹ, những người đã nuôi
nấng con thành người để được có ngày hôm nay.
Em xin cảm ơn các quý thầy cô đã dạy dỗ em trong suốt 4 năm học ở nhà trường,
cung cấp cho em những kiến thức quý báu để bước vào đời.
Cảm ơn các bạn của tôi đã là những người động viên tinh thần cũng như ở bên tôi
giúp đỡ tôi khi tôi gặp khó khăn.
Thời gian 3 tháng vừa qua, mặc dù đã cố gắng để hoàn thành khóa luận một cách
tốt nhất nhưng vẫn không thể tránh nổi những sai sót. Em xin kính mong nhận được sự
góp ý cũng như chỉ bảo của quý thầy cô. Xin chân thành cảm ơn


Sinh viên
Nguyễn Đức Thịnh




Mc lc

Li m u 1
Tóm tt khóa lun 3
ng quan v công ngh Grid Computing 4
1.1. Lch s phát trin ca công ngh Grid 4
1.2. Khái nim 5
1.3. Các kiu tài nguyên ca Grid 6
1.3.1. Tài nguyên tính toán 6
 6
n liên lc 6
1.3.4. Phn mm, ng dng 7

1.3.5. Các thit b c bit 7
1.4. Phân lai các h thng Grid 7
1.4.1. Grid Tính toán (Computation Grid) 7
1.4.2. Grid D liu (Data Grid) 8
1.4.3. Scavenging Grid 8
1.5. Kin trúc Grid 8
1.5.1. Bn cht Kin trúc Grid 8
1.5.2. Chi tit Kin trúc Grid tng quát 10
1.5.2.1. Tng Fabric 10
1.5.2.2. Tng Connectivity 11
1.5.2.3. Tng Resource 12
1.5.2.4. Tng Collective 13
1.5.2.5. Tng Application 13
i nhng li ích gì ? 13
1.6.1. Khai thác t lý 13
1.6.2. Kh  lý song song 14
1.6.3. Chia s tài nguyên o và t chc o 14
1.6.4. S truy cn các tài nguyên khác 14
1.6.5. Cân bng tài nguyên 15
 tin cy 16
 17
2.1. Khái nim v Globus 17
2.2. Nguyên nhân thúc y s phát trin ca Globus 18
2.3. Kin trúc Globus 19
2.3.1. Các thành phng trc 19
2.3.1.1. Java WS Core 19
2.3.1.2. C WS Core 19
2.3.2. Các thành phn bo mt 19
n v bo mt Grid và GSI 20
2.3.3. Các thành phn qun lý d liu 25

2.3.3.1. GridFTP 25
2.3.3.2. Information services 26
2.3.3.3. Index Service 27
2.3.4. Các thành phn qun lý tài nguyên 27
2.3.4.1. Kin trúc qun lý tài nguyên ca Globus Toolkit 27
2.3.4.2. Chi tit các thành phn 29
2.3.4.2.1. GRAM 29
2.3.4.2.2. Pre-WS GRAM 32
2.3.4.2.3. WS-GRAM 34
-G2 40
3.1. MPI 40
3.2. MPICH 41
3.3. MPICH-G2 41
3.3.1. Quá trình thc thi mt ng dng 42
n khai h thn cho m
tính toán song song s dng Globus Toolkit và MPICH-G2 44
4.1. Trin khai Globus Toolkit 44
4.1.1. Chun b v phn cng và phn mm h thng 44
t Globus Toolkit 45
4.1.3. Cu hình các thành phn ca globus toolkit 47
4.1.3.1. Cu hình bo mt 47
4.1.3.2. Cu hình dich v GridFTP 50
4.1.3.3. Cu hình gatekeeper 51
4.1.3.4. Cu hình WS GRAM 52
4.2. Trin khai MPICH-G2 53
a h thng Grid 54
5.1. Gii thiu v 3 bài toán s c th nghim 54
5.1.1. Tính toán s PI 54
5.1.2. H n tính 54
5.1.3. Bài toán quy hoch tuyn tính 55

5.2. Cách thc chy 1 bài toán trên h thc xây dng bi 2 công c
Globus Toolkit và MPICH 57
5.3. Kt qu chy các t qu 59
5.3.1. Kt qu ch PI 59
5.3.2. Kt qu chi h n tính 59
5.3.3. Kt qu gii bài toán quy hoch tuyn tính 60
5.3.4. Nhn xét chung 62
Kt lun 63
Tài liu tham kho 64
1

Lời mở đầu

Trong thp niên qua, nn công ngh thông tin th gii phát trit
nhiu vào s phát trin chung ca th gii. Chúng ta có th bt gp nhng ng dng ca
công ngh thông tin  khp m i s hu máy tính cá nhân, s hu
nhng chin thoi, cp nhp thông tin qua nhng trang web, kt ni vi nhau qua
nhng phn my là nhng th hin hu hàng ngày mà chúng ta trc tip s
thy và s dng nó, n sau nó là nhng nghiên cu, nhng công ngh c rt nhiu nhà
khoa hn trên th gii nghiên c  phát trin ca
nn công ngh thông tin nói riêng và nn khoa hc th gii nói chung.
n máy tính, mt khái nic nhn là nhng chic máy tính
 bàn nh gn hay nhng chic laptop cá nhân. Nng thit b cá nhân giúp
chúng ta gii trí, làm vic, còn vi nhng chic máy tính phi x ng d liu t khp
 gii mng xuyên và liên tc bt
gp khái nim siêu máy tính (Super Computer) . Nhng siêu máy tính trên th gic
xây dng rt tin vu b vi x  ng
h thy tn rt nhiu tin ca cho vic trin khai  bng, vi
m dng kt ni nhi dùng hay t chc có chung mt m x lý
hay tn dng tài nguyên máy tính ca bt k  to thành mt

h thng mnh m phc v cho vic gii các bài toán v khoa hc, i, m
vc nghiên cu m Nói mt cách tng quát nht
Grid là mt loi h thng phân tán, b trí song song, cho phép linh hot chia s, tuyn la
và tp hp các nguc lp và ri rác v a lý, tùy theo kh n có,
công sut, hong, chi phí và yêu cu v chng dch v ci s dng. Grid
Computing có rt nhim mà có th áp dng cho vic nghiên cng
m có th áp dng cho doanh nghip.
Trên th ging v Grid Computing c hình thành và nghiên cu t rt
lâu c s bùng n  lc các t chp
n trên th gii nghiên cu và trin khai. Ti Vit Nam, công vic nghiên cu Grid
c trin khai t khá lâu và g tài cc 
cu, phát trin h th h tr gii quyt các bài toán có khng tính
2

toán l do PGS.TS. Vũ Đức Thi làm chủ nhiệm c mt s
thành tu nhnh.
Nhn thy Grid computing là mng nghiên cu c quan tâm ti 
Vit Nam c gii và nhng li ích to ln mà nó mang li. Em quynh chn
 i gii h n tính c ln trên nn t
vi mu Công ngh Grid là gì ,nhng khái nim liên quan,
thí nghim to mt h thng Grid nh bng gói phn mm GLOBUS TOOLKIT cùng
MPICH-G2  kim nghim hi  ca h thng grid khi chy bài toán Gii h
n tính c ln.

















3

Tóm tắt khóa luận

1. Thông tin chung về khóa luận
 tài : Giải hệ phương trình tuyến tính trên nền tảng Grid Computing
Ging dn : TS.Nguyễn Minh Hằng
Sinh viên thc hin : Nguyễn Đức Thịnh
2. Tóm tắt nội dung khóa luận
Khóa lun thc hin nghiên cu tìm hiu các v chung ca công ngh Grid v
mt khái nim, kin trúc ca mt h thng Grid và nhng ích li ca Grid mang li. Cung
cp mt cái nhìn tng quan v Grid.
Tìm hiu mô hình hong ca gói phn mm Globus Toolkit, mt gói phn mm
giúp xây dng mt h thng Grid, các v khi thc hin trin khai to dng mt h
thng Grid vi Globus Toolkit.
Tìm hiu v MPICH, MPICH-G2, nguyên tc hong ca MPICH kt hp vi
 to dng h thng Grid phc v vic tính toán song song s dng ngôn
ng C và MPI.
Th nghim bài toán gii h n tính theo thut toán song song trên
mt h th xem cách thc hom v kh t hp x lý
gia các máy tính khác nhau.

3. Các công cụ đƣợc sử dụng triển khai và thử nghiệm
 Globus Toolkit 4.2.1
 Centos 5.4
 MPICH-1.2.7


4

Chương 1 : Tổng quan về công nghệ Grid Computing

1.1. Lịch sử phát triển của công nghệ Grid
Trong nh      c nghe nhi n công ngh Grid và
nhm ca nó. Vy Grid xut hin t khi nào, t bao gi ? Trong quá kh, nhng
t hin, vi nhng tên gi khác nhau và cách
tip cn khác nhau.
Ví d  t hin t nh-70
ca th k  c chia s t các máy mainframe.
   i phát trin h u hành Multics (tin thân ca h u hành
 cn vic s dt tin ích, mm
rt gn vm v Grid hit h thng cung cc tính toán
  thng cung cc hic s dng trong cuc sng hàng
i dùng khi mun s d x lý công vic, ch cn cm
thit b vào h thng cung cp, s dng và tr tin gim thit b n vào
n.
ng v n gc ca Grid chính thc
t ng i, dùng
 mô t các d án kt ni các trung tâm siêu máy tính ca M nhm kt hp sc mnh
x lý ca nhiu siêu máy tính li vi nhau.
  án siêu tính toán quan trng, ng ln các công
ngh nn tng trong các d án Grid ngày nay là FAFNER (Factoring via Network-

Enabled Recursion) và I-i.
Khái ni   i  phòng thí nghim Argonne National Laboratory vào tháng
    n sách "The Grid: Blueprint for a New Computing
Infrastructure" vit bi tin s Ian Foster (Argonne National Laboratory) và Carl
ng tham gia d
án I-i tham gia d án Globus Toolkit, mt d án nn tng
ca công ngh Grid và Metacomputing.
5

T n nay, vic phát trin công ngh Grid tr nên rng vi s tham gia
nghiên ca nhiu t chc, tp  thông tin, nhiu qu
c nhng thành tu. Có th nói, vic phát trin và xây dng h thng
Grid là s k tha và phát tring, các công ngh hin hành  m
phát trin không ngng c  h tng, phn cng máy tính, m   
thng Grid ngày nay thc hic nhi
1.2. Khái niệm
M Grid khá hoàn chi tin s 
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các
tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng,
khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để
giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại.
Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm
thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng
nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán
và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”
Mt h thng Grid có nhsau:
 Có s kt hp, chia s c qun lý tp trung Grid tích hp
và phi hi dùng thuc nhiu vùng qun lý khác nhau, nhiu
 khác nhau trong mt t chc, hay nhiu t chc khác nhau. Công ngh Grid
tp trung gii quyt các v  v bo mt, chính sách qun tr, chi phí, thành

y sinh trong quá trình chia s và s dng tài nguyên.
 S dng các giao din và giao thc chun, mang tính mc xây
dng trên các giao thc và giao din t gii quyt các v 
bng thi dùng, phân quyn, tìm kim và truy xut tài nguyên.
 ng yêu cu cao v chng dch v. Grid cho phép s dng phi hp các
 cung cp nhiu loi dch v vi các mc chng khác nhau, liên
n ví d ng, hiu sut, tính sn sàng, bo mt, cho phép
kt hp nhiu ki ng nhu cu phc tp ci dùng. Mc
tiêu là phi phi h kh a h thng sau khi kt hp phi ln
n tng kh a t cu thành nên Grid.
6

1.3. Các kiểu tài nguyên của Grid
1.3.1. Tài nguyên tính toán
 bin nht, là các chu k c
cung cp bi b vi x lý ca các thit b trong Grid. Các b vi x lý không cn phi cùng
loi mà có th có t, kin trúc, chy phn m khai thác tài
nguyên tính toán ca Grid:
n nht là chy các ng dng hin có trên mt node ca Grid thay vì chy
trên máy tính cc b.
2. Thit k ng dng, tách các công vic thành các phn riêng r  có th thc thi song
song trên nhiu b x lý khác nhau.
3. Chy ng dng thc thi nhiu ln trên nhiu node khác nhau trong Grid.
1.3.2. Tài nguyên lƣu trữ
Tài nguyên ph bin th . Mi thit b trong
ng cung cp mt s  phc v cho vic thc thi ng dng trên
 có th là b nh trong,  ng hoc các thit b  khác.
B nh   d liu tm thi cho ng dng, trong khi các thit b
 ngoài có th c s d u sut, kh 
chia s m bo tính tin cy ca d liu.

1.3.3. Phƣơng tiện liên lạc
Kh c gia các máy tính phát tri
Grid tr nên hin tht tài nguyên quan trng.  m vic
liên li d liu gia các thành phn trong Grid và giao tip gia Grid vi bên
ngoài. Mt s công vi  i mng d liu l    li ng
không n    c thi công vic. Kh      ng
ng hy là mt tài nguyên then cht, n kh a Grid.
Vic giao tip vc thc hin thông qua mng Internet. Grid có th
s dng các kt n liên lc gia các node. Vì các kt ni này không chia s
mng truyng truyn d phòng
n thi gii quyt t v ng mng và truyn d liu ln.
7

1.3.4. Phần mềm, ứng dụng
Grid có th t các phn mm mà có th quá m cài trên tt c mi
máy tính trong Grid. Các phn mm này ch cc cài trên mt s node. Thông qua
Grid, khi mt công vic cn chúng, nó s gi d lit phn
mm và cho th là mt gii pháp t tit kim chi phí v bn quyn
phn mm.
1.3.5. Các thiết bị đặc biệt
Là các thit b dùng trong khoa hc, k thun vng, các b cm bin
t b này ch yu thu thp các d liu khoa hc, phc v c
phân tích, x lý sau này.
Ghi chú: Các tài nguyên trên đây đến từ nhiều nguồn khác nhau, có thể không thuộc quyền quản
lý của một tổ chức, của một đơn vị mà có thể thuộc nhiều tổ chức, ở nhiều nơi khác nhau. Một số
tài nguyên có thể được sử dụng tự do, trong khi một số khác được sử dụng dưới những chính
sách nhất định. Các tài nguyên được “ảo hóa” (virtualize) để che dấu sự phức tạp, đa dạng
nhằm đưa ra một cái nhìn thống nhất, đơn giản về toàn bộ tài nguyên trên Grid sao cho dưới mắt
của người dùng, các tài nguyên Grid là một khối thống nhất.
1.4. Phân lọai các hệ thống Grid

Công ngh Grid Computing có th c s dng theo nhi gii
quyt các loi yêu cu ng dc phân loi bi kiu ca ng
dng cn gii quyt. Có 3 lo không có ranh gii
phân bit rõ ràng gia các loi Grid và trong thc t, các gii ng là s kt
hp 2 hay nhiu loi khác nhau.
1.4.1. Grid Tính toán (Computation Grid)
Loi Grid này tp trung ch yu vào vic s dc tính toán.  dng Grid
này, phn ln các node là các máy tính hay các nhóm máy tính(cluster) có c x lý,
tính toán rt ln. Hình thc thc hin là chia tác v tính toán ln thành nhiu công vic
nh thc thi song song trên các node ca Grid. Vic phân tán các tác v tính toán trong
Grid s làm gim r toàn b thi gian x  n dng h thng.
ng mt h thng chính s chia khi d liu cn x lý thành các phn nh, sau
8

n các node trên Grid. Mi node s thc hin x lý d liuvà tr kt qu v
h th h này tng hp và trình din kt qu toàn cc i dùng
1.4.2. Grid Dữ liệu (Data Grid)
  là tài nguyên. Mt Grid D liu chu trách nhim 
và cung cp kh p d liu cho nhiu t chi dùng không
cn bit chính xác v trí d liu khi thao tác vi d liu.  d lic bi
s d liu liên h trng trong các Grid D liu, nht là khi có nhiu
ngun d liu và xut hin nhu cu kt hp các thông tin t các ngun d liu này. Các
Grid D liu có th c s dc khai thác d liu(data mining) hoc các
h thng hp này, không ch có h thng file hay
 d liu mà toàn b d liu ca t chc cn tp hp li.   th phi kt
hp gia Grid D liu và Grid Tính toán.
1.4.3. Scavenging Grid
Mc dùng vi mng l bàn.
c kinh k  xem khi nào b x lý và các tài nguyên
khác rnh r thc hin các tác v Grid. Ch nhân c bàn ng có quyn

nh khi nào thì chia s chic máy ca mình.
1.5. Kiến trúc Grid
1.5.1. Bản chất Kiến trúc Grid
T chc  n quan trng trong h thng Grid. Vic thit lp,
qun lý, khai thác, chia s tài nguyên gia các t chc  hi phi có kin trúc h
thng mi, kin trúc Grid. Kic xây dng da trên quan nim
 các VO hong hiu qu i phi thit lc các quan h chia s vi bt k
  tham gia ti   làm  u này, v   t ho 
(interoperability) cn phc tp trung gii quyng mt
hoi vic s dn trúc Grid s là
kin trúc protocol, vi các  nn t i dùng và nhà
cung cp tài nguyên ng, thit lp, qun lý và khai thác các mi quan h chia s
tài nguyên.
9

Kin trúc Grid phi là kin trúc da chung m d m rng, liên kt hot
ng tt, có tính kh chuyn (portability) cao. Các protocol chun s nh 
service chun, nh  xây dng các service cao ct cách d dàng. Sau khi
c kin trúc Grid, vic tip theo là xây dng các hàm API và các b  cung
cp các công c cn thi phát trin các ng dng chy trên nn Grid. S 
t hoc xem là v n vì các mi quan h chia s có th phi
c thit lp gia các bên tham gia khác nhau v các chính sách, ging
khác nhau v nn tng, ngôn ng ng lp u không có nó, các thành
viên trong VO s thc hin các chính sách chia s c rng các
 s dng cho 2 thành viên này s m rc u này
khin cho vic thành lng là không th thc hin ho thành lp
c VO theo mt ki thôi.
 vic chia s thông tin bng cách cung cp
các protocol và cú pháp chun (HTTP và HTML) dùng cho vii thông tin,  
n các protocol và cú pháp chu chia s tài nguyên.  gii quyt v 

kt hoc xây dng các protocol là quan trnh cách các
thành phn phân i v t c mt mnh các cu
trúc thông tin cn thit trong quá trình 
ch nh, chia s và s dng tài nguyên cn phi mm do, gn nh các tha thun
chia s tài nguyên có th c thit li m chia
s c nh n các chính sách cc b, và phi cho phép các thành viên
quc các tài nguyên ca h   nh vic giao tip gia các
thành viên ch          nào, nên khi dùng các
protocol, các chính sách cc b c gi lc cn. 
các protocol, thì vic xây dng các service là cn thit và quan trng, các service là bn
t c th ca các protocol. Vic xây dn phc v truy cn tài
nguyên tính toán, d liu, tìm kim tài nguyên, lp lch và ng b hoá, sao chép d
ling các service cao c ng dng thi trng
hoá các chi tit v tài nguyên. n phi xây dng các b API và SDK, vì các nhà
phát trin ng dng cn phi có công c  h tr phát trin các ng dng phc tp trong
ng Grid, i có kh c các ng dng này. Sc
mnh, tính n ca ng dng, chi phí phát trin và bo trì là nhng mi quan tâm
10

quan trng. Các API và SDK có th c vic phát trin mã, cho phép chia s mã,
 chuyn cho ng dng. Tt nhiên, API và SDK ch h tr thêm ch không
th thay th c.
1.5.2. Chi tiết Kiến trúc Grid tổng quát
Sau gp trung nghiên cu, phát trin, tích lu kinh nghim, các nhà
phát trin công ngh ng thng nh v kin trúc Grid. Mt trong
nhng kic chp nhn nhiu nhi Ian Foster,phi
 gii thiu v kin trúc này. Kin trúc Grid, theo Ian Foster, là mt kin trúc phân
t 1.1 . Các thành phn trong mt tm, tính cht, có
th c xây dng t bt c ti nào. Các thành phc phân tng da theo vai
trò ca chúng trong h tht kin trúc m.Kin trúc này ch nh

các yêu cu chung nht v thit k và trin khai vi m tham kho. Vic
xây dt c th tu thuc vào tng d án, tc ng dng. 
chi tit ca kin trúc:









Hình 1.1.Grid protocol Architecture
1.5.2.1. Tng Fabric
ng thp nht ca kii din cho các thit b vt lý và toàn b tài
nguyên ca Grid mà các t chi dùng mun chia s, s dng. Các tài nguyên có
th tn ti dng v th, các danh mc, tài nguyên
Application (Ứng dụng)
Collective (Tầng kết hợp)
Resource (Tầng tài nguyên)
Connectivity (Tầng kết nối)
Fabric (Tầng thiết bị)
11

mng, các lo là các thc th logic - mt thc th tru ng - i
din cho mt tp các tài nguyên v thng file phân tán, các ng
ng hp các thc th logic, vic trin khai có th n các protocol cc b (ví
d các protocol phc v dng truy cp NFS, hoc protocol qun lý tài nguyên, tin trình

n kin trúc Grid. Các thành phn ca tng Fabric thc hin các hong cc b

trên các tài nguyên c th (vt lý lc tip sau ca các hong chia s
tài nguyên ca các tt mi liên h ph thuc cht ch gia các chc
 a tng Fabric vi các ho ng chia s c h tr. Các ch ca tng
Fabric càng mnh, càng nhiu s cho phép các hong chia s phc tp, phong phú
m cho thy, vic qun lý tài nguyên  tng này ít nht 
ch cung c c cu trúc, trc c
u khin chng dch v.
1.5.2.2. Tng Connectivity
Tc và chng thn cn thit
cho các giao dch mng a Grid. Các protocol liên lc cho phép trao i d
liu gia các tài nguyên tng Fabric. Các protocol chng thc xây dng trên các dch v
liên lc nhm cung cp  mã hóa, bo mt, xác minh và nhn di
dùng và tài nguyên. Vic liên li các công vin chuynh tuyt
c liên lc ca Grid có th cn các protocol mn nay
nên xây dng trên các protocol có sn ca b TCP/IP protocol stack, c th là các tng
Network (IP và ICMP), Transport (TCP,UDP) và

V khía cnh bo mt ca tng Connectivity, các gii pháp phi da trên các chun
bo mt hin hành khi có thc, rt nhiu chun bo mc
phát trin vi b Internet protocol có th áp d c.Vic chng thc, phân quyn
ng Grid là rt phc tp. Các công ngh bo mt truyn thng ch yu tp
trung bo v các giao dch gia các máy client và server. Trong Grid, vic phân bit
client/server không tn ti, vì các mi tài nguyên trong m là server
(khi nó nhn yêu cu), mt lúc khác l     xut yêu c n các tài
12

i pháp chng thc các
yêu cu v bo mt trong Grid i thiu.
1.5.2.3. Tng Resource
Tng Resource da trên các protocol liên lc và chng thc ca tng Connectivity

 xây dng các protocol, API và SDK nhm h tr vi ng, khi to, theo dõi,
u khin, tính toán chi phí và chi tr cho các hong chia s trên tng tài nguyên
riêng l mt cách an toàn. Bt các protocol ca tng Resource s gi các chc
a t truy cu khin các tài nguyên cc b.
Các protocol tng Resource tp trung toàn b vào các tài nguyên riêng l, không quan tâm
n trng thái toàn cc và các hong trong các tp tài nguyên phân tán.
Các protocol tc phân thành 2 d
- Các protocol thông tin
S d thu thp thông tin v cu trúc và trng thái các tài nguyên ví d 
cu hình hin ti, ti hin ti, chính sách s d
- Các protocol qun lý
S d  ng truy xun mt tài nguyên chia snh rõ, ví d,
các yêu cu v tài nguyên (bao gm luôn vic gi ch tài nguyên và chng dch v)
và các thao tác c c thc hi o tin trình, hoc truy xut d liu. Do các
protocol qun lý chu trách nhii din cho các quan h chia sm bo các hot
ng s dng tài nguyên phi phù hp vi các chính sách chia s tài nguyên, bao gm
luôn vic tính toán và chi tr chi phí. M tr vic theo dõi trng
  u khin các hot ng. Vi nhng yêu c  y, tp các protocol tng
Resource (và Connectivity) nên nh gn và tp trung. Các protocol này ch ng
 chia s vi nhiu loi tài nguyên khác nhau (ví d, các h thng qun lý
tài nguyên cc b . Các cha tng
a tng Fabric cng thêm nhiu ng ni v báo li tin cy khi hot
ng không thành công.
13

1.5.2.4. Tng Collective
Trong khi tng Resource t, tng Collective cha
các protocol, service, API, SDK không liên h n bt k mt tài nguyên c th nào mà
thc hin qun lý toàn cc, tp trung vào các giao tác gia các tp tài nguyên. Tng
Collective có th b sung thêm nhiu loi hong chia s mi ngoài nh

tng Resource mà không cn b sung thêm các yêu cu mi cho các tài nguyên c
chia s. Các cha tng Collective có th i các
 SDK(vc thit k  liên
kt vi ng dng. Trong c ng ht này có th c xây dng trên các
protocol và API ca tng Resource và Connectivity.
1.5.2.5. Tng Application
Tng trên cùng ca kin trúc Grid bao gm các ng dng ci dùng chy
trong mng VO. Các ng dc xây dng theo cách s gi các dch v nh
i các ti. Ví d : m i cn phi
chy hàng ngàn tác v c lp, mi tác v cn nhiu file cha thông tin tng phn ca b
gen có th s dng các ch
- Ly các thông tin, th chng thc (các protocol tng Connectivity).
- Truy vn h thng thông tin Grid và các danh m tìm các tài nguyên thích
hp và v trí các file d liu vào. (các dch v tng Collective).
- Gi các yêu c thc hin tính toán, di chuyn d li
và kim soát quá trình thc thi công vii dùng khi mi
th hoàn tt, dò tìm và phn ng vu kin gây li (tng Resource).
1.6. Grid computing đem lại những lợi ích gì ?
1.6.1. Khai thác tối đa tài nguyên xử lý
Li ích u tiên c y mu máy
tính khác nhau . Hay nói m lý song song. Trong mt mi gm
nhiu máy tính ,r       c s dng mt cách t  ng tài
nguyên ca mìng thì vi công vin ,máy tính ch s
dng ty chúng ta nhìn thy luôn s lãng phí ca
nhng tài nguyên còn li. Triên khai h thng grid computing s giúp tn dng nhng tài
14

nguyêc s d x lý mng hp này,
t x c t c gim ti mc t
Không ch th ,grid computing cho phép o hóa nhng còn trng thành

mng mi , t  tn d d liu.
1.6.2. Khả năng xử lý song song
Khi kt hp nhiu b vi x  gii quyt mt bài toán, chúng ta có th ng
c chia làm n phn cho n CPU x lý, mi mt CPU s x lý 1
phy công vic s nhanh gp n ln.
i ng dp lý nc trin khai mt cách song
song. Công vii thit ké ng dng pho
Tuy nhiên x lý song song s là mu tiên trong nghiên
cu khoa hc ,gii quyt nhng bài toán lc lp ca các thành phn cao.
1.6.3. Chia sẽ tài nguyên ảo và tổ chức ảo
Grid computing cho phép to ra mng cng tác rng lng nht. Mi
t t chc o. Grid computing thm chí còn cho phép kt hp các t
chc ng nht v cng tác vi nhau. Các t chc o này chia s tài
nguyên vt mi ln.
Chia s tài nguyên d liu bng cách tri r d liu trên nhiu h thng to
ng lu so vi h thi rng d li
t truyn d liu vi công ngh stripping. D lic
v cho vic khôi phc d liu.
Ngoài ra ,còn có th chia s nhit b chuyên dng, phn
mm.
1.6.4. Sự truy cập đến các tài nguyên khác
, Grid còn có th truy cn các tài nguyên khác.
Các tài nguyên này có th c cung ci dng s ng hoc kh 
thông. Ví d, nu mi mu thc hin vic
khai thác d liu tìm kim, công vic này có th phân chia gia các máy trong mng Grid
ng truyn Internet không ph thung hp này, kh 
15

kic nhân lên khi mng truyn riêng bit. Nu các máy chia s ng
kt ni internet thì nó s 

Trong mt mi, mt s n mt tin, mt
s i s dng không ct phn mn có th s dng
phn mm này bng cách gi công vin c cài phn m yêu cu x lý.
 n dng phn mm ca Grid.
Mt vài máy in có th s dng nhng thit b c bit, chng hu
hc s dng t xa. Grid có th chia s c nhng thit b c bit này.
Thm chí Grid còn có th chia s nhng thit b, tài nguyên phc t
bnh hay robot h tr phu thut.
1.6.5. Cân bằng tài nguyên
Grid liên kt các tài nguyên t nhiu máy khác nhau to thành mt h thng duy
nht. Grid có th thc hin cân bng cách lp lch
làm vic cho các công vic. Chn trong vic x ng
hp quá ti v x lý, tính toán trong mt t chc. Cân bng có th c thc hin bi 2
cách sau : nhng m quá t  n nhng máy ri trên m i, nu toàn
mng Grid bn, nhng công vi c t dành cho nhng
công vi 
ng công vit ng n hoàn thành gp.
Grid không th x c nhng công vic cn hoàn thành quá gp. Tuy nhiên Grid có
th x c nhng công vic nh ng mt lng l x lý
nó mt cách nhanh nht.
Mt li ích khác ca Grid là cân bng ti. Khi mt công vic liên lc vi mt công
vic khác, vi Internet, hoc các tài nguyên khác, Grid có th lp l có th
gim thiu tng truyng cách truyu này giúp
Grid có th gim thiu tc nghn mng.
Cui cùng Grid còn có kh i tài nguyên. Các trng thái ca tt c
các tài nguyên trong mc Grid qun lý. Các t chc trên Grid có th to tài khon
và tr ti s dng các tài nguyên này khi cn thiu này to nên tài chính mng
i.
16


1.6.6. Độ tin cậy
t mi có th có kh  mt h th
cy. Grid mi ch bu công ngh này. Mô hình máy ch y s dng Grid có
th c mô t t mi gm nhic phân b khp n
t s c ti mt nt mm khác s không b
ng. Khi mt máy tính b hng hóc, phn mm qun lý trong Grid t ng chuyn
công vic x lý t n m   ng hp quan
trng, nhiu bn sao ca công vic tc chuyn nhiu máy khác nhau
trên mi.














17

Chương 2: Globus Toolkit 4

Globus Toolkit là một bộ toolkit mã nguồn mở được sử dụng để xây dựng các hệ
thống và các ứng dụng Grid. Globus Toolkit hiện đang được phát triển bởi tổ chức
Globus Alliance và nhiều tổ chức khắp nơi trên thế giới. Globus Alliance là một cộng

đồng và các cá nhân và tổ chức tham gia phát triển các công nghệ nền tảng cho Grid.
Globus Toolkit cho phép hiện thực hóa các ý tưởng, mục tiêu đằng sau khái niệm
Grid. Bộ toolkit bao gồm các dịch vụ và thư viện phục vụ việc bảo mật, hạ tầng thông tin
Grid, quản lý tài nguyên, quản lý dữ liệu, liên lạc, phát hiện lỗi,… Nó được đóng gói như
một tập các thành phần có thể sử dụng độc lập hoặc kết hợp với nhau. Mỗi tổ chức đều có
những hoạt động, chính sách khác nhau, việc kết hợp, chia sẻ tài nguyên từ nhiều tổ chức
bị cản trở bởi tính không tương thích giữa các tài nguyên. Globus Toolkit được xây dựng
để loại bỏ những trở ngại này. Các service, interface, và protocol của nó cho phép người
dùng truy cập đến các tài nguyên ở xa như thể nó đang nằm trong máy tính của họ trong
khi vẫn cho phép các tổ chức thiết lập chính sách cục bộ của mình như quản lý việc ai
được dùng tài nguyên và khi nào…
Mặc dù Globus được phát triển để phục vụ các dự án về khoa học và kỹ thuật, nhưng hiện
nay Globus cũng đã được áp dụng vào các lĩnh vực thương mại. Từ năm 2000, các công
ty hàng đầu thế giới trong lĩnh vực công nghệ thông tin như Avaki, DataSynapse,
Entropia, Fujitsu, Hewlett-packard, IBM, NEC, Oracle, Platform, Sun, Microsoft ,đã bắt
đầu xây dựng các chiến lược về Grid Computing trên nền tảng Globus.
2.1. Khái niệm về Globus
    c phát trin t cui nh   n nay
nhm h tr phát trin các dch v ng ứng dụng tính toán phân tán và cơ sở
hạ tầng. Các thành phn bao gm an ninh, truy cp tài nguyên, qun lý tài nguyên,
di chuyn d liu, tìm king công c ã lc s
d m rng h t ca Grid và các ng dng phân tán.
 Globus c hiu theo nh :
18

- Mt cng nhi dùng và phát trin ,nhng cng tác viên bng cách
s dng hoc phát trin nhng phn mm mã ngun m ,liên kt các tài liu
cho vic tính toán phân tán và liên kt tài nguyên.
- Là phn mm GLOBUS TOOLKIT : mt tn
thi xây dng mt h thng phân tán và các ng dc trin khai trên

nó.
- Mt nn tng h tr cho cng : mã ngut c u có th
c gii quyt khi truy cp vào globus.org
 Globus toolkit cung cp rt nhiu thành phn ,bao gm :
- Mt tp hp các dch v c thêm vào tp trung vào vic qu h
tng.
- Các công c  xây dng nhng dch v Web bng Java, C, Python.
- H tng bo mt cao.
- Là máy khách API hoc dòng lnh cho vic truy cp dch v và tài nguyên.
- Tài lic t v các thành phn và cách dùng nó th  xây dng mt ng
dng.
2.2. Nguyên nhân thúc đẩy sự phát triển của Globus
Phn mc thit k  cho phép các ng dng s dng ngun lc gia
t b , d liu, dch v, mng
i, hoc cm bin. u, vic phát trin y bi nhu cu ca các
"t chc o" trong khoa hc. Trong thi gian g, vic s dng Globus trong các ng
d nên ngày càng quan trng. i và khoa hc có cùng mt
mi quan tâm là luôn luôn i hi x lý d liphi là liên
tc. Vic phát trin Globus bt ngun t nhu cu mun truy cp và x lý d liu hay nhân
rng d li thuc các t cht ti các v trí
a lý cách xa nhau. Ví d:
 Mt nhà khoa hc (hoc mt nhà phân tích v kinh t) cn truy cp d liu nm
 d liu khác nhau trong mt mt t chc hp tác khoa hc (hoc doanh
nghip).
 Mt doanh nghip cn phi phân b , và tài nguyên m
h tr thi n t (hoc vt lý phân tích d liu
19

 Mt k u thit k và vn hành th nghim trên các thit b u khin
t xa, liên kt và so sánh các s liu và mô phng vt lý.

 Mc cn nhân rng mt terabyte d liu mi
tác trên khp th gii.
2.3. Kiến trúc Globus
2.3.1. Các thành phần thƣờng trực
2.3.1.1. Java WS Core
Bao gm các API và các công c thi hành chun WSRF và WS-Notification trên
nn ngôn ng Java. Các thành ph thành nn tng cho mt s các dch v Grid.
Ngoài ra, Java WS Core còn cung cn và công c cho vic phát trin các dch
v WSRF
2.3.1.2. C WS Core
Bao gm các API và các công c thi hành chun WSRF trên nn ngôn ng C
2.3.2. Các thành phn bo mt
Trong GT, vic bo m   m trách bi module Grid Security
t, yêu cu v bo mt, an toàn là mt trong nhng v
chính trong các thit k Grid. Các thành phn bo m c 
khá t thc hin vic chng thc, phân quyn, bo mt liên lc gia các node trong
Grid. GSI là mt s m rng các protocol và API ca các chun v bo mt hin
c xây dng trên các công ngh, các chu
 Mô hình mã hoá khóa công khai (public key infrastructure(PKI))
 X.509 certificate
 Protocol Secure Sockets Layer (SSL)
Tt c các kt ni liên lc mã hoá theo công ngh
RSA 1024 bit và truyn ti vi protocol SSL.
 Generic Security Service API (GSS-API)
Toàn b pht cu tuân theo GSS-API (là mt b API
chun dành cho các h thng bo mc t chc Internet Engineering
20


GSI  rng các chu cung cp thêm chp mt ln

(single sign-on), y quyn (delegation), identity mapping (ánh x thc th).








Hình 2.1. Tóm tắt cấu trúc và chức năng các thành phần của GSI

2.3.2.1. n v bo mt Grid và GSI
 Symmetric Encryption
Mã hoá kiu Symmetric da trên vic s dng mt khoá bí m thc hin mã hoá và
gii mã d li m bo d liu ch c bi bên gi và bên nhc
i mt cách bí mt gia 2 bên. Nc khóa bí m d mã
hoá, h có th gic thông tin. c
 mã hóa/gii mã li i dây.
 Asymmetric Encryption
c g c s
dng r dng mt c mã hóa c gi là
khóa công khai (public key) và khóa bí m mã hoá khác vi khoá
c s d gi yêu cu các bên phi bo
v k các khóa bí mt ca mình, trong khi khóa công khai ca h không cc bo v,
có th c công b rng rãi trong c 
Proxy và y quyn
(Phn m rng bi GSI, phc v single sign-on)

PKI
(CA và Certificate)

SSL/TSL
(Chng thc và bo v thông
p)

×