NGUYỄN TRẦN MINH KHUÊ – CH0401022
CÔNG NGHỆ GRID
VÀ ỨNG DỤNG TRONG DM
Nguyễn Trần Minh Khuê sưu tầm giới thiệu
oOo
I. Khái niệm Grid
I.1. Dẫn nhập (ngược dòng lịch sử)
- Mặc dù công nghệ Grid Computing được nhắc đến rất nhiều trong thời gian gần đây và về
sau, nhưng thực ra nhiều ý tưởng cơ bản về Grid đã 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ừ máy mainframe.
- 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ànhUnix)
đã đề cập đến việc sử dụng năng lực tính toán như là 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 cung cấp điện, nước hiện nay. 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 cung cấp, sử dụng và trả tiền giống như khi
cắm thiết bị điện vào lưới điện.
- Tuy trước đó đã có nhiều ý tưởng về Grid nhưng khởi nguồn của Grid được xác định là vào
năm 1990, khi thuật ngữ “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, 2 dự án metacomputing quan trọng, ảnh hưởng lớn đến các công nghệ nền
tảng trong các dự án Grid đang phát triển 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/1997,
sau đó được đưa vào quyển sách "The Grid: Blueprint for a New Computing Infrastructure" viết bởi
Ian Foster (Argonne National Laboratory) và Carl Kesselman (University of Southern
California) 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 và metacomputing.
- 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
I.3.1. Phân loại
+. 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 (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ác nhau.
Có 3 cách để khai thác tài nguyên tính toán của Grid
1. Đơn giản nhất là là chạy các ứng dụng hiện có trên một node của Grid thay chạy
trên máy 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ền node khác nhau trong grid.
Hiệu quả của việc sử dụng các bộ xử lý trong Grid được đo bằng khái niệm
“scalability”. Nếu 2 bộ vi xử lý rút ngắn thời gian chạy một ứng dụng đi một nửa thì đó được
cho rằng có hiệu quả sử dụng hoàn hảo.
+. Tài nguyên lưu trữ
Ứng dụng Công nghệ Grid trong DM - 2 -
NGUYỄN TRẦN MINH KHUÊ – CH0401022
Tài nguyên phổ biến thứ nhì 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, hoặc ổ đĩa cứng hoặc các thiế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ăng dung lượng, hiệu suất, chia sẻ và đảm bảo tính tin cậy của
dữ liệu.
Việc tăng dung lượng lưu trữ có thể được thực hiện bằng cách lưu trữ trên nhiều máy
tính khác nhau và dùng chung một hệ thống file thống nhất. Một file hay một cơ sở dữ liệu có
thể mở rộng, nằm trên nhiều thiết bị lưu trữ khác nhau, quản lý bởi các hệ thống file cục bộ
khác nhau đi kèm với các hệ điều hành. Hệ thống file của Grid phải có trách nhiệm quản lý,
cung cấp một bức tranh thống nhất về hệ thống lưu trữ Grid. Điều này giúp người dùng dễ
dàng hơn trong việc truy xuất dữ liệu mà không biết chính xác vị trí của nó.
Các hệ thống file cải tiến có thể tự động sao chép các dữ liệu để dự phòng làm tăng độ
NGUYỄN TRẦN MINH KHUÊ – CH0401022
I.3.2. Tính chất
Các tài nguyên của Grid có một số tính chất cơ bả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
bởi nhiều tổ chức khác nhau. Grid cần phải tôn trọng các chính sách quản trị và sử
dụng tài nguyên cục bộ của các tổ chức.
+. Đa dạng, hỗn tạp
Grid có vô số tài nguyên không đồng nhất về bản chất và sử dụng hàng loạt các
công nghệ khác nhau.
+. Tồn tại, thay đổi theo thời gian trong Grid
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áo trướ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ách chia sẻ của
nhà cung cấp,…
- 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ể được sử dụng tự do, trong khi một số đượ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” để bỏ đi sự phức tạp, đa dạng, cung cấp 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 con mắt của người
dùng, các tài nguyên Grid là một khối thống nhất.
Hình 1- 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á.
Ứng dụng Công nghệ Grid trong DM - 4 -
NGUYỄN TRẦN MINH KHUÊ – CH0401022
Các tài nguyên ảo được tổ chức lại thành các “tổ chức ảo” (virtual organization), đến
lượt nó, các tổ chức ảo lại thực hiện chia sẻ tài nguyên của mình để hình thành Grid lớn hơn,
tạo thành một kho tài nguyên khổng lồ.
II. Kiến trúc Grid
Sau gần 10 năm tập trung nghiên cứu và phát triển, tích luỹ kinh nghiệm, các nhà phát
triển công nghệ Grid đã có những nhất trí đáng kể về kiến trúc Grid. Một trong những kiến
trúc Grid được chấp thuận nhiều nhất được đưa ra bởi Ian Foster, phần dưới đây sẽ giới thiệu
Các cơ chế để cấp tài nguyên cho tiến trình cũng như cơ chế đặt chỗ trước tài nguyên
cũng cũng rất hữu dụng. Cần có các chức năng để xác định đặc tính phần cứng, phần mềm
cũng như các thông tin trạng thá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ập lịch sử dụng.
+. Tài nguyên lưu trữ
Cần có cơ chế lưu trữ và đọc các file.
Các cơ chế truyền file hiệu suất cao, đọc ghi một loạt các file hoặc các chức năng chọn
lựa, tinh giảm dữ liệu từ xa, các cơ chế điều khiển việc cấp phát tài nguyên phục vụ việc
truyền dữ liệu (không gian, băng thông, CPU) là hữu dụng.
Cần các chức năng xác định đặc tính phần cứng, phần mềm cũng như các thông tin tải
có liên quan như không gian lưu trữ còn lại, bandwidth, …
+. Tài nguyên mạng
Các cơ chế cho phép quản lý các tài nguyên cấp phát cho việc truyền tải mạng là hữu
dụng.
Nên có các chức năng xác định đặc tính và tải của mạng.
+. Lưu trữ mã thực thi
Dạng đặc biệt của tài nguyên lưu trữ này đòi hỏi cơ chế để quản lý phiên bản mã
nguồn và mã thực thi của các đối tượng.
+ Các danh mục.
Dạng đặc biệt của tài nguyên lưu trữ này đòi hỏi cơ chế để thực hiện các truy vấn và
hoạt động cập nhật.
II.2. Tầng Connectivity
Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực nòng cốt cần thiết cho
cá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ệu giữ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ườ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 Grid có thể cần các protocol mới, nhưng hiện nay 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ác tầng Network (IP và ICMP), Transport
(TCP,UDP) và Application (DNS,OSPF,…).
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ác
chuyên gia bảo mật của site A, B liên lạc với nhau.
Các giải pháp bảo mật trên Grid cũng nên cung cấp sự hỗ trợ mềm dẻo cho việc
bảo vệ liên lạc (ví dụ như điều khiển được mức độ bảo vệ, bảo vệ các datagram trong các
protocol không đảm bảo tính tin cậy (UDP), hỗ trợ các protocol vận chuyển tin cậy khác
ngoài TCP,…) và cho phép các nhà cung cấp điều khiển các quyết định về authorization
bao gồm việc hạn chế ủy quyền theo nhiều cách khác nhau.
II.3. 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ương lượng, khởi tạo, monitoring, đ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
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 protocol 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ụ)
Ứng dụng Công nghệ Grid trong DM - 7 -
NGUYỄN TRẦN MINH KHUÊ – CH0401022
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
protocol quản lý chịu trách nhiệm đại diện cho các quan hệ chia sẻ, chúng phải phục vụ
như một “policy application point”, để đảo bảo các hoạt động sử dụng tài nguyên 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à chi trả chi phí. Mỗi
protocol cũng nên hỗ trợ việc theo dõi trạng thái và điều khiển các hoại động.
Cung cấp khả năng đặc tả, sử dụng, quản lý các workload đa thành phần, bất đồng
bộ, qua nhiều bước.
+. Software discovery service
Tìm kiếm và chọn ra các cài đặt phần mềm tốt nhất và môi trường thực thi dựa
theo ứng dụng cần được giải quyết.
+. Community authorization server
Thực hiện các chính sách cộng đồng quản lý truy cập tài nguyên, cho phép các
thành viên của cộng đồng truy cập đến các nguyên dùng chung. Các server này sử dụng
Ứng dụng Công nghệ Grid trong DM - 8 -
NGUYỄN TRẦN MINH KHUÊ – CH0401022
các dịch vụ xây dựng trên các protocol thông tin, quản lý tài nguyên của tần Resource và
protocol bảo mật ở tầng Connectivity.
+. Community accounting and payment service
Thu thập các thông tin sử dụng tài nguyên để tính toán chi phí, thực hiện chi trả
và/hoặc giới hạn việc sử dụng tài nguyên của người dùng trong cộng đồng.
+. Collaboratory service
Hỗ trợ việc trao đổi thông đồng bộ và bất đồng bộ trong cộng đồng người dùng.
Các ví dụ trên đây cho thấy các protocol và service tầng Collective rất phong phú, đa
dạng. Lưu ý rằng trong khi các protocol tầng Resource phải là các protocol tổng quát và triển
khai rộng rãi, thì các protocol tầng Collective có thể trải dài từ việc phục vụ các vấn đề chung
trong Grid đến việc phục vụ cho các lĩnh vực ứng dụng cụ thể, có thể chỉ tồn tại trong các VO
cụ thể. Theo nguyên tắc, càng phục vụ nhiều người dùng thì các protocol và API của tầng
Collective càng phải được dựa theo chuẩn.
Các chức năng của tầng Collective có thể được cài đặt như các service (với các protocol
tương ứng), hay như các bộ SDK(với các API tương ứng) được thiết kế để liên kết với ứng
dụng. Trong cả hai trường hợp, các cài đặt này có thể được xây dựng trên các protocol và API
của tầng Resource và Connectivity.
Figure 3: Collective and Resource layer protocols, services, APIs, and SDKS can be combined in a variety
of ways to deliver functionality to applications.
II.5. Tầng Application
cho tất cả các lĩnh vực, không riêng gì lĩnh vực cơ sở dữ liệu và cơ sở tri thức.
Ứng dụng Công nghệ Grid trong DM - 10 -
NGUYỄN TRẦN MINH KHUÊ – CH0401022
Để hiểu rõ hơn về bài toán luật kết hợp có thể tham khảo:
1. Giáo trình khai thác dữ liệu, TS. Đỗ Phúc, NXB Đại học quốc gia TP.HCM, 2005
2. Data Mining Algorithms, Vipin Kumar, Department of Computer Science,
University of Minnesota, Minneapolis, USA
Ứng dụng Công nghệ Grid trong DM - 11 -