Mặt khác, theo đà phát triển con người càng ngày càng đối mặt với nhiều vấn đề lớn, phức tạp trong khoa học, thương mại đòi hỏi năng lực xử lý tính toán, lưu trữ lớn: - Trong khoa học:
Trang 1TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN
-o0o -
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGÀNH: CÔNG NGHỆ THÔNG TIN
TÌM HIỂU CÔNG NGHỆ TÍNH TOÁN LƯỚI
Giáo viên hướng dẫn : ThS Cao Thanh Sơn
Sinh viên thực hiên : Phạm Hồng Minh Trí
NGHỆ AN – 12/2011
Trang 2LỜI CẢM ƠN
Em xin tỏ lòng biết ơn chân thành nhất đến tất cả mọi người đã giúp đỡ,
hỗ trợ em thực hiện luận văn này, một điểm mốc quan trọng trong cuộc đời và
sự nghiệp của em
Em xin cảm ơn khoa Công nghệ thông tin, trường đại học Vinh đã cho phép và tạo điều kiện cho em thực hiện luận văn này
Luận văn này sẽ không thể hoàn thành nếu không có sự giúp đỡ và chỉ bảo tận tình của thầy giáo ThS Cao Thanh Sơn - giảng viên khoa Công nghệ thông tin - trường đại học Vinh, người thầy hướng dẫn của em Em xin chân thành biết ơn về những chỉ bảo, định hướng cho em trong suốt quá trình thực hiện đề tài
Em cũng xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ thông tin, trường đại học Vinh đã tận tình giảng dạy, rèn luyện, truyền đạt những kiến thức, kỹ năng, kinh nghiệm quý báu cho chúng em trong suốt 4 năm qua Đây là những hành trang quý giá để chúng em vững bước vào đời
Em xin chân thành cảm ơn các anh chị, các bạn đã nhiệt tình giúp đỡ, ủng hộ, chia sẽ những kinh nghiệm, hỗ trợ không những trong quá trình thực hiện luận văn mà còn trong suốt thời gian học dưới mái trường này
Mặc dù đã nổ lực và cố gắng, nhưng luận văn chắc chắn không tránh khỏi những thiếu sót Em xin kính mong sự thông cảm và tận tình chỉ bảo, đóng góp ý kiến của quý Thầy Cô và các bạn Một lần nữa xin gửi đến tất cả mọi người lời cảm ơn chân thành nhất Xin cảm ơn !
Ngày 10 tháng 12 năm 2011 Sinh viên thực hiện Phạm Hồng Minh Trí
Trang 3MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 LÝ THUYẾT TỔNG QUAN VỀ CÔNG NGHỆ TÍNH TOÁN LƯỚI 4
1.1 Khái niệm 4
1.1.1 Theo lịch sử 4
1.1.2 Khái niệm 5
1.2 Các tài nguyên của Lưới 7
1.2.1 Tài nguyên tính toán 7
1.2.2 Tài nguyên lưu trữ 7
1.2.3 Phương tiện liên lạc 7
1.2.4 Phần mềm, ứng dụng 8
1.2.5 Các thiết bị đặc biệt 8
1.3 Phân loại Lưới 8
1.3.1 Lưới Tính toán (Computation Grid) 8
1.3.2 Lưới Dữ liệu (Data Grid) 9
1.3.3 Lưới lọc (Scavenging Grid) 9
1.4 Đồ hình của Lưới (Grid Topology) 9
1.4.1 Simple Grid 10
1.4.2 IntraGrid 11
1.4.3 ExtraGrid 12
1.4.4 InterGrid 12
1.5 Kiến trúc Lưới 13
1.5.1 Tầng Nền (Fabric) 14
1.5.2 Tầng Kết nối (Connectivity) 15
1.5.3 Tầng Tài nguyên (Resource) 16
1.5.4 Tầng Kết hợp (Collective) 17
1.5.5 Tầng Ứng dụng (Application) 18
CHƯƠNG 2 LỢI ÍCH VÀ THÁCH THỨC CỦA TÍNH TOÁN LƯỚI 20
2.1 Lợi ích của Tính toán lưới 20
2.1.1 Khai thác, tận dụng tài nguyên nhàn rỗi 20
2.1.2 Sử dụng CPU song song 20
Trang 42.1.3 Cho phép hợp tác trên toàn thế giới 21
2.1.4 Cho phép phân chia, sử dụng tất cả các loại tài nguyên 21
2.1.5 Tăng tính tin cậy cho các hệ thống máy tính 21
2.1.6 Tăng khả năng quản trị các hệ thống 22
2.2 Những thách thức của Tính toán lưới 22
2.1.1 Quản lý tài nguyên 22
2.2.2 Bảo mật 25
2.2.3 Quản lý thông tin 26
2.2.4 Quản lý dữ liệu 27
2.2.5 Phát triển ứng dụng 28
2.2.6 Các vấn đề khác 28
CHƯƠNG 3 PHÂN TÍCH ỨNG DỤNG GRID MOVIE 29
3.1 Giới thiệu 29
3.1.1 Movie Storage 29
3.1.2 Movie Distribution 30
3.1.3 Movie Database 30
3.1.4 Movie Manipulation 30
3.2 Các thành phần trong Grid Movie 31
3.3 Lựa chọn công nghệ 31
3.4 Tổng quan về công nghệ dịch vụ Web 32
3.4.1 Giới thiệu về Service Oriented Architeture – SOA 32
3.4.2 Kiến trúc SOA 32
3.4.3 Web service 34
3.4.4 Các công nghệ dịch vụ web sẽ sử dụng 35
3.5 Lựa chọn nền tảng (platform) và phần mềm 36
Trang 5Danh sách hình
Hình 1-1: Hình dung chung về Tính Toán Lưới 10
Hình 1-2: Tổng quan đồ hình Lưới 14
Hình 1-3: Đồ hình Simple Grid 14
Hình 1-4: Đồ hình IntraGrid 15
Hình 1-5: Đồ hình ExtraGrid 16
Hình 1-6: Đồ hình InterGrid 17
Hình 1-7: Kiến trúc Grid tổng quát 18
Trang 6MỞ ĐẦU
Với những tiến bộ trong nền công nghiệp sản xuất phần cứng máy tính, các thế hệ máy tính ngày nay đã trở nên mạnh và rẻ hơn rất nhiều so với các thế hệ trước đó Cùng với sự hữu ích, máy tính đã trở nên phổ dụng khắp nơi trên thế giới, đi sâu vào mọi công việc của con người, từ công việc hàng ngày, công sở, kinh doanh đến sản xuất, nghiên cứu khoa học cho đến việc giải trí, thư giãn Do đó số lượng máy tính hiện nay trên thế giới là rất lớn với tổng cộng năng lực xử lý và lưu trữ khổng lồ
Tuy nhiên, các ứng dụng ngày nay chỉ mới sử dụng được một phần rất nhỏ năng lực xử lý và lưu trữ do các ứng dụng chỉ chạy trên các máy tính cục
bộ, đơn lẻ, phân tán khắp nơi theo địa lý Từ đó dẫn đến lãng phí rất lớn Một câu hỏi được đặt ra là làm sao tận dụng tốt hơn năng lực đang bị lãng phí của của máy tính
Mặt khác, theo đà phát triển con người càng ngày càng đối mặt với nhiều vấn đề lớn, phức tạp trong khoa học, thương mại đòi hỏi năng lực xử lý tính toán, lưu trữ lớn:
- Trong khoa học:
+ Cách đây 10 năm các nhà sinh học đã rất vui mừng khi họ có thể giả lập một đơn phân tử trên máy tính, ngày nay họ giả lập hàng ngàn phần tử thuốc, protein và tác dụng tương hỗ giữa chúng để tạo ra các loại thuốc mới
để chữa bệnh
+ Để nghiên cứu các hạt cơ bản và tương tác giữa chúng, hàng năm
ngành Vật lý Năng lượng cao (High Energy Physics) tạo ra khoảng 10
Petabytes (dung lượng tương đương khoảng 20 triệu đĩa CD-ROM) dữ liệu Hay các nhà vật lý địa cầu thực hiện theo dõi bầu khí quyển, tầng ozone, hàng ngày phải lưu trữ và phân tích khoảng 100 Gigabytes dữ liệu ảnh chụp từ các
vệ tinh Ở đây cho thấy cần phải có năng lực lưu trữ rất lớn
Trang 7+ Việc phân tích, giải mã bộ gen người, các dự án nghiên cứu vũ trụ,… cũng cần năng lực xử lý rất lớn
+ Vấn đề hợp tác giữa hàng ngàn nhà khoa học trên toàn thế giới, hỗ trợ việc chia sẻ một lượng lớn dữ liệu, thực hiên các tính toán phức tạp trực tuyến trên các dữ liệu đó
- Trong thương mại:
+ Các bài toán phân tích xử lý số liệu kinh tế của quốc gia, các công ty
đa quốc gia,…
+ Các công ty cung cấp dịch vụ mạng cho hàng triệu người dùng trên
Thực tế khiến người ta nảy sinh ý tưởng phải kết hợp các máy tính phân tán khắp nơi trên thế giới trơ thành một siêu máy tính khổng lồ nhằm tận dụng năng lực tính toán, lưu trữ hiện đang lãng phí để giải quyết các bài toán phức tạp trên đây với chi phí thấp hơn
Trước đây, khi các công nghệ mạng chưa phát triển thì ý tưởng trên hầu như chưa thưc hiện được Nhưng hiện nay, các công nghệ mạng máy tính đã phát triển vượt bậc, hiệu năng mạng tăng lên rất nhiều qua thời gian, ý tưởng này đã có cơ sở để trở thành hiện thực Đến những năm cuối thế kỷ XX, các
Trang 8dự án nghiên cứu đầu tiên về lĩnh vực này đã khai sinh ra công nghệ Grid Computing
Công nghệ Grid Computing ra đời được dự đoán là công nghệ nền tảng của thể kỷ XX, làm thay đổi cách thức chúng ta tính toán, giống như Internet
đã từng làm thay đổi cách thức trao đổi thông tin trong thế kỷ XX Công nghệ Grid Computing đã mở ra cơ hội mới cho các nước không có nền công nghiệp thiết kế, chế tạo phần cứng máy tính mạnh, các công ty các tổ chức vừa và nhỏ có nguồn vốn thấp tạo ra các siêu máy tính để giải quyết các bài toán của riêng mình với chi phí thấp và độ làm chủ cao Ở Việt Nam, nền kinh tế đang dần phát triển, nhu cầu ứng dụng công nghệ thông tin vào các hoạt động nghiên cứu Khoa học – Kỹ thuật, quản lý Kinh tế - Xã hội ngày càng cao, đòi hỏi phải xử lý, lưu trữ những khối lượng dữ liệu lớn, khối lượng tính toán khổng lồ với chi phí thấp (vì chúng ta còn nghèo, nền công nghiệp chế tạo phần cứng máy tính còn kém phát triển, kinh phí đầu tư cho ngành Công nghệ thông tin chưa cao) Do đó, việc nghiên cứu, phát triển ứng dụng công nghệ Grid Computing vào thực tế được xem là một giải pháp quan trọng để giải quyết các bài toán trên Với tầm quan trọng như vậy, nên em đã chọn đề tài
“Tìm Hiểu Công Nghệ Tính Toán Lưới” làm luận văn tốt nghiệp của mình, nhằm góp phần vào việc phát triển và ứng dụng công nghệ Tính toán lưới vào thực tiễn
Cấu trúc luận văn như sau:
Chương 1: Lý thuyết tổng quan về Tính toán lưới: Trình bày khái
niệm, phân loại và kiến trúc của Tính toán lưới
Chương 2: Lợi ích và thách thức của Tính toán lưới: Giới thiệu, phân
tích các lợi ích cũng như những thách thức của Tính toán lưới
Chương 3: Phân tích ứng dụng Grid Movie: Phân tích các chức năng,
dịch vụ của ứng dụng, nêu ra các công cụ hỗ trợ
Trang 9CHƯƠNG 1 LÝ THUYẾT TỔNG QUAN VỀ CÔNG NGHỆ TÍNH TOÁN LƯỚI
1.1 Khái niệm
1.1.1 Theo lịch sử
Mặc dù công nghệ Grid Computing (Tính toán lưới) được nhắc đến rất nhiều trong thời gian gần đây, nhưng thực ra nhiều ý tưởng cơ bản về Grid (lưới) đã xuất hiện dưới dạng này hay dạng khác trong lịch sử tính toán
Ví dụ như ý tưởng “chia sẻ năng lực tính toán” đã xuất hiện từ những năm 60-70 của thể kỷ XX, lúc đó toàn bộ năng lực tính toán được chia sẻ từ các máy Mainframe (máy tính lớn)
Năm 1965, những người phát triển hệ điều hành Multics (tiền thân của
hệ điều hành Unix) đã đề cập đến việc sử dụng năng lực tính toán như một tiện ích, một quan điểm rất gần với quan điểm về Grid hiện nay Đó là một hệ thống cung cấp năng lực tính toán tương tự như hệ thống cũng cấp điện, nước hiện đang sử dụng trong cuộc sống hàng ngày Người dùng khi muốn sử dụng tài nguyên tính toán để xử lý công việc, chỉ cần cắm thiệt bị vào hệ thống cũng cấp, sử dụng và trả tiền giống như khi cắm thiết bị vào lưới điện
Tuy trước đó đã có nhiều ý tưởng về Grid nhưng nguồn gốc của Grid chính thức được xác định vào năm 1990, khi thuật ngữ “siêu tính toán” (metacomputing) ra đờ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 năm 1995, hai dự án siêu tính toán quan trọng, ảnh hưởng lớn đế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-WAY (Information Wide Area Year) ra đời
Khái niệm Grid ra đời ở phòng thí nghiệm Argonne National Laboratory vào tháng 7/1007, sau đó được đưa vào quyển sách “The Grid: Blueprint for a New Computing Infrastructure” viết cuốn này bởi tiến sỹ Ian Foster (Argonne
Trang 10National laboratory) và Carl Kesselman (University of Southern Califonia) năm 1998 Ian Foster đã từng tham gia dự án I-WAY, Carl Kesselman là người tham gia dự án Globus Toolkit, một dự án nền tảng của công nghệ Grid
Từ đó đến nay, việc phát triển công nghệ Grid trở nên rất sôi động với sự tham gia nghiên cứu, đầu tư của nhiều tổ chức, tập đoàn công nghệ thông tin, nhiều quốc gia, và đã thu được những thành tựu bước đầ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ển các ý tưởng, các công nghệ hiện hành ở mức cao hơn Sự phát triển không ngừng của cơ sở hạ tầng, phần cứng máy tính, mạng đã được các hệ thống Grid ngày nay thực hiện được nhiều điều hơn những ý tưởng trước đây
và tập đoàn, liên kết với nhau để chia sẽ tài nguyên và 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:
1 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ác nhau Công nghệ Grid tập trung giải quyết các vấn đề về bảo mật, chính sách quản trị, chi phí, thành viên… nảy sinh trong quá trình chia sẻ và sử dụng tài nguyên
2 Sử dụng cá giao diện và giao thức chuẩn, mang tính chất mở, đa dụng:
Trang 11Grid được sử dụng trên các giao thức và giao diện tổng quát, đa dụng để giải quyế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
3 Đá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 năng 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 tổng khả năng của tưng đơn vị cấu thành nên Grid
Chúng ta có thể hình dung về công nghệ Tính Toán Lưới qua hình vẽ sau
Hình 1-1: Hình dung chung về Tính Toán Lưới
Trang 121.2 Các tài nguyên của Lưới
1.2.1 Tài nguyên tính toán
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán được cung cấp bởi bộ vi xử lý của các thiết bị trong Grid Các bộ 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ác nhau
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 (nút) 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.2.2 Tài nguyên lưu trữ
Tài nguyên phổ biến thứ hai trong Grid là tài nguyên lưu trữ Mỗi thiết bị trong Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên Grid Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết bị lưu trữ khác nhau 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ăng khô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
1.2.3 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ông nghệ 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ệu lớ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ên then 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ày không chia sẻ một đường truyền nên làm tăng băng thông truy cập Internet
Trang 13Cá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
1.2.4 Phần mềm, ứng dụng
Grid có thể được cài đặt các phần mềm mà có thể quá đắt để 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ầ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
1.2.5 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… 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ý
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ể 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” để 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.3 Phân loại Lưới
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ại bở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 kết hợp 2 hay nhiều loại khác nhau
1.3.1 Lưới 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áy tí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ính toá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
Trang 14nă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
1.3.2 Lưới 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ệm lưu trữ và cũng 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ò quan 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ụng trong lĩnh vực khai thác dữ liệu hoặc các hệ thống thương mại thông mình 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à Grid tính toán
1.3.3 Lưới lọc (Scavenging Grid)
Mộ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ủa máy để bàn thường có quyền xác định khi nào thì chia sẻ chiếc máy tính của mình
1.4 Đồ hình của Lưới (Grid Topology)
Grid có thể được xây đựng theo nhiều kích cở khác nhau, từ một nhóm vài máy tính đặt trong một phòng ban đến hàng trăm nhóm máy tính tổ chức theo 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ình Grid
cơ bản
Trang 16chính sách đặc biệ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ùng kiế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
1.4.2 IntraGrid
Hình 1-4: Đồ hình IntraGrid
Mở 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ống khô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ách bả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 quan trọ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 filesystem) 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 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ần phả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ệc nà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ên cạ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òng ban 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
Trang 171.4.3 ExtraGrid
Vẫn trong cùng một tổ chức, ExtraGrid là sự kết hợp hai hay nhiều IntraGrid Như trong hình 5, ExtraGrid liên quan đến nhiều vùng quản lý khác nhau, phân tán theo địa lý, sử dụng các kết nối truy cập từ xa hay WAN, do
đó độ phức tạp trong quản lý tăng lên rất nhiều Đối với ExtraGrid, các tài nguyên mang tính động hơn, Grid cần phải linh động trong việc quản lý tài nguyên, cần có cơ chế kiểm soát và phục hồi lỗ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-5: Đồ hình ExtraGrid
1.4.4 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ông qua các kết nối Internet và WAN
Trong dạnh Grid này, cấp độ bảo mật cao nhất cần được áp dụng để ngăn ngừa cá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
Trang 18Hình 1-6: Đồ hình InterGrid
1.5 Kiến trúc Lưới
Sau nhiều năm tập trung nghiên cứu, phát triển, tích lũy kinh nghiệm, các nhà phát triển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid Một trong nhữ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 Các thà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 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ể tùy thuộc vào từng dự án, từng lĩnh vực ứng dụng
Trang 19Hình 1-7: Kiến trúc Grid tổng quát
1.5.1 Tầng Nền (Fabric)
Chức năng chính của tầng này là cung cấp các loại tài nguyên chia sẻ, được phép truy cập của mạng lưới thông qua các giao thức mạng lưới Các loại tài nguyên này bao gồm: tài nguyên tính toán, các hệ thống lưu trữ dữ liệu, các catalog thông tin, các tài nguyên mạng và các đầu cảm biến (sensors)
Các thành phần ở tầng này được triển khai ở mức cục bộ, các thao tác tài nguyên đặc biệt trong tầng này chính là một kết quả của các thao tác được chia sẽ ở tầng cao hơn Như vậy là có một sự ràng buộc tinh vi, chặt chẽ giữa các chức năng được cài đặt ở lớp nền với các thao tác chia sẻ được hỗ trợ ở tầng khác
Các loại tài nguyên trong tầng này đều bị ràng buộc bởi hai cơ chế:
• Cơ chế quản lý tài nguyên (Resource Management Mechanism): cho phép cung cấp khả năng điều phối chất lượng dịch vụ
• Cơ chế thẩm tra (Enquiry Mechanism): cho phép tìm hiểu cấu trúc, tình trạng và các tính năng của tài nguyên
Các loại tài nguyên chính trong tầng Nền:
Trang 20• Tài nguyên tính toán: là các cơ chế bắt buộc tuân thủ khi bắt đầu chạy chương trình, cho phép kiểm soát, điều khiển việc thi hành các tiến trình
Cơ chế quản lý: cho phép quản lý các loại tài nguyên đã được xác định
rõ vị trí làm cho các tiến trình đạt được lợi ích nhiều hơn
Cơ chế thẩm tra: có khả năng xác định rõ phần cứng, phần mềm nhờ các thông tin về tính trạng của hệ thống (tải hiện thời, tình trạng hàng đợi …)
• Tài nguyên lưu trữ: là cơ chế bắt buộc cho việc lấy về và tải lên các tập tin từ hệ thống lưu trữ, cho phép đọc một phần của tập tin cũng như cho phép chọn lọc dữ liệu từ các tập tin ở xa
Cơ chế quản lý: làm cho việc di chuyển tập tin dễ dàng hơn (không gian, băng thông đĩa, băng thông mạng, tải của CPU …)
Cơ chế thẩm tra: xác định tình trạng phần cứng và phần mềm thông qua các thông tin tải Thí dụ dung lượng đĩa còn trống, băng thông sử dụng …
• Tài nguyên mạng:
Cơ chế quản lý: có tác dụng làm cho việc lưu chuyển trong mạng được tốt hơn, hiệu quả hơn thông qua các quyền ưu tiên …
Cơ chế thẩm tra: cho phép xác định các đặc điểm của mạng
• Các kho mã nguồn: là nơi quản lý tất cả các loại tài nguyên và tất cả các phiên bản của mã nguồn …
1.5.2 Tầng Kết nối (Connectivity)
Tầng Kết nối định nghĩa ra các giao thức liên lạc và chứng thực cơ bản cần thiết cho các giao diện mạng đặc trưng của lưới Các giao thức liên lạc cho phép trao đổi dữ liệu giữa các tài nguyên tầng Nền Các giao thức 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ười dù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 lưới có thể cần các giao thức mới, nhưng hiện nay nên xây dựng trên các giao thức 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à Application (DNS, OSPF,…)
Trang 21Về khía cạnh bảo mật của tầng Kết nối, 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ũ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ộ giao thức Internet có thể áp dụng được
Việc chứng thực, phân quyền trong môi trường lưới 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 (khách) và server (chủ) Trong lưới, 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ộ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 cho các môi trường tổ chức ảo nên đạt được các yêu cầu về bảo mật trong lưới như đã giới thiệu
1.5.3 Tầng Tài nguyên (Resource)
Tầng Tài nguyên dựa trên các giao thức liên lạc và chứng thực của tầng Kết nối để xây dựng các giao thức, API và SDK nhằm hỗ trợ việc thương lượ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 chía 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 giao thức của tầng Tài nguyên sẽ gọi các chức năng của tầng Nền để truy cập
và điều khiển các tài nguyên cụ bộ
Các giao thức tầng Tài nguyên 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 giao thức tầng Tài nguyên được phân thành 2 dạng chính như sau: + Các giao thức thông tin
Sử dụng để thu thập thông tin về cấu trúc và trạng thái các tài nguyên
ví dụ như cấu hình hiện tại, tải hiện tại, chính sách sử dụng,…
+ Các giao thức quản lý
Sử dụng để thượng lượng truy xuất đến một tài nguyên chia sẻ, xác đị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ất lượng dịch vụ) và các thao tác cần được thực hiện như tạo tiến trình, hoặc truy xuất dữ liệu Do các giao thức quản lý chịu trách nhiệm đạ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à