TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 1.1 Khái niệm Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau “Grid là một loại hệ thống song song, phân tán cho ph
Trang 1BÀI THU HOẠCH:
ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
ĐỀ TÀI:
GRID COMPUTING & WEB SERVICE
Giáo viên hướng dẫn : PGS.TS NGUYỄN PHI KHỨ
Học viên thực hiện : Hồ Văn Linh
Mã số học viên : CH1301020
Tp.HCM, Tháng 06 năm 2014
Trang 2LỜI CÁM ƠN
Công nghệ Grid Computing ra đời đánh dấu một bước phát triển mới tronglĩnh vực điện toán hiệu năng cao Nó cho phép tận dụng năng lực xử lý, lưu trữ cùngcác tài nguyên nhàn rỗi khác để cung cấp một môi trường tính toán có năng lực xử lýlớn, khả năng lưu trữ dồi dào để giải quyết các bài toán phức tạp - khó có thể giảiquyết được với các công nghệ hiện hành hoặc giải quyết được nhưng với chi phí rấtcao - trong khoa học, thương mại Grid Computing giúp tận dụng tối đa tài nguyên,tăng cường hợp tác, giảm chi phí đầu tư trong khi vẫn cung cấp năng lực tính toánnhư mong muốn Trong những năm vừa qua, nhiều tổ chức, tập đoàn công nghệthông tin lớn đã chọn công nghệ Grid Computing làm chiến lược phát triển của mình,
đã đầu tư nghiên cứu nhằm sớm đưa công nghệ Grid Computing vào thực tế Côngnghệ này đang ngày càng thu hút được sự quan tâm chú ý từ khắp nơi trên thế giới
Có thể nói công nghệ Grid Computing là một xu hướng phát triển mới trong ngànhcông nghệ thông tin
Hiện nay, đất nước ta đang thực hiện công cuộc công nghiệp hoá, hiện đạihóa, trong đó việc rút ngắn sự tụt hậu, phát triển về khoa học công nghệ là yếu tốthen chốt quyết định đến thành công của công cuộc đổi mới Song song với quá trìnhphát triển, ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lý lớn xuất hiệntrong khoa học, thương mại và quản lý đất nước Các công nghệ tính toán hiện hànhcũng được áp dụng nhưng không thể triển khai rộng rãi để có thể giải quyết hết cácnhu cầu do chi phí đầu tư quá lớn Việc nghiên cứu, áp dụng công nghệ GridComputing là một giải pháp tốt để giải quyết các tình huống này Hơn nữa, côngnghệ Grid Computing hiện nay còn khá mới mẻ, đang trong giai đoạn hoàn thiện,
Trang 3nghiệm, tiến tới làm chủ công nghệ, từ đó có thể phát triển theo hướng đi của riêngmình, đáp ứng nhu cầu tính toán hiệu năng cao ngày càng tăng của đất nước.
Thông qua đề tài này em tìm hiểu sơ lược về một mô hình tính toán với hiệunăng cao, tận dụng được tài nguyên của máy tính và ứng dụng cho dịch vụ Web,đang là mô hình tính toán được thế giới quan tâm phát triển
Em xin gởi lời cám ơn chân thành đến Thầy PGS.TS Nguyễn Phi Khứ, dù thờigian không nhiều nhưng Thầy đã giảng dạy và hướng dẫn chúng em tận tình trongsuốt thời gian môn học và đó là kiến thức quý báu và hữu ích
Do thời gian hạn chế, bài thu họach còn nhiều thiếu sót Rất mong nhận được
ý kiến đóng góp của Thầy
Xin chân thành cảm ơn !
Trang 4MỤC LỤC
I TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 1
1.1 Khái niệm 1
1.2 Tài nguyên của Grid 1
1.3 Phân loại Grid & Grid Topology 3
1.4 Yêu cầu của công nghệ Grid 7
1.5 Một số ích lợi khi sử dụng công nghệ Grid Computing 13
1.6 Các thành phần cơ bản của một hệ thống cơ sở hạ tầng Grid 15
1.7 Kiến trúc Grid 16
1.8 Chuẩn hoá Grid 24
1.9 Giới thiệu các dự án Grid middleware chính 27
II TỪ TÍNH TOÁN LƯỚI ĐẾN TÍNH TOÁN ĐÁM MÂY 33
III CÁC BƯỚC XÂY DỰNG VÀ TRIỂN KHAI GRID SERVICE 34
IV CẤU HÌNH QUÁ TRÌNH TRIỂN KHAI SERVICE VỚI WEB SERVICE DEPLOYMENT DESCRIPTOR (WSDD) 38
4.1 Tạo file GAR với công cụ Ant 39
4.2 Triển khai Grid service trên một Grid service container 40
4.3 Xây dựng client 41
V TÀI LIỆU THAM KHẢO 42
Trang 5I TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING
1.1 Khái niệm
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau
“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ững đặc trưng sau:
a Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung:
Grid tích hợp và phối hợp tài nguyên, người dùng thuộc nhiều vùng quản lýkhác nhau, nhiều đơn vị khác nhau trong một tổ chức, hay nhiều tổ chức khácnhau Công nghệ Grid tập trung giải quyết các vấn đề về bảo mật, chính sáchquản trị, chi phí, thành viên,… nảy sinh trong quá trình chia sẻ và sử dụng tàinguyên
b Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng.
Grid được xây dựng trên các giao thức và giao diện tổng quát, đa dụng để giảiquyết các vấn đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm vàtruy xuất tài nguyên
c Đáp ứng yêu cầu cao về chất lượng dịch vụ.
Grid cho phép sử dụng phối hợp các tài nguyên để cung cấp nhiều loại dịch vụvới các mức chất lượng khác nhau, liên quan đến ví dụ như thời gian đáp ứ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ểu tài nguyên đểđáp ứng nhu cầu phức tạp của người dùng Mục tiêu là phải phối hợp làm sao
để khả năng của hệ thống sau khi kết hợp phải lớn hơn hẳn tổng khả năng củatừng đơn vị cấu thành nên Grid
1.2 Tài nguyên của Grid
Các tài nguyên của Grid bao gồm các loại sau
a Tài nguyên tính toán
Trang 6Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles)đượ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ốc độ, kiến trúc, chạy phần mềm khácnhau.
Có 3 cách để khai thác tài nguyên tính toán của Grid:
1 Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Gridthay 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ựcthi 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
b Tài nguyên lưu trữ
Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ Mỗi thiết bị trongGrid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứngdụng trên Grid Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc cácthiết bị lưu trữ khác Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thời choứng dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăngkhông gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của
dữ liệu
c Phương tiện liên lạc
Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho côngnghệ Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng Ởđây bao gồm việc liên lạc, trao đổ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ệc đòi hỏi một lượng dữ liệulớn nhưng các dữ liệu này thường không nằm trên máy đang thực thi công việc.Khả năng về băng thông trong những trường hợp như vậy là một tài nguyênthen chốt, ảnh hưởng đến khả năng của Grid
Việc giao tiếp với bên ngoài được thực hiện thông qua mạng Internet Grid cóthể sử dụng các kết nối Internet để liên lạc giữa các node Vì các kết nối nàykhông chia sẻ một đường truyền nên làm tăng băng thông truy cập Internet
Các đường truyền dự phòng đôi khi cần thiết để giải quyết tốt hơn các vấn đề về
hư hỏng mạng và truyền dữ liệu lớn
d Phần mềm, ứng dụng
Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọimáy tính trong Grid Các phần mềm này chỉ cần được cài trên một số node.Thông qua Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node
đã được cài đặt phần mềm và cho thực thi Đây có thể là một giải pháp tốt đểtiết kiệm chi phí về bản quyền phần mềm
Trang 7e Các thiết bị đặc biệt
Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộ cảm biến (sensor),… Các thiết bị này chủ yếu thu thập các dữ liệu khoa học, phục vụcho các bước phân tích, xử lý sau này
Tài nguyên Grid dưới quan điểm của người dùng, là một khối thống nhất có được nhờ sự ảo hoá
1.3 Phân loại Grid & Grid Topology
1.3.1 Phân loại Grid
a Các kiểu Grid
Công nghệ Grid Computing có thể được sử dụng theo nhiều cách khác nhau
để giải quyết các loại yêu cầu ứng dụng Thông thường Grid được phân loạibởi kiểu của ứng dụng cần giải quyết Có 3 loại Grid như trình bày dướiđây Tuy nhiên 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 pháp Grid thường là sự kết hợp 2 hay nhiều loại khácnhau
b Grid Tính toán (Computation Grid)
Loại Grid này tập trung chủ yếu vào việc sử dụng năng lự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áytính(cluster) có năng lự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ínhtoán trong Grid sẽ làm giảm rất đáng kể toàn bộ thời gian xử lý và tăng khảnăng tận dụng hệ thống Thông thườ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 đó phân phối đến các node trên Grid.Mỗi node sẽ thực hiện xử lý dữ liệu và trả kết quả về hệ thống chính để hệnày tổng hợp và trình diễn kết quả toàn cục cho người dùng Hình 2-2 minhhọa quá trình này
c Grid Dữ liệu (Data Grid)
Ở đây, không gian lưu trữ là tài nguyên Một Grid Dữ liệu chịu trách nhiệmlưu trữ và cung cấp khả năng truy cập dữ liệu cho nhiều tổ chức khác nhau.Ngườ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
Các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu liên hợp, đóng vai trò quantrọng trong các Grid Dữ liệu, nhất là khi có nhiều nguồn dữ liệu và xuấthiệ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ụng trong lĩnh vực khai thác dữ liệu(datamining) hoặc các hệ thống thương mại thông minh Trong trường hợp này,không chỉ có hệ thống file hay các cơ sở dữ liệu mà toàn bộ dữ liệu của tổchức cần tập hợp lại Ở đây có thể phải kết hợp giữa Grid Dữ liệu và GridTính toán
d Scavenging Grid
Trang 8Một Scavenging Grid thường được dùng với một lượng lớn các máy tính đểbàn Các máy tính thường được kiểm tra định kỳ để xem khi nào bộ xử lý
và các tài nguyên khác rảnh rỗi để thực hiện các tác vụ Grid Chủ nhân củamáy để bàn thường có quyền xác định khi nào thì chia sẻ chiếc máy củamình
1.3.2 Đồ hình Grid (Grid Topology)
Grid có thể được xây dựng theo nhiều kích cỡ khác nhau, từ một nhóm vàimáy tính đặt trong một phòng ban đến hàng trăm nhóm máy tính tổ chứctheo kiểu phân cấp trải rộng khắp thế giới Đồ hình Grid đơn giản nhất làSimpleGrid, chỉ bao gồm một số máy tính đồng nhất ở cùng một vị trí Độphức tạp của đồ hình Grid tương ứng với số lượng tổ chức tham gia Grid vàcác ràng buộc về địa lý Phần này sẽ giới thiệu sơ nét về một số đồ hìnhGrid cơ bản
Hình 1-1 Các đồ hình Grid
a SimpleGrid
Trang 9Hình 1-2 Đồ hình SimpleGrid
Một SimpleGrid chỉ bao gồm vài máy tính, tất cả đều có cùng kiến trúc phầncứng, chạy cùng một hệ điều hành, kết nối vào mạng cục bộ Dạng Grid này sửdụng các hệ thống đồng nhất nên ít phức tạp, thường chỉ dùng để thử
nghiệm, làm quen với các phần mềm Grid Các máy tính thuộc một phòng bantrong tổ chức nên việc sử dụng chúng cho Grid không cần các chính sách đặcbiệt về quản lý cũng như bảo mật Các máy tính chạy cùng hệ điều hành, cùngkiến trúc phần cứng nên việc chọn các phần mềm ứng dụng khá đơn giản, dễdàng Đồ hình này khiến người ta liên tưởng đến các cluster hơn là Grid
b IntraGrid
Hình 1-3 Đồ hình IntraGrid
Trang 10Mở rộng hơn một chút so với SimpleGrid là IntraGrid Lúc này xuất hiện các hệ thốngkhông đồng nhất, nhiều loại tài nguyên mới trong Grid Sử dụng cùng một chính sáchbảo mật, sử dụng mạng nội bộ để kết nối các hệ thống trong Grid là các đặc tính quantrọng của đồ hình này.
Hệ thống Grid cần có các module lập lịch Việc chia sẻ file có thể sử dụng các hệ thống file mạng (network filesytem) Các máy tính tham gia Grid có thể thuộc nhiều phòng ban khác nhau nhưng vẫn trong cùng một tổ chức
Khi Grid mở rộng ra nhiều phòng ban, các chính sách mới về cách sử dụng Grid cầnphải được xác lập và áp dụng Ví dụ: cần phải có chính sách quy định những công việcnào được thực hiện trên Grid, vào thời điểm nào; độ ưu tiên của các phòng ban,… Bêncạnh đó vấn đề bảo mật cũng cần được quan tâm, các dữ liệu nhạy cảm của một phòngban cần được bảo vệ khỏi sự truy cập từ các công việc của các phòng ban khác
Các máy tính dành riêng cho Grid bắt đầu được đưa vào để làm tăng chất lượng dịch
vụ của Grid, thay vì phải trông chờ vào các tài nguyên rảnh rỗi
Cần có các dịch vụ cung cấp thông tin (information service) để tìm kiếm tài nguyên
Hình 1-4 Đồ hình ExtraGrid
Trang 11d InterGrid
Theo thời gian, các Grid mở rộng ra khỏi một tổ chức và bắt đầu liên kết nhiều
tổ chức với nhau, được dùng để phối hợp giữa các tổ chức trong các dự án lớn.Một InterGrid đòi hỏi việc liên kết động các ứng dụng, tài nguyên và dịch vụ.Khách hàng hay bất kỳ tổ chức hợp lệ nào khác đều có thể truy cập Grid thôngqua các kết nối Internet và WAN
Trong dạng Grid này, cấp độ bảo mật cao nhất cần được áp dụng để ngăn ngừacác khả năng bị tấn công và gián điệp InterGrid cung cấp khả năng trao đổi,mua bán, tìm kiếm tài nguyên ở mức toàn cầu Các tài nguyên có thể được mua
từ các nhà cung cấp tin cậy
Hình 1-5 Các minh họa về đồ hình InterGrid
1.4 Yêu cầu của công nghệ Grid
14.1 Quản lý tài nguyên (Resource Management)
Mục tiêu của công nghệ Grid Computing là chia sẻ, phối hợp, sử dụng hiệu quả nhiều loại tài nguyên đến từ nhiều nguồn khác nhau Để thực hiện được điều đó, cần phải giải quyết các thách thức và yêu cầu chính sau đây:
a Tài nguyên thuộc nhiều vùng quản trị khác nhau
Các tài nguyên Grid phân tán theo địa lý qua nhiều vùng quản trị và được sởhữu và quản lý bởi nhiều tổ chức khác nhau Không thể chờ đợi một sự thốngnhất chung về các chính sách sử dụng, chia sẻ, bảo mật giữa các tổ chức Gridcần phải tôn trọng, tương thích với các chính sách quản trị và sử dụng tàinguyên cục bộ
Cần có một cơ chế chia sẻ có tính mềm dẻo cao, từ mô hình client-server đếnpeer-to-peer để kiểm soát chi tiết, chính xác cách sử dụng các tài nguyên chia
sẻ, bao gồm kiểm soát truy cập, ủy quyền, áp dụng các chính sách cục bộ vàtoàn cục; để chia sẻ nhiều loại tài nguyên khác nhau từ các chương trình, file,
Trang 12dữ liệu đến các máy tính, sensor,…; và cho nhiều phương thức sử dụng khácnhau từ đơn người dùng đến đa người dùng, từ hướng hiệu suất đến hướng chiphí, từ đó đưa ra mô hình chất lượng dịch vụ, lập lịch, phối hợp cấp phát tàinguyên và thanh toán chi phí.
Cần có cơ chế dàn xếp việc chia sẻ tài nguyên giữa các bên tham gia (bên cungcấp và bên sử dụng) hợp lý Việc chia sẻ này phải được quản lý chặt chẽ và đặc
tả rõ ràng giữa các bên cung cấp và sử dụng về những gì được chia sẻ, ai đượcphép chia sẻ, ở điều kiện nào thì việc chia sẻ được thực hiện
b Tài nguyên đa dạng, hỗn tạp
Grid phải quản lý nhiều tài nguyên không đồng nhất về bản chất, sử dụng nhiềucông nghệ, các hệ thống quản lý tài nguyên cục bộ khác nhau Ngay cả khi có 2site cùng sử dụng một công nghệ, một hệ quản lý tài nguyên cục bộ nhưng cócấu hình khác nhau cũng dẫn đến có các chức năng khác nhau
Dưới đây là bảng đặc tính các đối tượng cần quản lý cho thấy sự phức tạp trongquản lý tài nguyên:
1 Người dùng, Người cung cấp Phân tán theo địa lý
thuộc nhiều vùng quản trị, sở hữu khác nhau
5 Yêu cầu chất lượng dịch vụ Đa dạng
6 Chi phí/Giá cả Thay đổi tuỳ theo tài nguyên, người
dùng, thời gian
7 Yêu cầu của ứng
dụng Đa dạng về tốc độ xử lý, bộ nhớ, đòi hỏi về năng lực lưu trữ, năng
lực mạng
Bảng 1-1 Các đặc tính của tài nguyên
c Việc tồn tại của tài nguyên trong Grid thay đổi theo thời gian
Trong Grid, các tài nguyên có thể xuất hiện hoặc biến mất mà không hề báotrước do nhiều nguyên do khác nhau như lỗi hệ thống, lỗi mạng, các chính sáchchia sẻ của nhà cung cấp,…Đây cũng là một thách thức lớn để đảm bảo tính tincậy của hệ thống Cần có các cơ chế tìm kiếm, xác định tài nguyên, phát hiện vàphục hồi lỗi
Trang 13d Vấn đề phối hợp cấp phát tài nguyên
Các ứng dụng có nhiều đòi hỏi về tài nguyên mà chỉ có thể đáp ứng bằng cách
sử dụng song song các tài nguyên trên nhiều site khác nhau Các chính sáchquản trị cục bộ của các site cùng với khả năng bị lỗi trong quá trình cấp phát tàinguyên đòi hỏi phải có các cơ chế đặc biệt để phối hợp cấp phát nhiều tàinguyên, khởi tạo các quá trình tính toán, theo dõi, và quản lý chúng trên các tàinguyên
e Vấn đề điều khiển trực tuyến, theo thời gian thực (online)
Cần có cơ chế cho phép thoả thuận sử dụng tài nguyên trong thời gian thực thi
để đáp ứng nhu cầu của ứng dụng, nhất là trong trường hợp các yêu cầu và tínhchất các tài nguyên thay đổi trong quá trình thực thi
1.4.2 Bảo mật (Security)
Các hệ thống Grid cần phải cung cấp đầy đủ các chức năng bảo mật truyền thống như chứng thực, phân quyền, bảo vệ thông điệp, toàn vẹn dữ liệu, … ngoài ra cần đáp ứng các yêu cầu sau:
a.Đăng nhập một lần (Single sign-on)
Một tính toán đơn giản cũng cần phải sử dụng nhiều tài nguyên khác nhau, vì thế nếu
cứ mỗi lần truy xuất tài nguyên lại cần phải chứng thực người dùng là điều không thực
tế và không thể chấp nhận được Thay vào đó, hệ thống Grid cần có cơ chế cho phépngười dùng chỉ cần chứng thực một lần mà có thể sử dụng nhiều tài nguyên khác nhau
b.Cho phép ủy quyền
Đây là một yêu cầu quan trọng, để thực hiện được yêu cầu “đăng nhập một lần” thì cầnphải có sự uỷ quyền Người dùng cần có khả năng uỷ quyền cho các chương trình sửdụng các quyền của mình, để chương trình có thể truy cập đến các tài nguyên đượcphép khác của người dùng Và chương trình, đến lượt nó cũng cần có khả năng ủyquyền cho các chương trình khác
c. Có khả năng tích hợp được với các chính sách bảo mật cục bộ
Mỗi site hoặc nhà cung cấp tài nguyên đều có chính sách bảo mật riêng của mình Do
đó, các giải pháp bảo mật trên Grid cần phải liên kết được với các giải pháp cục bộ,không được thay thế toàn bộ các giải pháp này mà cho phép kế thừa, sử dụng lại
d.Sử dụng các quan hệ tin cậy lẫn nhau dựa theo người dùng
Để cho phép người dùng sử dụng kết hợp tài nguyên từ nhiều nhà cung cấp khác nhau,
hệ thống bảo mật không được yêu cầu các nhà cung cấp phải hợp tác,liên lạc với nhau
để thiết lập môi trường bảo mật Ví dụ, nếu người dùng có quyền sử dụng 2 site A và
B, thì người dùng cũng có thể sử dụng kết hợp 2 site A, B cùng lúc mà không cần cácchuyên gia bảo mật của site A, B liên lạc với nhau
Trang 14e.Hỗ trợ bảo mật liên lạc nhóm
Một quá trình tính toán được cấu thành từ nhiều tiến trình khác nhau, những tiến trìnhnày cần phải liên lạc với nhau theo từng nhóm Các nhóm có thể thay đổi trong suốtquá trình tính toán Grid cần có giải pháp để thực hiện bảo mật cho các nhóm này
f. Đảm bảo tính riêng tư
Một trong những khả năng của Grid là cho phép xử lý dữ liệu trên máy tính ở xa Từđây cũng nảy sinh vấn đề cần bảo vệ tính riêng tư của dữ liệu, sao cho các người dùnghay nhà quản trị trên máy tính ở xa không thể xâm nhập, sử dụng các dữ liệu đangđược xử lý trên máy tính của mình
g.Cho phép có nhiều cài đặt khác nhau
Các giải pháp bảo mật không nên chỉ tập trung vào một cài đặt cụ thể mà nên cài đặttheo nhiều công nghệ khác nhau dựa trên một nền tảng chung Điều này đảm bảo tínhtương thích với nhiều hệ thống khác nhau
1.4.3 Bảo mật (Security)
Các hệ thống Grid cần phải cung cấp đầy đủ các chức năng bảo mật truyền thống như chứng thực, phân quyền, bảo vệ thông điệp, toàn vẹn dữ liệu, … ngoài ra cần đáp ứng các yêu cầu sau:
a.Đăng nhập một lần (Single sign-on)
Một tính toán đơn giản cũng cần phải sử dụng nhiều tài nguyên khác nhau, vì thế nếu
cứ mỗi lần truy xuất tài nguyên lại cần phải chứng thực người dùng là điều không thực
tế và không thể chấp nhận được Thay vào đó, hệ thống Grid cần có cơ chế cho phép người dùng chỉ cần chứng thực một lần mà có thể sử dụng nhiều tài nguyên khác nhau
b.Cho phép ủy quyền
Đây là một yêu cầu quan trọng, để thực hiện được yêu cầu “đăng nhập một lần” thì cầnphải có sự uỷ quyền Người dùng cần có khả năng uỷ quyền cho các chương trình sửdụng các quyền của mình, để chương trình có thể truy cập đến các tài nguyên đượcphép khác của người dùng Và chương trình, đến lượt nó cũng cần có khả năng ủyquyền cho các chương trình khác
c. Có khả năng tích hợp được với các chính sách bảo mật cục bộ
Mỗi site hoặc nhà cung cấp tài nguyên đều có chính sách bảo mật riêng của mình Do
đó, các giải pháp bảo mật trên Grid cần phải liên kết được với các giải pháp cục bộ,không được thay thế toàn bộ các giải pháp này mà cho phép kế thừa, sử dụng lại
d.Sử dụng các quan hệ tin cậy lẫn nhau dựa theo người dùng
Để cho phép người dùng sử dụng kết hợp tài nguyên từ nhiều nhà cung cấp khác nhau,
hệ thống bảo mật không được yêu cầu các nhà cung cấp phải hợp tác, liên lạc với nhau
để thiết lập môi trường bảo mật Ví dụ, nếu người dùng có quyền sử dụng 2 site A và
B, thì người dùng cũng có thể sử dụng kết hợp 2 site A, B cùng lúc mà không cần cácchuyên gia bảo mật của site A, B liên lạc với nhau
e.Hỗ trợ bảo mật liên lạc nhóm
Trang 15Một quá trình tính toán được cấu thành từ nhiều tiến trình khác nhau, những tiến trìnhnày cần phải liên lạc với nhau theo từng nhóm Các nhóm có thể thay đổi trong suốtquá trình tính toán Grid cần có giải pháp để thực hiện bảo mật cho các nhóm này.
f. Đảm bảo tính riêng tư
Một trong những khả năng của Grid là cho phép xử lý dữ liệu trên máy tính ở xa Từđây cũng nảy sinh vấn đề cần bảo vệ tính riêng tư của dữ liệu, sao cho các người dùnghay nhà quản trị trên máy tính ở xa không thể xâm nhập, sử dụng các dữ liệu đangđược xử lý trên máy tính của mình
g.Cho phép có nhiều cài đặt khác nhau
Các giải pháp bảo mật không nên chỉ tập trung vào một cài đặt cụ thể mà nên cài đặttheo nhiều công nghệ khác nhau dựa trên một nền tảng chung Điều này đảm bảo tínhtương thích với nhiều hệ thống khác nhau
1.4.4 Quản lý thông tin
Hệ thống thông tin Grid cần có các cơ chế hỗ trợ việc truy cập, tìm kiếm thôngtin các loại về hệ thống Grid một cách nhanh chóng, chính xác Cần có các chứcnăng để xác định đặc tính phần cứng, phần mềm cũng như các thông tin trạngthái như tải hiện tại và trạng thái hàng đợi trong trường hợp tài nguyên được lậplịch sử dụng và có các cơ chế cung cấp các thông tin này gần như theo thời gianthực
Hệ thống thông tin cần hỗ trợ theo dõi thông tin của một lượng rất lớn các thànhphần, cho phép nhiều loại thực thể truy cập, tìm kiếm thông tin trong khi giảmthiểu các chi phí về công sức và tài nguyên cần thiết để tạo lập, cập nhật cácthông tin cả ở từng site lẫn toàn bộ Grid
Một trong những mục tiêu của hệ thống thông tin là đơn giản hoá việc tìm kiếmthông tin để ra các quyết định sử dụng tài nguyên thích hợp, do đó hệ thốngthông tin cần phải được xây dựng theo mô hình dữ liệu đơn nhất (uniform),cung cấp một giao diện chung để truy xuất nhiều thông tin khác nhau
Mô hình quản lý thông tin cần đủ bao quát để biểu diễn các cấu trúc thông tintrong môi trường tính toán phân tán Một trong những thách thức là biểu diễnđược các thuộc tính liên quan đến nhiều site cùng lúc (ví dụ như : băng thôngliên lạc giữa các site)
Do tài nguyên của Grid rất đa dạng, có thể được thêm bớt theo thời gian, do đókhả năng tích hợp thêm các thông tin mới vào hệ thống là rất quan trọng Các
hệ thống thông tin Grid cần phải có khả năng này
Các hệ thống thông tin Grid cần có khả năng phát sinh thông tin từ nhiều nguồnkhác nhau để cung cấp các thông tin tổng hợp về hệ thống
Trang 16 Đưa ra các cách thức truy xuất mềm dẻo đến hệ thống thông tin, người dùngcần có khả năng đọc, cập nhật cùng với khả năng tìm kiếm, định vị thông tin.
Hệ thống thông tin chỉ có thể hữu dụng khi nó được triển khai rộng rãi, do đócần có những kỹ thuật cho phép cài đặt, triển khai, bảo trì dễ dàng trên các sitekhác nhau
Cần có mô hình quản lý thông tin phân tán, nên cho phép uỷ quyền tạo lập vàquản lý thông tin tài nguyên cho các site
1.4.5 Quản lý dữ liệu
Cần có mô hình quản lý dữ liệu phân tán, cho phép kết hợp dữ liệu từ nhiều nơikhác nhau, hệ thống quản lý dữ liệu cần có các cơ chế quản lý sao cho có thểche đi sự phức tạp của dữ liệu, cung cấp cho người dùng cách thức truy cập đơngiản, hiệu quả thông qua một giao diện chung mà không cần biết đến vị trí của
1.4.6 Phát triển ứng dụng
Việc xây dựng Grid gặp khó khăn hơn nhiều so với các ứng dụng bình thường hiện nay, cần phải đưa ra các mô hình, phương pháp giải quyết các vấn đề như chia sẻ, chia nhỏ, phân tích, di chuyển , bảo mật, quản lý, dữ liệu, đồng bộ hoá các tiến trình, công việc,… nhằm tận dụng tối đa khả năng của hệ thống
Cần xây dựng các mô hình, các môi trường lập trình, các bộ công cụ phát triển ứng dụng cho Grid nhằm đơn giản hóa việc phát triển ứng dụng, tạo điều kiện đưa công nghệ Grid Computing vào thực tế
1.4.7 Các vấn đề khác
Khi kích cỡ Grid tăng lên, chi phí quản lý cũng tăng theo, hiệu suất của Grid cũng giảm xuống, do đó khi xây dựng các công nghệ Grid cần tính toán khả năng mở rộng của hệ thống
Cần có các cơ chế quản lý tiến trình để đặt chỗ trước trên tài nguyên, khởi động, kiểm soát, điều khiển việc thực thi của các tiến trình
Trang 17 Về mã thực thi ứng dụng, dạng đặc biệt của tài nguyên lưu trữ này đòi hỏi các
cơ chế để quản lý phiên bản mã nguồn và mã thực thi của các đối tượng để đảmbảo tính tương thích
Nguời dùng mong muốn có thể dùng môi trường ảo của Grid với chất lượng gần giống như trên hệ thống cục bộ Do đó, Grid cần phải cung cấp các công cụđơn giản để hỗ trợ người dùng để xác định các dịch vụ, số lượng và chất lượng (QoS ) của chúng, chất lượng trong trường hợp này liên quan đến khả năng truycập dịch vụ một cách nhanh chóng thông qua các giao diện hoàn hảo, các hệ thống chứng thực thông minh và các đường truyền tốc độ cao
Cần có một hệ thống quản lý phân phối hợp lý giữa các nhu cầu của ngườidùng với khả năng của tài nguyên, theo dõi việc sử dụng các dịch vụ, và cung cấp cácdịch vụ cộng thêm khác như quản lý tài nguyên cục bộ, quản lý hiệu suất, trạng thái tài nguyên, quản lý đăng nhập và bảo mật
Cần có một giao diện chuẩn để chuyển các yêu cầu của người dùng và khả năngcủa tài nguyên thành một ngôn ngữ duy nhất bất kể nền tảng phần cứng, phần mềm của mỗi tài nguyên phân tán nhằm mục đích phối hợp hoạt động
1.5 Một số ích lợi khi sử dụng công nghệ Grid Computing
a Khai thác, tận dụng các tài nguyên nhàn rỗi
Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi, các máytính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả các server cũngthường “rảnh rỗi” Grid có thể tối ưu sử dụng các tài nguyên nhàn rỗi này theo nhiềucách khác nhau, ví dụ, gửi một công việc trên một máy tính đang bận rộn đến một máykhác rảnh rỗi hơn để xử lý, hoặc phân nhỏ một công việc rồi gửi các công việc con đếncác máy tính nhàn rỗi khác cho xử lý song song,…
Grid cho phép kết hợp nhiều không gian lưu trữ nhàn rỗi để tạo thành một không gianlưu trữ lớn hơn, được cấu hình để tăng hiệu suất, độ tin cậy hơn so với các máy đơn lẻthông qua các cơ chế quản lý dữ liệu
Một chức năng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn Một tổ chứcthường gặp các vấn đề không mong đợi khi các hoạt động đòi hỏi thêm nhiều tàinguyên hơn Với Grid, có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác,hoặc có thể thêm các tài nguyên mới một cách dễ dàng, từ đó làm tăng khả năng chịuđựng của hệ thống Grid có thể quản lý nhiều loại tài nguyên, do đó có thể cho phéptheo dõi tổng quan về các hoạt động sử dụng tài nguyên trong các tổ chức lớn, hỗ trợhoạch định các chiến lược sử dụng tài nguyên
b Sử dụng CPU song song
Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoài việc
hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Grid cungcấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong các ngành khácnhư y dược, tính toán tài chính, kinh tế, khai thác dầu hoả, dự báo thời tiết, côngnghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác
Trang 18c Cho phép hợp tác trên toàn thế giới
Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho phép vàđơn giản hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thế giới.Các công nghệ tính toán phân tán trước đây cũng cho phép hợp tác nhưng chỉ trongmột phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn cầu khi đưa ra nhữngchuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc chung với nhau đểtạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyên khác nhau
d Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên
Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, Grid có thể cho phép chia sẻtất cả các loại tài nguyên mà trước đây chưa được chia sẻ, như băng thông mạng, cácthiết bị đặc biệt, phần mềm, bản quyền, các dịch vụ,… Ví dụ, nếu một người dùngmuốn tăng băng thông kết nối Intenet của mình lên để thực hiện một ứng dụng khaithác dữ liệu, ứng dụng đó có thể được gửi đến nhiều máy tính trong Grid có các kếtnối Internet riêng, từ đó băng thông truy cập Internet của anh ta tăng lên rất nhiều lần,
…
e Tăng tính tin cậy cho các hệ thống máy tính.
Hiện nay, các hệ thống tính toán sử dụng các phần cứng chuyên dụng, đắt đỏ để tăng
độ tin cậy Ví dụ, có thể sử dụng các “chip” có các mạch dự phòng để có thể phục hồilỗi khi có sự cố về phần cứng Một máy tính có thể sử dụng các bộ vi xử lý đôi, chophép “cắm nóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác mà khônglàm ngưng hoạt động của hệ thống Các giải pháp này làm tăng độ tin cậy của hệthống, tuy nhiên với chi quá đắt khi phụ kiện đi kèm cũng phải nhân lên
Trong tương lai, các hướng tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơnvào các công nghệ phần mềm hơn là các phần cứng đắt tiền Grid là sự khởi đầu chocác công nghệ đó Các hệ thống trong Grid thường rẻ và phân tán theo địa lý, do đó,nếu có sự cố về nguồn điện hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần cònlại không bị ảnh hưởng Các phần mềm quản trị Grid có khả năng thực thi lại côngviệc trên một node khác khi phát hiện có lỗi hệ thống Nếu quan trọng hơn nữa, trongcác hệ thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng
có thể được chạy trên nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậy tốiđa
f Tăng khả năng quản trị các hệ thống
Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các hệthống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầngcông nghệ thông tin lớn, phân tán Bên cạnh đó, đối với tầm quản lý vĩ mô, có nhiều
dự án sử dụng cơ sở hạ tầng công thông tin, Grid cho phép quản lý độ ưu tiên sử dụngtài nguyên của các dự án này Trước đây, mỗi dự án thường chịu trách nhiệm quản lýmột số tài nguyên, thường xảy ra tình trạng các tài nguyên của dự án này đang nhànrỗi trong khi dự án khác đang gặp vấn đề, thiếu tài nguyên do gặp các sự kiện khônglường trước Với tầm nhìn rộng hơn do Grid cung cấp, các tình huống trên có thể đượcgiải quyết dễ dàng
Trang 19Trên đây giới thiệu một số ích lợi khi sử dụng công nghệ Grid Computing, Grid cònmang lại rất nhiều lợi ích khác mà không thể kể hết ở đây, tuỳ vào tình huống cụ thể
mà đem lại các lợi ích khác nhau Vấn đề là phải hiểu rõ bản chất Grid, sử dụng tốt cáccông cụ nhằm khai khác tốt nhất trong các tình huống cụ thể
Công nghệ Grid Computing có thể được ứng dụng trong các bài toán trong khoa học lẫn thương mại:
+ Đòi hỏi năng lực xử lý lớn (High-performance computing), yêu cầu rút ngắn thời gian hoàn thành kết quả càng nhanh càng tốt
+ Hướng dữ liệu, đòi hỏi phải thu thập, lưu trữ, phân tích một lượng lớn dữ liệu,mang tính phân tán
+ Cần sự hợp tác, chia sẻ giữa các cộng đồng
1.6 Các thành phần cơ bản của một hệ thống cơ sở hạ tầng Grid
Một cơ sở hạ tầng (infrastructure) là một công nghệ cho phép chúng ta thực hiện cáchoạt động của mình, ví dụ hệ thống đường giao thông cho phép đi lại bằng xe, hệthống ngân hàng cho phép chuyển tiền một các nhanh chóng Để có thể hữu dụng, cơ
sở hạ tầng cần phải được triển khai rộng rãi, điều đó cũng có nghĩa là nó phải đơn giảnhoặc có giá trị to lớn hoặc cả hai Do đó, cơ sở hạ tầng Grid cần phải vừa đơn giản,vừa hỗ trợ được nhiều dạng tài nguyên khác nhau
Phần này sẽ giới thiệu tổng quan về các thành phần chính yếu của một môi trườngGrid Tuỳ theo thiết kế và cách sử dụng Grid, một số thành phần có thể không cần thiết
và đôi khi trong một số trường hợp, có thể kết hợp nhiều thành phần lại thành mộtthành phần phức hợp
a Portal/Giao diện người dùng
Truy cập thông tin trên Grid là việc rất quan trọng, thành phần giao diện người dùngđảm nhiệm chức năng này Giao diện người dùng thuộc một trong 2 dạng:
+ Giao diện cung cấp bởi ứng dụng đang chạy của người dùng
+ Giao diện cung cấp bởi các nhà quản trị Grid giống như portal cho phép khảnăng truy xuất đến các ứng dụng và tài trong Grid như trong một không gian
ảo duy nhất Một Grid portal đưa ra một giao diện cho người dùng để chạy cácứng dụng sử dụng các tài nguyên và dịch vụ của Grid Giao diện kiểu portalcũng có thể giúp người dùng học cách sử dụng Grid
b Bảo mật
Các máy tính trong Grid đều được nối mạng và chạy các ứng dụng; chúng có thể phải
xử lý các dữ liệu nhạy cảm hoặc có giá trị lớn, do đó thành phần bảo mật của Grid làhết sức quan trọng Ở mức cơ sở, bất kỳ môi trường Grid nào cũng phải có các cơ chếbảo mật
Trang 20c Broker
Khi đã được chứng thực, người dùng sẽ thực thi ứng dụng Tùy thuộc vào ứng dụng vàcác thông số cung cấp bởi người dùng, bước tiếp theo là phải xác định được các tàinguyên thích hợp để sử dụng Việc này đòi hỏi các chức năng của một broker
d Bộ lập lịch (scheduler)
Khi các tài nguyên đã được xác định và cấp phát, bước tiếp theo là lập lịch điều phốicác công việc chạy trên đó Cần có các bộ lập lịch để xác định các node thực thi ứngdụng và gửi các công việc được yêu cầu đến các node Việc này có thể đơn giản là lấytài nguyên sẵn sàng tiếp theo trong hệ thống, nhưng thường thì nó liên quan đến cáchàng đợi công việc ưu tiên, quản lý tải, tìm kiếm các tài nguyên đã đăng ký sử dụng,theo dõi tiến trình Nếu có một tập các công việc riêng lẻ,không phụ thuộc vào nhauthì không cần các bộ lập lịch phức tạp Tuy nhiên, nếu muốn giữ chỗ các tài nguyênđặc biệt hay chắc chắn rằng các công việc chạy song song thì nên sử dụng các bộ lậplịch để phối hợp hoạt động của các công việc Lưu ý, các cluster có thể được xem làmột tài nguyên đơn lẻ, chúng có bộ lập lịch riêng để quản lý các node của nó Một bộlập lịch cấp cao hơn dùng để quản lý các công việc cần thực hiện trên cluster trong khi
bộ lập lịch cục bộ của cluster sẽ điều phối các công việc cụ thể trên từng máy tính con
e Thành phần quản lý dữ liệu (Data management)
Nếu bất cứ dữ liệu nào, bao gồm cả các module thực thi của ứng dụng, cần phải dichuyển thì cần phải có các phương pháp an toàn, tin cậy để di chuyển các file và dữliệu qua lại giữa các node trong Grid Do đó, cần phải có thành phần này
f Thành phần quản lý công việc và tài nguyên (Job and resource
management)
Sau khi đã có các tiện nghi như trên, việc tiếp theo là xây dựng các dịch vụ hỗ trợ việcthực hiện các công việc thật sự trong môi trường Grid Để giải quyết các tác vụ nòngcốt như khởi chạy ứng dụng với các tài nguyên cụ thể, theo dõi trạng thái các côngviệc, nhận kết quả, hệ thống Grid cần có thành phần quản lý công việc và tài nguyên
g Các thành phần khác
Còn có nhiều thành phần khác để đưa vào môi trường Grid và cần được xem xét khithiết kế và cài đặt ứng dụng Ví dụ : Các tiện ích như liên lạc giữa các tiến trình (InterProcess Communication) và các dịch vụ hỗ trợ tính toán chi phí và chi trả là nhữngtiện ích được yêu cầu nhiều nhất Trên đây là giới thiệu vắn tắt và tổng quan về cácthành phần chính của môi trường Grid Tuỳ thuộc vào việc triển khai Grid và các yêucầu của ứng dụng, có nhiều cách khác nhau để kết hợp các thành phần này lại với nhau
để tạo nên một giải pháp Grid
1.7 Kiến trúc Grid
1.7.1 Bản chất Kiến trúc Grid
“Tổ chức ảo”(VO) là đơn vị cơ bản quan trọng trong hệ thống Grid Việc thiết lập,quản lý, khai thác các quan hệ chia sẻ tài nguyên giữa các tổ chức ảo đòi hỏi phải cókiến trúc hệ thống mới, kiến trúc Grid Kiến trúc Grid dưới đây được xây dựng dựatrên quan niệm “để các VO hoạt động hiệu quả đòi hỏi phải thiết lập được các quan hệ
Trang 21chia sẻ với bất kỳ đơn vị tham gia tiềm năng nào” Để làm được điều này, vấn đề “liênkết hoạt động” (interoperability) cần phải được tập trung giải quyết Trong môi trườngmạng, “liên kết hoạt động” đồng nghĩa với việc sử dụng các protocol chung Do đó,kiến trúc Grid sẽ là kiến trúc protocol, với các protocol xác định các cơ chế nền tảng
để người dùng và nhà cung cấp tài nguyên thương lượng, thiết lập, quản lý và khaithác các mối quan hệ chia sẻ tài nguyên
Kiến trúc Grid phải là kiến trúc dựa chuẩn, hướ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ẽ giúp định nghĩacác service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách dễ dàng
Sau khi có đượ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ộ SDK
để cung cấp các công cụ cần thiết để phát triển các ứng dụng chạy trên nền Grid
Sở dĩ vấn đề “liên kết hoạt động” được xem là vấn đề cơ bả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ữacác môi trường khác nhau về nền tảng, ngôn ngữ, môi trường lập trình,…Nế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ẻ song phương vàkhông chắc rằng các cơ chế sử dụng cho 2 thành viên này sẽ mở rộng được cho cácthành viên khác Điều này khiến cho việc thành lập các VO động là không thể thựchiện hoặc cũng chỉ thành lập được VO theo một kiểu nào đó mà thôi Cũng giống nhưWeb đã làm bùng nổ 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ệc trao đổi thông tin, ở đây cũng cần cácprotocol và cú pháp chuẩn để chia sẻ tài nguyên
Để giải quyết vấn đề “liên kết hoạt động”, việc xây dựng các protocol là quan trọng
Vì protocol xác định cách các thành phần phân tán trao đổi với nhau để đạt được mộtmục đích nào đó, xác định các cấu trúc thông tin cần thiết trong quá trình trao đổi Các
VO thường hay thay đổi, nên các cơ chế xác định, chia sẻ và sử dụng tài nguyên cầnphả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ập,thay đổi một cách nhanh chóng Các cơ chế chia sẻ không được ảnh hưởng đến cácchính sách cục bộ, và phải cho phép các thành viên quản lý được các tài nguyên của
họ Vì các protocol quy định việc giao tiếp giữa các thành viên chứ không quy địnhthành viên đó phải như thế nào, nên khi dùng các protocol, các chính sách cục bộ đượcgiữ lại Do đó các protocol được cần đến
Khi đã có các protocol, thì việc xây dựng các service là cần thiết và quan trọng, cácservice là bản cài đặt cụ thể của các protocol Việc xây dựng các service cơ bản phục
vụ truy cập đế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ệu,… cho phép xây dựng các service cao cấp hơn cho ứng dụngđồng thời trừu tượng hoá các chi tiết về tài nguyên
Cũng cầ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 môi trường Grid, ngườidùng cũng phải có khả năng thực thi được các ứng dụng này Sức mạnh, tính đúng đắncủa ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm quan trọng Các API
Trang 22và SDK có thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ mã, tăng tính khả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ác protocol được.
1.7.2 Chi tiết Kiến trúc Grid tổng quát
Sau gần 10 năm tập trung nghiên cứu, phát triển, tích luỹ kinh nghiệm, các nhà pháttriển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid Một trongnhững kiến trúc Grid được chấp nhận nhiều nhất được đưa ra bởi Ian Foster, phần dướiđây sẽ 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ầng như trong hình 2-8 Cácthành phần trong một tầng có chung đặc điểm, tính chất, có thể được xây dựng từ bất
cứ tầng dưới nào Các thành phần được phân tầng dựa theo vai trò của chúng trong hệthống Grid Đây là một kiến trúc mở
Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với mục đích chính là để tham khảo Việc xây dựng, cài đặt cụ thể tuỳ thuộc vào từng dự án, từng lĩnh vực ứng dụng
Dưới đây là chi tiết của kiến trúc:
Hình 1-6 Kiến trúc Grid tổng quát
Trang 23tài nguyên, tiến trình trong cluster,…) nhưng các protocol này không liên quan đếnkiến trúc Grid.
Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ trên các tài nguyên cụthể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ tài nguyên của cáctầng trên Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa các chức năng của tầngFabric với các hoạt động chia sẻ được hỗ trợ Các chức năng của tầng Fabric càngmạnh, càng nhiều sẽ cho phép các hoạt động chia sẻ phức tạp, phong phú hơn Kinhnghiệm cho thấy, việc quản lý tài nguyên ở tầng này ít nhất cũng phải có cơ chế cungcấp thông tin để xác được cấu trúc, trạng thái, năng lực của tài nguyên và cơ chế điềukhiển chất lượng dịch vụ
b.Tầng Connectivity
Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực cơ bản cần thiết chocác giao dịch mạng đặc trưng của Grid Các protocol liên lạc cho phép trao đổi dữ liệugiữ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 các cơ chế mã hóa, bảo mật, xác minh và nhận dạng các ngườidùng và tài nguyên Việc liên lạc đòi hỏi các công việc như vận chuyển, định tuyến,đặt tên Trong tương lai, việc liên lạc của Grid có thể cần các protocol mới, nhưng hiệnnay 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áctầng Network (IP và ICMP), Transport (TCP,UDP) và Application (DNS,OSPF,…)
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ẩnbảo mật hiện hành khi có thể Cũng giống như liên lạc, rất nhiều chuẩn bảo mật đãđược phát triển với bộ Internet protocol có thể áp dụng được
Việc chứng thực, phân quyền trong môi trườ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êntrong một lúc nào đó có thể là server (khi nó nhận yêu cầu), một lúc khác lại là client(khi nó đề xuất yêu cầu đến các tài nguyên khác) Do đó, các giải pháp chứng thực chocác môi trường VO nên đạt được các yêu cầu về bảo mật trong Grid như đã giới thiệu
ở trên
c. 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ệc thươnglượng, khởi tạo, theo dõi,điều khiển, tính toán chi phí và chi trả cho các hoạt động chia sẻ trên từng tài nguyên riêng lẻ một cách an toàn Bản cài đặt các protocol của tầng Resource sẽ gọi các chức năng của tầng Fabric để truy cập và điề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ạt động trong các tập tài nguyên phân tán
Các protocol tầng Resource được phân thành 2 dạng chính như sau:
+ Các protocol thông tin