Tìm ra các tài nguyên hi n cĩ trên m ng là m t ph n quan tr ng c a tính tốn l i. Mã ngu n c a ch ng trình l i s ch ra rõ ràng nh ng máy (host) thích h p nào đ ch y ch ng trình. Tuy nhiên b i vì Grid ch a đ ng nhi u d ch v c đnh, nên chúng c ng v n ph i cĩ kh n ng tìm ra các d ch v này và các giao di n mà chúng h tr . Cách s d ng các d ch v này ph i cĩ kh n ng tái l p trình và k t h p l i theo m t cách th ng nh t. Vì th mơi tr ng và cơng c l p trình ph i chú ý tìm ra các d ch v hi n cĩ và cung c p cho ng i dùng các cách th c t ng minh hay ng m n đ khai thác chúng trong quá trình xây d ng và tri n khai các ng d ng Grid.
3.2.3. Hi u n ng
Rõ ràng đ i v i nhi u ng d ng Grid, v n đ hi u n ng là đi u r t đáng quan tâm. B i vì Grid s d ng b ng thơng h n t p và các h th ng phân c p n cho nên đi u này gây khĩ kh n cho vi c đ t đ c hi u n ng t t nh t và cách s d ng hi u qu các ngu n tài nguyên.
Tuy nhiên đ i v i nhi u ng d ng, đ đ t hi u n ng đáng tin c y c ng là m t v n đ khá quan tr ng. M t mơi tr ng đ ng và khơng đ ng nh t cĩ th t o ra nhi u kh n ng th c thi khác nhau mà cĩ th s khơng đ c ch p nh n trong nhi u tình hu ng. Vì th trong mơi tr ng chia s , ch t l ng d ch v s tr nên càng c n thi t nh m đ t đ c hi u n ng đáng tin c y trên m t c u hình tài nguyên đã cho. Trong khi ng i dùng cĩ th yêu c u mơ hình theo m t hi u n ng nào đĩ, tuy nhiên s h p lý h n n u hi u n ng cung c p n m bên trong m t kho ng gi i h n nào đĩ.
3.2.4. Dung l i
Vi c c n cĩ nhi u c p đ dung l i trong mơi tr ng Grid là hồn tồn c n thi t. i u này đ c bi t đúng khi các ng d ng kh i t o hàng ngàn các cơng vi c đ c l p t ng t v i nhau trên hàng ngàn máy tr m (host). Rõ ràng khi s l ng các tài nguyên tham gia tính tốn ngày càng t ng thì c ng làm gia t ng xác su t b h ng. Các ch ng trình Grid ph i cĩ kh n ng ki m tra các l i khi đang th c thi, và bên c nh đĩ c ng ph i cung c p kh n ng ph c h i và ph n ng khi cĩ l i x y ra c p đ ch ng trình. T i th i đi m đĩ các cơng c c ng ph i b o đ m cho các phép tính c ng đ c th c thi c p đ t i thi u khi cĩ l i x y ra.
3.2.5. B o m t
Chúng ta s cịn ti p t c ch ng ki n s phát tri n c a tính tốn l i trên nhi u domain chia s , nh là các m ng. Trong khi vi c cung c p m t ch c n ng ch ng th c m nh gi a hai site là c c k quan tr ng, thì bên c nh đĩ vi c qu n lý ch ng trình trên nhi u site c ng là đi u khơng đ n gi n. Vì th , m t ph ng pháp b o m t cĩ c p kh n ng xác th c ng i dùng ph i đ c tích h p vào trong các mơ hình l p trình l i.
hi n b i vi c th c thi tu n t các hàm trên d li u trong b nh . Quá trình chuy n đ i này cĩ th là s xây d ng c a m t s các mơ hình liên quan đ n ng ngh a c a mã ngu n và s áp d ng m t s tính n ng c i ti n nh t i u, d n d p b nh , và ki m tra ph m vi. S k t h p các siêu mơ hình t ng t s gĩp ph n xây d ng ch ng trình Grid.
3.3. T ng quát v các mơi tr ng h tr
3.3.1. M t s mơi tr ng Grid
3.3.1.1. NetSolve
NetSole là m t ng d ng client/server đu c thi t k đ gi i quy t nh ng
v n đ tính tốn khoa h c trong mơi tr ng phân ph i.
Agent
Agent Network of servers Client
Client MPP servers Scalar server request choice reply Hình 3-1 : Mơ hình NetSolve
H th ng Netsolve d a trên nh ng h th ng phân ph i, đ c k t n i thơng qua m ng LAN hay WAN. Nh ng ch ng trình t máy khách Netsolve cĩ th đ c vi t b ng C hay FORTRAN, và s d ng Web đ giao ti p v i Server. M t server Netsolve cĩ th s d ng m t s gĩi ph n m m liên quan đ n khoa h c đ cung c p cho nh ng ph n m m tính tốn. Nh ng giao ti p truy n thơng bên trong Netsolve thơng qua nh ng socket. Netsolve đáp ng nh ng kh n ng cho vi c tìm ki m nh ng tài nguyên máy tính trên m t m ng máy
tính, ch n nh ng tài nguyên s n dùng t t nh t, gi i quy t m t v n đ , và tr k t qu cho ng i s d ng.
3.3.1.2. Legion
Là m t h th ng trên c s đ i t ng đ c phát tri n đ i h c Virginia (Hoa K ). Legion cung c p ki n trúc ph n m m đ h th ng nh ng máy tính phân ph i kh p n i, v i s l ng kh ng l cĩ th giao ti p v i nhau m t cách d dàng. Trong h th ng Legion, cĩ nh ng đ c đi m sau sau:
- M i th là m t đ i t ng. Nh ng đ i t ng đ c tr ng cho t t c các ph n c ng và ph n m m. M i đ i t ng là m t x lý ho t đ ng, đáp ng nh ng yêu c u gi i pháp cho nh ng đ i t ng khác bên trong h th ng. Legion
đnh ngh a m t t p API cho vi c giao ti p đ i t ng. Nh ng khơng ph i là ngơn ng l p trình hay giao th c truy n thơng.
- Nh ng l p qu n lý nh ng tr ng h p. M i đ i t ng Legion đ c
đnh ngh a và qu n lý b i chính đ i t ng ho t đ ng .Nh ng l p đ i t ng cĩ nh ng kh n ng nh sau: t t o m t tr ng h p th hi n (instance), l p bi u cho vi c th c thi, làm cho m t đ i t ng khác ho t đ ng, hay khơng ho t đ ng, và cung c p thơng tin v tr ng thái cho nh ng đ i t ng thu c v các máy tính khác.
Nh ng ng i dùng cĩ th đnh ngh a thêm các l p m i. Gi ng ngơn ng l p trình h ng đ i t ng, ng i dùng cĩ th đnh ngh a l i hay vi t l i nh ng ch c n ng c a m t l p. c đi m này cho phép nh ng ch c n ng này cĩ th thêm, hay xố tùy theo nhu c u c a ng i dùng.
H th ng Legion h tr m t t p các d ng đ i t ng c t lõi :
• Nh ng l p và l p t đnh ngh a
• Nh ng đ i t ng ch : Nh ng đ i t ng ch là s tr u t ng hĩa c a vi c x lý nh ng tài nguyên, chúng cĩ th th hi n m t b x lý
Globus cung c p m t c s h t ng ph n m m, làm cho nh ng ng d ng cĩ th qu n lý phân ph i nh ng tài nguyên tính tốn kh ng l nh m t máy tính
đ n o.
M t Grid, là m t c s h t ng ph n c ng và ph n m m, cung c p truy xu t các tài nguyên kh p n i dùng cho tính tốn c p cao, dù cho s phân ph i thu c v
đa lý c a tài nguyên và ng i s d ng cĩ s c n tr . Globus cung c p nh ng d ch v c b n và nh ng kh n ng đ c yêu c u đ c u trúc m t m ng tính tốn l i. B cơng c bao g m m t t p h p các thành ph n b sung cho nh ng d ch v c b n, ch ng h n nh b o m t, đnh v tài nguyên, qu n lý tài nguyên, và d ch v truy n thơng.
M ng tính tốn l i đ c h tr m t s l ng l n nh ng ng d ng và mơ hình l p trình, đĩ là m t đi u thi t y u.Vì th , vi c cung c p h n m t mơ hình l p trình chu n, ch ng h n nh mơ hình l p trình h ng đ i t ng là đi u thi t y u. Globus cung c p m t s d ch v cho phép nh ng nhà phát tri n cơng c đ c bi t hay nh ng ng d ng cĩ th s d ng đ t o ra nh ng yêu c u c th cho chính h . Ph ng pháp này ch kh thi khi nh ng d ch v cĩ s khác bi t và đ c đnh ngh a t t thơng qua nh ng t p API c a nĩ, Globus đ c ki n t o nh m t t ng ki n trúc v i nh ng d ch v c p cao đ c xây d ng trên nh ng d ch v c t lõi t ng th p h n. B cơng c Globus đ c phân thành nh ng mơ
đun, và m t ng d ng cĩ th khai thác nh ng đ c đi m này c a t ng mơ đun c a Globus, ch ng h n nh s qu n lý tài nguyên hay h t ng thơng tin, mà khơng s d ng nh ng th vi n truy n thơng c a Globus. B cơng c Globus h tr nh ng d ch v sau :
• GSI (Grid Security Infrastructure): ki n trúc b o m t
• GridFTP: giao th c truy n t p tin
• GRAM (Globus Resource Allocation Manager): qu n lý các tài nguyên trên mơi tr ng Grid.
• Metacomputing Directory Service
• Advanced Resource Reservation và Allocatoin(GARA)
Hình 3-2 : Các thành ph n c a Globus
Globus cĩ th đ c nhìn nh n nh m t h th ng c b n cho tính tốn l i, ngồi vi c cung c p cho nhà phát tri n ng d ng m t t p th vi n API đ c tr ng cho các d ch v Globus mà cung c p. Globus cịn cung c p cho nh ng nhà phát tri n ng d ng m t ph ng ti n hi n th c cho vi c b sung các d ch v đ cung ng cho mơi tr ng th c thi ng d ng trên m t vùng r ng l n.
3.3.2. Nh ng mơ hình l p trình và cơng c h tr
Cho đ n lúc này, g n 20 n m nghiên c u và phát tri n trong ngành l p trình song song và phân b . Vi c thi t k h th ng phân b đã h ng n n phát ti n k thu t ph n c ng lên m t t m cao m i và c h n cĩ th xây d ng đ c h th ng t t, c i thi n đ c tr ng thái hi n th i và s d ng l i h th ng. S phát tri n Grid computing c ng l y g c t vi c tính tốn song song và phân b này, b i vì chúng đã xác l p đ c nh ng ph ng pháp l p trình n n t ng cho
Mơ hình l p trình Shared-state đ c tr ng cho s liên k t ch t ch ,nh ng ngơn ng đ ng b và nh ng mơ hình th c thi cho nh ng máy tính chia s b nh và h th ng m ng chia s vùng nh gi a các máy tình, v i b ng t ng truy n thơng cao và đ tr trong vi c truy n thơng th p. Vi c này quy t đ nh mơi tr ng Grid và s làm tác đ ng đ n các cơng c l p trình khác tr nên khơng hi u qu , vì th c n cĩ m t s mơ hình l p trình thi t y u d a trên hình th c chia s tr ng thái, và nh th trình s n xu t và tiêu th d li u gi a các ti n trình đ c phân chia rõ ràng h n trên mơi tr ng Grid.
• JavaSpaces
Javaspaces là m t s b sung d a trên Java v i khái ni m khơng gian bi n (tuplespace) Linda, đi u này đ c minh ho b ng m t t p bi n đ c th hi n b i m t t p các đ i t ng. S d ng Java cĩ đ c đi m là nhi u client và server t ng tác v i nhau mà khơng liên quan đ n nh ng ki n trúc c a b x lý và h đi u hành. S d ng JavaSpaces nhìn nh n m t ng d ng nh m t t p nh ng x lý giao ti p v i nhau b ng cách nh n và đ a nh ng đ i t ng vào m t hay nhi u vùng khơng gian (space). M t khơng gian (space) là m t kho ch a đ i t ng c th và đ c chia s và đ c truy xu t thơng qua m ng máy tính. Nh ng x lý s d ng kho ch a nh m t k thu t trao đ i d li u thay vì ph i giao ti p tr c ti p v i nhau. Nh ng thao tác chính là m t x lý cĩ th cĩ m t khơng gian đ đ t, nh n, đ c, sao chép nh ng đ i t ng .Trên thao tác nh n hay đ c, đ i t ng nh n đ c xác đnh b i m t thao tác cĩ tính ch t ki m tra s g n gi ng liên k t (associative matching ). S g n gi ng này g m d ng và s l ng thành ph n liên k t v i đ i t ng đ t vào khơng gian. M t l p trình viên mu n xây d ng m t ng d ng trên n n t ng nh th này nên thi t k t c u trúc d li u phân ph i gi ng nh m t t p nh ng đ i t ng đ c l u tr trong m t hay nhi u khơng gian.
S ti p c n m i mà mơ hình l p trình JavaSpace mang l i cho l p trình viên là xây d ng nh ng ng d ng phân ph i d dàng h n trên mơi tr ng Grid.
Trong nh ng mơ hình truy n thơng đi p, nh ng ti n trình đ c phân chia riêng khơng gian b nh , và thơng tin trao đ i b ng cách truy n thơng đi p t m t ti n trình đ n các ti n trình cịn l i. S song song hố th hi n rõ ràng b ng các thơng đi p, nĩ mang l i cho ng i s d ng đ y đ quy n đi u khi n ti n trình mà nh ng mơ hình l p trình khác khơng cĩ.
• MPI và nh ng bi n th c a nĩ:
MPI (Message Passing Interface) là m t chu n r t ph bi n cho l p trình truy n thơng đi p. Trong ph n sau chúng em s mơ t k h n.
MPCH-G2 là m t s b sung c a chu n th vi n MPI cho Grid, s d ng nh ng d ch v c a Globus và cho phép l p trình viên k t n i nhi u máy tính v i ki n trúc khác nhau đ ch y ng d ng MPI.
MPICH-G2 t đ ng chuy n đ i d li u trong nh ng thơng đi p đ c g i gi a nh ng máy tính v i ki n trúc khác nhau và h tr truy n thơng đa giao th c b ng cách t ch n giao th c m ng TCP cho vi c truy n thơng đi p gi a các máy tính v i nhau.
S ph bi n c a MPI kéo theo s xu t hi n m t s nh ng bi n th c a nĩ, liên quan đ n nh ng v n đ c a Grid nh t đ ng hố qu n lý ti n trình, và nhi u thao tác hi u qu liên quan đ n nhi u ti n trình.
Ví d th vi n MagPIe là m t s b sung cho nh ng thao tác liên quan
đ n nhi u ti n trình (collective operation) c a MPI ch ng h n nh phân b d li u d ng broadcast, đ ng b các ti n trình, và nh ng tốn t tính tốn g p v i s t i u hố v thu t tốn cho nh ng h th ng r ng l n nh Grid. Nh ng thao tác này s đ c nĩi đ n chi ti t trong ph n l p trình MPI ti p theo.
Stampi h tr trình qu n lý ti n trình t đ ng, MPI-IO và MPI-2. MPI_Connect h tr cho nh ng ng d ng MPI khác nhau, c a các nhà phân ph i MPI khác nhau cĩ th giao ti p đ c v i nhau.
Nh ng trình g i thơng đi p đ u cĩ nh ng thơng s thi t y u cho nh ng trình nh n thơng đi p đ xác đ nh thơng đi p này, và quy t đnh x lý thơng
đi p hay khơng d a trên d ng thơng đi p. Ng ngh a liên quan đ n d ng thơng
đi p th ng đ c đnh ngh a b i các nhà thi t k ng d ng. Nh ng hình th c