TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TIỂU LUẬN
NGUYÊN LÝ VÀ MÔ THỨC PHÁT TRIỂN HỆ PHÂN TÁN
Đề tài 02: MÔ HÌNH TÍNH TOÁN LƯỚI
Giáo viên hướng dẫn: TS. Vũ Thị Hương Giang
Học viên thực hiện : 1. Vũ Thị Uyên CB120122
2. Vũ Tuấn CB121362
3. Dương Phú Thuần CB121358
Lớp: 12BCNTT2 (KT)
Chuyên ngành: Công nghệ thông tin (KT)
Hà Nội, 01/2013
MỤC LỤC
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 1
1
1.1. Tổng quan về tính toán lưới 4
1.1.1. Khái niệm tính toán lưới 4
1.1.2. Các lợi ích từ tính toán lưới 5
1.2. Kiến trúc tính toán lưới 7
1.3. Bảo mật trong mô hình tính toán lưới 11
1.3.1. Các vấn đề về bảo mật trong tính toán lưới 11
1.3.2. Hạ tầng an ninh của lưới 12
1.3.3. Bảo mật cho các thành phần của lưới 12
2. Ứng dụng của mô hình tính toán lưới 13
2.1. Tính toán lưới với dịch vụ web XML 13
2.1.1. Tính toán tình nguyện 13
2.1.2. Dịch vụ web tính toán 14
2.2. Tính toán lưới với điện thoại di động 15
2.3. Tính toán lưới trong xử lý các văn bản số lượng lớn 16
3. Kết luận 17
2
LỜI NÓI ĐẦU
Trong xu thế ngày càng phát triển của công nghệ thông tin và nền công nghiệp
tính toán, ngày càng có nhiều bài toán phức tạp hơn được đặt ra và do đó các tổ chức
cũng cần phải có được công nghệ cho phép tính toán mạnh hơn. Để giải quyết vấn đề này
ta có thể đầu tư cho trang thiết bị, cơ sở hạ tầng tính toán hoặc có thể phân bố lại một
cách hợp lý các nguồn tài nguyên hoặc sử dụng tài nguyên bên ngoài với chi phí thấp.
Tuy nhiên do chi phí tốn kém để đầu tư cho cơ sở hạ tầng tính toán, nhiều tổ chức đã lựa
chọn phương án thứ hai đó là mục đích ra đời của tính toán lưới. Điểm chính yếu của lưới
không phải là sức mạnh tính toán mà là tính thực tiễn thể hiện ở chỗ các lưới tính toán
thường được tạo ra dựa trên việc tận dụng các nguồn tài nguyên bình thường sẵn có mà
không cần phải mua hoặc tạo ra một cơ sở hạ tầng tính toán mới.
Ở Việt Nam, trong những năm gần đây mô hình tính toán lưới đã được nghiên cứu
và ứng dụng nhưng mới chỉ triển khai ở một số ít các trung tâm tính toán của các trung
tâm nghiên cứu hoặc các trường đại học. Để có cái nhìn tổng quan về mô hình tính toán
lưới, trong phạm vi bài tiểu luận này nhóm chúng tôi xin trình bày các nội dung như sau:
1. Mô hình tính toán lưới: Trình bày tổng quan về tính toán lưới, kiến trúc tính
toán lưới và vấn đề bảo mật trong tính toán lưới
2. Các ứng dụng của tính toán lưới: Trình bày một số các ứng dụng của mô hình
tính toán lưới áp dụng trong thực tế.
3. Kết luận: Đánh giá về mô hình tính toán lưới và hướng phát triển của mô hình
tính toán lưới trong tương lai.
Chúng tôi xin chân thành cảm ơn cô giáo, TS Vũ Thị Hương Giang đã giúp đỡ
chúng tôi trong quá trình làm tiểu luận này.
Nhóm học viên thực hiện
Vũ Thị Uyên
Vũ Tuấn
Dương Phú Thuần
3
1. Mô hình tính toán lưới
1.1. Tổng quan về tính toán lưới
1.1.1. Khái niệm tính toán lưới
Vậy tính toán lưới là gì? Có nhiều định nghĩa được đưa ra cho mô hình tính toán
lưới và vẫn chưa có được một định nghĩa nào được coi là chuẩn. Năm 1998 tiến sĩ Ian
Foster và Carl Kesselman đã định nghĩa Grid trong cuốn “the Grid: blueprint for a new
computing infrastructure”: “A computational grid is a hardware and software
infrastructure that provides dependable, consistent, pervasive, and inexpensive access to
high-end computational capabilities” có nghĩa là: “Một mạng lưới tính toán là hạ tầng cơ
sở phần cứng và phần mềm mà cung cấp các xử lý độc lập, chắc chắn, tin cậy và giá rẻ
cho các bài toán tính toán hiệu năng cao”.
Hai năm sau tiến sĩ Ian Foster đã đưa ra một định nghĩa hoàn chỉnh cho Grid:
“Grid computing is concerned with “coordinated resource sharing and problem solving
in dynamic, multi-institutional virtual organization.” A set of individuals and/or
institutions defined by some sharing rules form what we call a virtual organization
(VO)”. Hay: “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 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)”.
Cũng theo tiến sĩ Ian Foster đề xuất thì một hệ thống lưới có 3 đặc điểm chính:
- Có sự kết hợp, chia sẻ tài nguyên không được quản lý tập trung: Grid tích
hợp và phối hợp các 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 và nhiều tổ chức khác nhau.
- Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng: Tính toán
lưới sử dụng các chuẩn mở để chia sẻ qua mạng những tài nguyên phức tạp nằm tại
những điểm khác nhau tùy thuộc vào khu vực. Nói theo một cách khác nó đã ảo hóa các
tài nguyên tính toán.
- Đáp ứng yêu cầu cao về chất lượng dịch vụ: Tính toán lưới tạo ra một mô hình
để giải quyết các bài toán tính toán lớn bằng những tài nguyên nhàn rỗi , cung cấp giải
pháp cho những bài toán về tính toán hiệu năng cao như tạo nếp protein, mô hình hóa tài
chính, mô phỏng động đất, dự báo thời tiết. Nó được thiết kế với mục tiêu giải quyết các
bài toán tính toán quá lớn cho một siêu máy tính trong khi vẫn linh hoạt với các bài toán
nhỏ. Vì vậy nó cung cấp một môi trường đa người dùng. Hình 1.1 dưới đây là một mô
hình minh họa cho tính toán lưới.
4
Hình 1.1. Mô hình minh họa cho tính toán lưới
1.1.2. Các lợi ích từ tính toán lưới
Theo IBM, các lợi ích mà tính toán lưới mang lại bao gồm:
- Khai thác tận dụng các nguồn tài nguyên nhàn rỗi
Đây có thể được coi là lợi ích lớn nhất mà tính toán lưới mang lại và cũng là lợi
ích dễ nhìn thấy nhất khi triển khai một hệ thống tính toán lướ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 là các tài nguyên trong tổ chức của
mình. Các máy tính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả các
sever cũng thườ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ều cá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áy tính nhàn 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
đến các máy tính nhàn rỗi khác cho xử lý song song, …
Một chức năng nữa của grid đó là cân bằng sử dụng tài nguyên tốt hơn. Một tổ
chức thườ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ài
nguyên. Với grid, có thể chuyển hoạt động đến tài nguyên nhàn rỗi khác, hoặc có thể
thêm tài nguyên mới một cách dễ dàng, từ đó làm tăng khả năng của hệ thống.
- Sử dụng các bộ xử lý song song
Tiềm năng sử dụng các bộ xử lý song song là một trong những tính năng phổ biến
nhất của một Grid. Ngoài các nhu cầu thuần túy cho khoa học, sức mạnh tính toán do grid
mang lại 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 y
dược, kinh tế tài chính , công nghiệp vũ trụ, dự báo thời tiết,…
- Hợp tác dựa trên các tài nguyên ảo và các tổ chức ảo
5
Một tiềm năng khác của tính toán lưới là cung cấp một môi trường hợp tác trong
phạm vi rộng hớn. Trước đây các công nghệ phân tán cũng cho phép hợp tác nhưng chỉ
trong quy mô nhỏ còn grid cho phép trên phạm vi toàn cầu khi đưa ra những chuẩ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.
Người dùng Grid có thể được tổ chức tự động thành một số các tổ chức ảo mà mỗi
tổ chức có các yêu cầu chính sách khác nhau. Các tổ chức ảo này có thể chia sẻ tài
nguyên của họ như một grid lớn.
- Cho phép chia sẻ 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òn 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ác thiết
bị đặc biệt, phần mềm, bản quyền và các dịch vụ, …
Ví dụ: một người muốn tăng băng thông kết nối internet của mình lên để thực
hiện một ứng dụng khai thá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ết nối internet riêng, từ đó băng thông truy cập internet của người đó
sẽ tăng lên rất nhiều lần, …
- Cân bằng tài nguyên
Một Grid tổ chức một số lượng lớn các tài nguyên kết hợp bởi các máy tính cá
nhân thành một hệ thống lớn duy nhất. Với các ứng dụng cho phép grid, grid có thể cung
cấp hiệu ứng cân bằng tài nguyên bằng các lập lịch các công việc trên máy với khả năng
sử dụng thấp. Tính năng này là quan trọng khi xử lý các trường hợp tải lớn bất thường
trong một bộ phận của một tổ chức lớn.
- Tăng tính tin cậy cho các hệ thống máy tính
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ơn và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 cho
cá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òn lạ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ông việc trên một node khác
khi phát hiện có lỗi trong hệ thống. Nếu quan trọng hơn nữa, trong các hệ thống theo thời
gian thực, nhiều bản dự phòng của 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.
- Tăng khả năng quản trị các hệ thống
6
Mục tiêu “ảo hóa” 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ầng
cô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 hạ tầng thông tin, grid cho phép quản lý độ ưu tiên sử dụng tà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 các tài nguyên của dự án này đang nhàn rỗi trong khi dự án kia đang
gặp vấn đề, thiếu tài nguyên do gặp các sự cố không lường trước đượ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ể được giải quyết một cách dễ dàng.
1.2. Kiến trúc tính toán lưới
Tổ chức ảo (Virtual Organization) là đơn vị cơ bản quan trọng nhất của 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 được xây dựng dựa
trên quan niệm: “Để các tổ chức ảo hoạt động hiệu quả đòi hỏi phải thiết lập các quan hệ
chia 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ên kết hoạt động” (interoperability) cần phải
được tập trung giải quyết. Trong môi trường mạng, “liên kết hoạt động” đồng nghĩa với
việc sử dụng các giao thức (protocol) chung. Do đó, kiến trúc Grid là kiến trúc giao thức,
với các giao thức xác định, 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à khai thá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 giao thức chuẩn sẽ giúp định
nghĩa các dịch vụ (service) chuẩn, nhờ đó xây dựng dễ dàng các dịch vụ cao cấp hơn.
Dưới đây là kiến trúc lưới do Ian Foster đề xuất. Các thành phần trong cùng một
tầng có đặc điểm, tính chất và 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 grid, kiến trúc này là một kiến trúc
mở. Kiến trúc chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với các mục
chính là để tham khảo. Việc cài đặt cụ thể tùy thuộc vào từng dự án từng lĩnh vực cụ thể.
7
Hình 1.2. Kiến trúc phân tầng của mô hình tính toán lưới
- Tầng thiết bị (fabric)
Đây là tầng thấp nhất trong kiến trúc phân tầng tính toán lưới có chức năng tương
tự như tầng vật lý trong OSI. Nó bao gồm các tài nguyên được truy cập và sử dụng bởi
các dịch vụ hay các ứng dụng thông qua giao thức lưới. Các tài nguyên này có thể là các
tài nguyên tính toán, tài nguyên dữ liệu, tài nguyên mạng, thiết bị ngoại vi hoặc cao hơn
là hệ thống tệp phân tán, các tài nguyên chuyên dụng …
Tương tự như các API trong hệ điều hành, tầng thiết bị thực hiện các thao tác trên
các tài nguyên cụ thể và chúng được gọi bởi các ứng dụng hay dịch vụ ở các tầng trên
như tầng liên kết, tầng tài nguyên. Các hàm thực hiện ở tầng thiết bị độc lập với nhau và
các tài nguyên trên tầng thiết bị có thể cho phép nhiều thao tác hay chức năng thực hiện
đồng thời. Đối với các tài nguyên lưới thông thường việc tối thiểu là chúng phải hỗ trợ
các hàm cho phép các ứng dụng hay dịch vụ ở mức trên có thể thực hiện các thao tác theo
dõi, lấy thông tin trạng thái tài nguyên, hỗ trợ quản lý tài nguyên. Điều này rất quan trọng
trong việc đảm bảo chất lượng dịch vụ lưới.
- Tầng kết nối (connectivity)
8
Tầng kết nối có nhiệm vụ định nghĩa các giao thức truyền thông và chứng thực
cần thiết cho việc giao tiếp trong lưới. Các giao thức truyền thông cho phép thực hiện
trao đổi dữ liệu giữa các tài nguyên trong tầng nền. Mô hình truyền thông lưới có nhiều
điểm tương đồng so với mô hình giao thức TCP/IP đang dùng hiện nay. Các giao thức
chứng thực cung cấp cơ chế mã hóa, giải mã, kiểm tra định danh của người dùng cũng
như tài nguyên.
Trong lĩnh vực tính toán lưới, vấn đề bảo mật và an ninh rất quan trọng trong đó
các giao thức chứng thực đóng một vai trò cơ bản. Việc chứng thực trong lưới thực hiện
ở các điểm sau:
• Cơ chế chứng thực một lần (single sign on).
• Cơ chế ủy quyền (delegation).
• Chứng thực đa phương (mutual authorization).
- Tầng tài nguyên (resource)
Tầng tài nguyên được xây dựng trên tầng kết nối, có nhiệm vụ sử dụng các giao
thức truyền thông và bảo mật của tầng kết nối để xây dựng dịch vụ, giao thức đàm phán
khởi tạo theo dõi và điều khiển các thủ tục giao tiếp với các tài nguyên cụ thể. Việc điều
khiển, theo dõi các tài nguyên được thực hiện bằng cách triệu gọi các hàm của tầng nền.
Tầng tài nguyên bao gồm hai lớp giao thức cơ bản:
• Các giao thức thông tin: Được sử dụng để lấy các thông tin cấu trúc, trạng
thái của một tài nguyên nào đó.
• Các giao thức quản lý: Các giao thức này có nhiệm vụ thực hiện việc đàm
phán để có thể truy cập và sử dụng một tài nguyên nào đó. Các giao thức quản lý có
nhiệm vụ xác lập quan hệ giữa người dùng lưới hay các ứng dụng lưới với các tài nguyên
cụ thể. Vì vậy cần hết sức chú ý các chính sách, quyền hạn mà người dùng có thể thực
hiện trên các tài nguyên này.
- Tầng kết hợp (collective)
Nếu như tầng tài nguyên quan tâm tới các tài nguyên cụ thể thì tầng kết hợp được
xây dựng có nhiệm vụ quản lý các tài nguyên ở mức hệ thống. Các giao thức trong tầng
này không thực hiện trên một tài nguyên cụ thể nào mà nó thao tác trên tất cả các tài
nguyên lưới tại các node khác nhau. Các dịch vụ được cung cấp bởi tầng kết hợp bao
gồm:
• Dịch vụ thư mục: Cho phép người dùng lưới có thể quan sát, theo dõi được
9
các tài nguyên trong hệ thống trên phạm vi tổ chức nào đó mà họ có thẩm quyền. Các
thao tác cho phép như truy vấn, tìm kiếm tài nguyên theo yêu cầu.
• Dịch vụ môi giới, lập lịch, xác định tài nguyên: Các dịch vụ này cho phép
người dùng có thể yêu cầu việc phân bố tài nguyên tới các ứng dụng, lập lịch cho các ứng
dụng trên các tài nguyên đã được chấp nhận.
• Dịch vụ theo dõi và chẩn đoán: Cho phép theo dõi các yêu cầu của người
dùng, phát hiện các lỗi và có những biện pháp phục hồi cụ thể.
• Dịch vụ nhân bản dữ liệu: Cho phép quản lý các tài nguyên lưu trữ các bản
sao dữ liệu, nâng cao hiệu năng truy cập dữ liệu theo các tiêu chí như thời gian đáp ứng,
độ tin cậy, chi phí.
• Các hệ thống hỗ trợ lập trình trong môi trường lưới: Xây dựng một mô hình
lập trình phù hợp với môi trường lưới, sử dụng các dịch vụ ở mức thấp như tìm kiếm tài
nguyên, phân bố tài nguyên, cơ chế bảo mật…
• Các dịch vụ tìm kiếm dịch vụ: Tìm kiếm và lựa chọn các dịch vụ tốt nhất
cũng như môi trường thực hiện dựa vào tham số của các ứng dụng cần thực hiện.
• Các dịch vụ công tác: Hỗ trợ việc trao đổi thông tin trong cộng đồng những
người dùng, có thể đồng bộ hay không đồng bộ. Ví dụ như các dịch vụ CAVERNsoft,
Access Grid, các hệ thống chia sẻ phần mềm theo nhóm.
- Tầng ứng dụng (application)
Đây là tầng trên cùng trong kiến trúc phân tầng tính toán lưới. Các ứng dụng lưới
này được xây dựng trên cơ sở triệu gọi các hàm, các dịch vụ được cung cấp bởi các tầng
phía dưới. Vì vậy, ở tầng này ta phải thiết kế và cài đặt các dịch vụ, hàm cụ thể cho các
thao tác như quản lý tài nguyên, truy cập dữ liệu, tìm kiếm tài nguyên, để sao cho người
dùng lưới cảm thấy hoàn toàn trong suốt.
Người dùng yêu cầu chạy ứng dụng, nhận về kết quả mà không hề biết ứng dụng
có được chạy ở đâu trên hệ thống lưới, sử dụng tài nguyên gì, ở đâu. Vì vậy, hệ thống
lưới được coi như một máy tính ảo được kết hợp bởi nhiều tài nguyên khác nhau.
Như vậy, môi trường lưới hứa hẹn rất nhiều lợi thế không những cho người sử
dụng mà còn cho cả các doanh nghiệp, tổ chức. Vấn đề cấp thiết đặt ra là cần phải xây
dựng một nền tảng cho môi trường lưới hay nói cách khác là phải thiết kế cơ sở hạ tầng
lưới, các thành phần và các dịch vụ cơ bản mà một lưới có thể cung cấp.
10
1.3. Bảo mật trong mô hình tính toán lưới
1.3.1. Các vấn đề về bảo mật trong tính toán lưới
Bảo mật là một trong những vấn đề quan trọng mà thường xuyên được nhắc đến
khi xem xét một môi trường tính toán lưới. Do đầu ra của lưới là các tài nguyên chia sẻ,
các tài nguyên máy tính sẽ được truy cập từ nhiều tổ chức ảo khác nhau. Yêu cầu về bảo
mật đặt ra là phải đưa ra một thiết kế đầy đủ cho grid. Yêu cầu bảo mật cho lưới ở mức
cao bao gồm các thành phần như sau:
- Authentication: Cung cấp một giao diện cho phép thêm vào cơ chế xác thực và
phương tiện để cho cơ chế được sử dụng
- Delegation: Cung cấp cơ chế cho phép ủy quyền các truy cập chính xác từ người
yêu cầu đến dịch vụ đồng thời bảo đảm rằng các truy cập ủy quyền được giới hạn cho các
tác nhiệm được thực hiện với quyền hạn chế.
- Single logon: Điều này làm giảm đi các thực thể xác thực khi xác thực lại cho
các lần truy cập tiếp sau đó trong một khoảng thời gian vào tài nguyên lưới.
- Credential life span and renewal: Khả năng làm mới các ủy nhiệm yêu cầu nếu
một hoạt động của ứng dụng lưới mất nhiều thời gian để hoàn thành hơn thời gian sống
của một chứng nhận ủy quyền
Authorization: Khả năng kiểm soát truy cập vào thành phần của lưới dựa trên các
chính sách kiểm soát
- Privacy: Cho phép cả hai bên yêu cầu dịch vụ và cung cấp dịch vụ xác định và
thực thi các chính sách bảo mật
- Confidentiality: Bảo vệ các thông tin mật khi vận chuyển, các nội dung tin nhắn
và giữa các thành phần theo OGSA trong phương thức điểm - điểm hay lưu trữ và chuyển
tiếp.
- Message integrity: Bảo đảm các truy cập trái phép vào dữ liệu được phát hiện.
- Policy exchange: Cho phép việc trao đổi nội dung an ninh giữa bên yêu cầu dịch
vụ và bên cung cấp dịch vụ dựa trên các thông tin chính sách.
- Secure logging: Cung cấp nền tảng kiểm soát dịch vụ trong thời gian cho phép.
- Assurance: Cung cấp phương tiện đủ tiêu chuẩn đảm bảo an ninh với mức độ
mong muốn của môi trường lưu trữ.
- Manageability: Yêu cầu này liên quan đến vấn đề quản lý an ninh đa dạng như
quản lý định danh, quản lý quyền hạn.
11
- Firewall traversal: Khả năng xuyên qua tường lửa mà không ảnh hưởng đến các
điều khiển cục bộ của tường lửa
An toàn lưới yêu cầu ba dịch vụ nền tảng là xác thực, ủy quyền và mã hóa. Một tài
nguyên lưới phải được xác thực trước khi bất kỳ một kiểm tra nào được hoàn thiện cho
dù là các xử lý được yêu cầu hay các hoạt động bên trong lưới. Một khi người sử dụng đã
được chứng thực, người dùng đó có thể được cấp quyền truy cập vào một số tài nguyên
lưới. Điều này có thể dẫn đến các tài nguyên lưới bị lấy, giả mạo hoặc thay đổi. Để tránh
các trường hợp này chúng ta cần cơ chế mã hóa.
1.3.2. Hạ tầng an ninh của lưới
Phần trên đã trình bày một số các yêu cầu đảm bảo an ninh cho mạng lưới, và giải
thích tại sao cần có an ninh lưới. Dưới đây xin trình bày về một mô hình an ninh lưới
được áp dụng GSI (Grid Security Infrastructure) do Globus toolkit cung cấp.
GSI là cơ chế cho phép xác thực và truyền thông an toàn trên mạng máy tính, nó
cung cấp một số dịch vụ hữu ích cho mạng lưới như: khả năng xác thực lẫn nhau, cơ chế
đăng nhập một lần duy nhất, cơ chế ủy quyền. GSI dựa trên các công nghệ mã khóa công
khai, chứng thực, nghi thức truyền thông bảo mật. Những chuẩn công nghiệp về bảo mật
trên được thêm vào cơ chế đăng nhập một lần và ủy quyền tạo nên nền tảng bảo mật cho
lưới
1.3.3. Bảo mật cho các thành phần của lưới
Có nhiều các thành phần trong lưới cần đảm bảo an ninh và có nhiều các
- Physical security: Sự an toàn của hạ tầng lưới dựa trên nền tảng an ninh khác. Vấn đề
cơ bản cho an ninh mức vật lý là cho tất cả các máy tính trong lưới. Môi trường vật lý của
hệ thống được xem như một phần của hạ tầng lưới. Nếu các máy chủ được lưu giữ trong
một căn phòng mở, không có vần đề nào có thể đảm bảo an toàn cho các ứng dụng. Do
đó các truy cập vật lý cần được kiểm soát và là một phần của chính sách bảo mật. Các
máy chủ phải được đặt tại nơi an toàn, chuyên dụng.
- Operating system security: Một bản đánh giá về các tập tin cấu hình cho mỗi hệ điều
hành và các thành phần trung gian trong phạm vi dự án sẽ xác định làm như thế nào để
cho phép người dùng ủy quyền truy cập dựa trên chính sách bảo mật và ngăn ngừa phát
hiện các truy cập trái phép. Do đó cần phải xóa bỏ những xử lý không cần thiết trên
server, xóa bỏ những người dùng, nhóm người dùng không cần thiết, xử dụng mật khẩu
cho tất cả người dùng, cho phép các trình duyệt virus… các thao tác có thể có để đảm bảo
an ninh cho hệ điều hành
- Firewalls: Tường lửa có thể được sử dụng bên trong môi trường mạng để tách tập các
máy tính mà yêu cầu an ninh nhiều hơn. Việc sử dụng tường lửa trong thiết kế lưới giúp
hạn chế truy cập từ mạng vào máy tính.
12
- Host intrusion detection (máy chủ phát hiện xâm nhập): Một lựa chọn nữa cho việc
an ninh lưới là đầu tư vào máy chủ phát hiện xâm nhập (IDS). Như bất kỳ ứng dụng phần
mềm nào mà lưu trữ các tệp tin quan trọng trong máy trạm địa phương, máy chủ phát
hiện xâm nhập có thể thêm một tầng bảo vệ phát hiện bất kỳ ai thao tác với tập tin trên
máy trạm mà không được cho phép.
2. Ứng dụng của mô hình tính toán lưới
Lưới cung cấp một giải pháp cho những bài toán về tính toán hiệu năng cao, giúp
tổ chức doanh nghiệp sử dụng một cách tối ưu hóa tài nguyên công nghệ thông tin và tạo
ra các dịch vụ tính toán theo nhu cầu cho các khách hàng thương mại và miễn phí. Sau
đây xin trình bày mô hình tính toán lưới trong dịch vụ web XML hay các thiết bị di động
và ứng dụng trong bài toán xử lý các văn bản dung lượng hớn.
2.1. Tính toán lưới với dịch vụ web XML
Bayanihan Computing .Net là một framework tính toán lưới dựa trên nền tảng
Microsoft .Net mà sử dụng dịch vụ web với mục đích: khai thác tài nguyên máy tính
thông qua tính toán tình nguyện và làm cho các tài nguyên này có thể được truy cập dễ
dàng “easy to use” và đồng hóa các dịch vụ web tính toán.
2.1.1. Tính toán tình nguyện
Ý tưởng của loại tính toán này là cho phép người dùng thông thường trên mạng
Internet để cho các tình nguyện viên của mình sử dụng sức mạnh máy tính cá nhân của
họ để xử lý các tính toán chuyên sâu. Bayanihan Computing .Net thực thi việc tính toán
tình nguyên dựa trên mô hình dịch vụ web PoolService như Hình 2.1 dưới đây
Hình 2.1. Mô hình dịch vụ web PoolService
Dịch vụ web này cho phép client tính toán tạo ra các nhóm các tác nhiệm để tính
toán và các tình nguyện viên lấy các nhiệm vụ, thực hiện chúng và trả lại kết quả.
13
PoolService là dùng chung, do đó các client tính toán ủy quyền có thể tải lên mã cho các
ứng dụng khác nhau trong định dạng file assemply, sau đó các đoạn mã này tự động được
tải xuống các tình nguyện viên nếu cần thiết.
2.1.2. Dịch vụ web tính toán
Ý tưởng của dịch vụ web tính toán là đưa ra các phương thức web đơn giản để một
client tính toán có thể gọi để thực hiện các tính toán ứng dụng đặc biệt trên dữ liệu của
riêng mình. Và sau đó sử dụng một nguồn tình nguyện tính toán song song đằng sau để
thực hiện các tính toán nhanh hơn trên một máy tính duy nhất. Hình 2.2 dưới đây chỉ ra
một ví dụ về cách làm thế nào để một dịch vụ web tính toán có thể nhúng vào một hệ
thống tính toán tình nguyện
Hình 2.2. Dịch vụ web tính toán nhúng vào dịch vụ web PoolService
Dịch vụ web tính toán cũng không chỉ giới hạn cho các hệ thống tính toán tình
nguyện mà nó còn có thể dùng đói với bất kỳ nguồn tài nguyên xử lý hiệu năng cao nào
khác. Ví dụ như mô hình lưới nhiều CWS ở Hình 2.3 dưới đây.
Hình 2.3. Mô hình lưới nhiều CWS
14
2.2. Tính toán lưới với điện thoại di động
Mobile OGSI.NET được tạo ra để thúc đẩy việc chia sẻ tài nguyên và hợp tác để
thúc tăng kinh nghiệm người dùng. Mobile OGSI.NET là mở rộng cài đặt của tính toán
lưới OGSI.NET cho các thiết bị di động. Nó là nền tảng cung cấp tốt hơn tiềm năng kết
nối giữa các thiết bị điện thoại di động hay tạo khả năng kết nối các ứng dụng trên một
điện thoại hay nhiền điện thoại. Ngoài ra nó cung cấp giao thức kết nối giữa điện thoại di
động với các máy trạm truyền thông di động và máy chủ. Mobile OGSI.NET có thể hoạt
động trên nhiền nền tảng thiết bị, giải quyết các vấn đề riêng biệt của từng loại điện thoại
di động.
Kiến trúc của Mobile OGSI.NET bao gồm 3 tầng chính : Mobile Web Server, Grid
Services Module và Grid Services. Mỗi tầng xử lý một nhiệm vụ riêng biêt.
Hình 2.4. Kiến trúc Mobile OGSI.NET
- Tầng Mobile Web Server
Trong hệ thống Mobile OGSI.NET, Mobile Web Server là một hệ thống server
HTTP phát triển tại trường đại học Monash, xử lý các tin nhắn đầu cuối cho phép gửi và
xây dựng lại cho việc nhận. Tầng này thực hiện với cả các yêu cầu HTTP truyền thông
cho nội dung web và các yêu cầu SOAP cao hơn cho các dịch vụ Web.
- Tầng Grid Services Module
Tầng này sung để xử lý các xử lý lõi cần thiết cho các dịch vụ lưới. Grid Services
Module phân tích nội dung các yêu cầu HTTP như là một thông điệp SOAP và sau đó
15
chuyển hướng tin nhắn đến dịch vụ lưới thích hợp. Cũng giống như Mobile Web Server
phân kênh tin nhắn đến các module tương ứng, Grid Services Module phân kênh tin nhắn
cho các dịch vụ lưới tương ứng.
- Tầng Grid Services
Dịch vụ lưới chứa các ứng dụng logic và chỉ đơn giản là .NET Compact
Framework Dynamic Link Libraries (DLLs). Ứng dụng phát triển có thể độc lập xây
dựng các DLL riêng biệt cho ứng dụng để sử dụng như dịch vụ lưới.
2.3. Tính toán lưới trong xử lý các văn bản số lượng lớn
Hình 2.5 dưới đây là một mô hình hệ thống xử lý văn bản số lượng lớn.
Hình 2.5. Mô hình hệ thống xử lý văn bản số lượng lớn
Như Hình 2.5 ta thấy với bài toán xử lý các văn bản với số lượng lớn, cần nhiều
các trạm quét để có thể xử lý các trường hợp tải cao hàng ngày của tài liệu được xử lý
cũng như nhiều các máy trạm đánh chỉ mục. OCR (Optical Character Recognition) là một
cơ chế mạnh để tăng xử lý đặc biệt trong trường hợp các định dang và tài liệu có cách bố
trí xác định. OCR có thể được coi là quá trình chậm nhất trong hệ thống. Và do đó cần có
nhiều máy OCR để giải quyết được nhiều tài liệu. Điều này dẫn đến việc ứng dụng mô
hình tính toán lưới vào hệ thống. Hình 2.6 cho thấy môi trường cài đặt của hệ thống sau
khi áp dụng mô hình tính toán lưới.
16
Hình 2.6. Môi trường cài đặt của hệ thống
3. Kết luận
Trong phạm vi bài tiểu luận này chúng tôi đã trình bày tóm tắt các nội dung thu
nhận được về mô hình tính toán lưới bao gồm các định nghĩa về tính toán lưới, các lợi ích
của tính toán lưới đồng thời cũng chỉ ra kiến trúc tổng quan của mô hình tính toán lưới.
Đối với mỗi một hệ thống mô hình thì việc đảm bảo an ninh cho chúng là rất quan trọng
và tính toán lưới cũng vây. Do đó song song với việc trình bày kiến trúc tính toán lưới
chúng tôi cũng đưa ra các khái niệm chung và mô hình bảo mật cho lưới. Phần cuối của
bài tiểu luận đưa ra một số áp dụng cũng như ứng dụng của mô hình tính toán lưới đã
được thực hiện.
Nhìn một cách tổng quan, mô hình tính toán lưới ra đời đánh dấu một bước phát
triển mới trong lĩnh vực tính toán hiệu năng cao. Cho phép tận dụng năng lực xử lý, lưu
trữ cùng cá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 và cần năng lực
tính toán cao trong khoa học và thương mại. Trong tương lai, công nghệ tính toán lưới có
khả năng phát triển một cách mạnh mẽ và sẽ được áp dụng với nhiều bài toán trong thực
tế.
Tuy nhiên cũng phải nói rằng tính toán lưới không phải là chìa khóa vạn năng
dùng để giải quyết mọi vấn đề. Nó dùng để bổ trợ chứ không phải thay thế hoàn toàn các
công nghệ tính toán hiện đại. Các công nghệ tính toán đã có tồn tại cũng đã giải quyết
từng phần các yêu cầu của tính toán lưới đặt ra (như bài toán chia sẻ tài nguyên phân tán)
nhưng tính toán lưới cũng đã chính thức giải quyết các vấn đề đó một cách bài bản và tập
trung trong một ngữ cảnh rộng hơn nhiều.
17
TÀI LIỆU THAM KHẢO
Sách:
[1] Introduction to Grid computing. redbook of IBM – 2005
Bài báo khoa học:
[1] Mobile OGSI.NET: Grid Computing on Mobile Devices.
[2] Analysis of grid computing as it applies to high volume document processing
and OCR.
[3] Bayanihan computing .Net: Grid computing with XML Web Services.
[4] Reliability and performance Model for grid computing.
Website:
[1] Global Grid Forum (GGF), see .
[2] The Open Grid Service Architecture (OGSA) is at
[3] Globus Alliance: />18