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
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
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.
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).
độ 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:
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
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
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