Tải bản đầy đủ (.pdf) (23 trang)

Bài Tập Lớn Điện Toán Lưới Và Khả Năng Ứng Dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (324.53 KB, 23 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ- ĐẠI HỌC QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-------------

BÁO CÁO BÀI TẬP LỚN

ĐIỆN TOÁN LƯỚI VÀ KHẢ NĂNG ỨNG DỤNG

Học viên

: Lê Duy Tiến

Giảng viên hướng dẫn : TS. Trần Thị Minh Châu
Lớp

: K17-HTTT

Hà Nội, tháng 01 năm 2011
1


LỜI NÓI ĐẦU

Trong những năm gần đây rất nhiều thiết bị phần cứng mạnh phục vụ cho yêu cầu
tính toán hiệu năng cao đã được thiết kế và chế tạo. Tuy nhiên, để giải quyết các bài toán
có độ phức tạp lớn và rẻ tiền thì điện toán lưới có lẽ là một lựa chọn. Bởi điện toán lưới
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 hạ tầng phần cứng mới. Do đó, tính toán lưới nổi lên như một phương tiện tập hợp tài
nguyên tính toán chi phí thấp để giải quyết những bài toán lớn.
Ở Việt Nam, công nghệ lưới còn khá mới, chỉ được triển khai ở một số ít các trung
tâm tính toán tại viện nghiên cứu hoặc các trường đại học chuyên ngành lớn.


Vì vậy, em đã chọn chủ đề nghiên cứu về điện toán lưới với mục tiêu là tìm hiểu,
nghiên cứu lý thuyết, yêu cầu khi triển khai và khả năng ứng dụng của điện toán lưới.

1


MỤC LỤC

LỜI NÓI ĐẦU……………………………………………………………………….. 1
MỤC LỤC………………………………………………………………………….

2

DANH MỤC HÌNH VẼ……………………………………………………………

3

DANH MỤC CÁC TỪ VIẾT TẮT………………………………………………..

4

1. Giới thiệu chung về điện toán lưới………………………………………………

5

1.1. Khái niệm về điện toán lưới…………………………………………………..

5

1.2. Ưu điểm của điện toán lưới…………………………………………………...


6

1.3. So sánh điện toán lưới với các mô hình tính toán khác………………………

9

1.4. Các thành phần chính của hệ thống lưới……………………………………… 10
1.5. Các chuẩn cho điện toán lưới…………………………………………………

13

2. Các thách thức và hướng giải quyết của điện toán lưới………………………

14

3. Công cụ phát triển điện toán lưới………………………………………………..

15

4. Khả năng ứng dụng của điện toán lưới………………………………………..

16

5. Các bước khi triển khai điện toán lưới………………………………………….. 18
5. Kết luận ………………………………………………………………………….

21

Tài liệu tham khảo………………………………………………………………….


21

2


DANH MỤC HÌNH VẼ
Hình 1. Lưới ảo hóa các nguồn tài nguyên và cung cấp giao điện quản lý đơn giản…..9
Hình 2. Kiến trúc phân tầng lưới………………………………………………………………11

3


DANH MỤC CÁC TỪ VIẾT TẮT

Viết tắt

Tên đầy đủ

GC

Grid Computing

GT

Globus Toolkit

DTP

Data Transfer Process


GRAM

Grid Resource Allocation and Management Service

FTP

File Transfer Protocol

HTTP

Hypertext Transfer Protocol

LDAP

Lightweight Directory Access Protocol

LFN

Logical File Name

MPI

Message Passing Interface

OGSA

Open Grid Service Architecture

OGSI


Open Grid Service Infrastructure

RSL

Resource Specification Language

SMTP

Simple Mail Transfer Protocol

SOA

Service Oriented Architecture

SOAP

Simple Object Access Protocol

SDK

Software Development Kit

SRB

Storage Resource Broker

VO

Virtual Organizations


4


1. Giới thiệu chung về điện toán lưới
1.1. Khái niệm về điện toán lưới
Điện toán lưới (grid computing) hay tính toán lưới ra đời xuất phát từ nhu cầu tính
toán của con người. Hiện nay, các bài toán cần có sự tính toán phức tạp đang đặt ra ngày
càng nhiều; do đó đỏi hỏi hệ thống cũng cần phải có những năng lực tính toán mạnh mẽ
hơn. Để đáp ứng yêu cầu đó, người ta tiếp cận theo hai phương pháp [1]:
Thứ nhất là đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán như: mua thêm máy
chủ, máy trạm, siêu máy tính, cluste, v.v….Ưu điểm của giải pháp này là đơn giản khi
lắp đặt, thiết kế. Tuy nhiên, nhược điểm của nó là rất đắt tiền.
Do vậy, một giải pháp thứ hai được đưa ra là phân bố lại hợp lý các nguồn tài
nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài. Ưu điểm nổi bật
của giải pháp này là giảm giá thành hệ thống tính toán. Bởi trong thực tế có một phần lớn
các nguồn tài nguyên của chúng ta đang bị sử dụng lãng phí: các máy để bàn công sở
thường chỉ hoạt động khoảng 5% công suất, ngay cả các máy chủ cũng có thể chỉ phải
hoạt động với 20% công suất. Việc tận dụng hiệu quả các nguồn tài nguyên này có thể
mang lại một sức mạnh tính toán khổng lồ [2].
Cách giải quyết thứ hai này chính là mục tiêu của điện toán lưới. Điện toán lưới
hướng đến việc chia sẻ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ chức
trên một quy mô rộng lớn [3]. Chính các công nghệ mạng và truyền thông phát triển mạnh
mẽ trong những năm qua đã biến những khả năng này dần trở thành hiện thực. Các nghiên
cứu về điện toán lưới đã và đang được tiến hành nhằm tạo ra một cơ sở hạ tầng lưới cho
phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường
lưới.
Khái niệm điện toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn dụ
là làm cho việc sử dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điện năng.
Ngày nay có rất nhiều định nghĩa về điện toán lưới. Từ trước đến nay, mỗi tổ chức, cá


5


nhân tùy theo cách quan niệm và thực tế xây dựng hệ thống của mình mà đưa ra những
định nghĩa khác nhau về lưới.
Một định nghĩa về lưới khá hoàn chỉnh được đưa ra bởi Ian Foster và các đồng
nghiệp như sau [4]: "Một lưới là một hệ thống có các đặc trưng như tài nguyên
được điều phối một cách phi tập trung; sử dụng các giao thức chuẩn, mở và đa năng;
cung cấp chất lượng dịch vụ không tầm thường”.
Còn dưới quan điểm của một số công ty và liên minh phát triển lưới uy tín trên thế
giới thì điện toán lưới được định nghĩa như sau [5]:
- Định nghĩa của Oracle: điện toán lưới là việc liên kết nhiều máy chủ và thiết bị
lưu trữ thành một siêu máy tính nhằm tối ưu hóa được tính ưu việt của các hệ thống máy
chủ cũng như hệ thống ứng dụng, nhờ đó giảm thiểu đến mức thấp nhất chi phí.
- Định nghĩa của IBM: tính toán lưới là một môi trường tính toán ảo. Môi
trường này cho phép bố trí song song, linh hoạt, chia sẻ, tuyển lựa, tập hợp các nguồn tài
nguyên hỗn hợp về mặt địa lý, tùy theo mức độ sẵn sàng, hiệu suất, chi phí của các tài
nguyên tính toán và yêu cầu về chất lượng dịch vụ của người sử dụng.
- Định nghĩa của liên minh điện toán lưới: môi trường điện toán lưới được hiểu
như một hạ tầng kết nối hệ thống máy tính, hệ thống mạng, hệ thống cơ sở dữ liệu được
sở hữu và quản lý bởi nhiều tổ chức, cá nhân nhằm cung cấp môi trường tính toán ảo duy
nhất với hiệu năng cao cho người sử dụng.
Một hệ thống điện toán lưới có các đặc điểm:
- Kích thước lớn: theo số lượng tài nguyên và khoảng cách địa lý giữa chúng.
- Phân tán: có độ trễ đáng kể trong truyền dữ liệu, tài nguyên trải dài trên các vùng
địa lý khác nhau.
- Động: các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện.
- Hỗn tạp: kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác
nhau. Tài nguyên lưới có thể là các máy đơn hoặc mạng con khác nhau.

6


- Vượt qua phạm vi một tổ chức: có nhiều trạm và các chính sách truy nhập có thể
khác nhau trên các trạm, tổng thể lưới sẽ tạo ra một tổ chức ảo thống nhất.
- Cơ chế và chính sách an toàn bảo mật phức tạp. Cơ chế quản lý tài nguyên đa
dạng, phức tạp.
1.2. Ưu điểm của điện toán lưới
Các ưu điểm chính khi ứng dụng điện toán lưới gồm [3, 6]:
* Khả năng khai thác 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áy tính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU (Central Processing
Unit), ngay cả các server cũng thường “rảnh rỗi”. Điện toán lưới 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ụ khi 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 khá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 đến các máy tính nhàn rỗi khác cho xử lý song song,…
Một chức năng của điện toán lưới nữa 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ó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên
hơn. Với lưới, 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.
* 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 điện toán lưới,
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 điện
toán lưới cung cấ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ác như 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ông nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác.
* Cho phép hợp tác trên toàn thế giới

7



Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, điện toán lưới 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ác thiế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ùng 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 lưới có các kết nố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,…
* Tăng độ 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ụ, một máy tính có thể sử dụng các bộ vi xử lý đôi, cho phé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ông là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ơn vào các công nghệ phần mềm hơn là các
phần cứng đắt tiền. Điện toán lưới là sự khởi đầu cho các công nghệ đó. Các hệ thống
trong điện toán lưới 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ị lưới có khả năng thực thi lại công việc trên một nút khác khi phát hiện
có lỗi 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á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 điện toán lưới để đảm bảo độ tin cậy tối đa.
* Tăng khả năng quản trị 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ầng
công nghệ thông tin lớn, phân tán. Hình 1 minh họa ưu điểm này của điện toán lưới.

8



Hình 1. Lưới ảo hóa các nguồn tài nguyên và cung cấp giao điện quản lý đơn giản [6]
1.3. So sánh điện toán lưới với các mô hình tính toán khác
So với các mô hình tính toán khác, điện toán lưới có một số đặc điểm như sau
- So với World Wide Web (Web computing): WWW hiện nay đang phát triển
mạnh mẽ và được sử dụng rộng khắp. Sử dụng các chuẩn mở và các giao thức mở (TCP,
HTTP, XML, SOAP), WWW có thể được sử dụng để xây dựng các tổ chức ảo tuy nhiên
nó thiếu một số đặc tính quan trọng như các cơ chế chứng thực một lần, ủy nhiệm, các cơ
chế phối hợp sự kiện...
- So với các hệ thống tính toán phân tán (Distributed computing systems): Các
công nghệ tính toán phân tán hiện tại bao gồm CORBA, J2EE và DCOM rất thích hợp
cho các ứng dụng phân tán tuy nhiên chúng không cung cấp một nền tảng phù hợp cho
việc chia sẻ tài nguyên giữa các thành viên của tổ chức ảo. Một số khó khăn có thể kể ra
trong việc khai phá tài nguyên, đảm bảo an ninh và xây dựng động các tổ chức ảo. Thêm
nữa việc tương tác giữa các công nghệ này cũng gặp phải khó khăn. Tuy nhiên cũng đã có
một số nghiên cứu nhằm mở rộng những công nghệ này cho môi trường lưới, ví dụ như
Java JINI.
9


- So với các hệ thống tính toán ngang hàng (Peer - to - peer Computing Systems):
Tính toán ngang hàng cũng là một lĩnh vực của tính toán phân tán. Những điểm khác biệt
chính giữa tính toán ngang hàng và điện toán lưới là: Điện toán lưới có cộng đồng người
sử dụng có thể nhỏ hơn tuy nhiên tập trung nhiều vào các ứng dụng và có yêu cầu cao hơn
về an ninh cũng như tính toàn vẹn của ứng dụng. Trong khi đó các hệ thống mạng ngang
hàng có thể có số người sử dụng rất lớn bao gồm cả các người dùng đơn lẻ và các tổ chức
tuy nhiên không đòi hỏi cao về an ninh và mô hình chia sẻ tài nguyên cũng đơn giản hơn.
- So với tính toán phân cụm: Khi so với cluster, người ta thấy tầng trung gian của
cả hai đều đưa ra cơ chế truyền thông điệp cho các ứng dụng song song. Như vậy, về bản
chất kiến trúc mức cao của một cluster là tương tự như của một lưới. Do vậy, điện
toán lưới thường bị nhầm lẫn với tính toán phân cụm. Tuy nhiên sự khác biệt chính giữa

hai kiểu tính toán này là: một cụm tính toán là một tập đơn các nút tính toán tập trung trên
một khu vực địa lý nhất định, trong khi một lưới bao gồm nhiều cụm tính toán và những
loại tài nguyên khác (như mạng, các thiết bị lưu trữ).
Có thể nói rằng, thực tế Grid không phải là một cuộc cách mạng mới mà thực chất
nó là bước tiến trong công nghệ điện toán phân tán. Giống như Web, tính toán lưới giảm
bớt độ phức tạp khi nhiều người cùng khai thác một nền hoạt động thống nhất nó chỉ khác
ở sự hỗ trợ liên lạc. Khi so với mạng ngang hàng (P2P) thì tính toán lưới cũng cho phép
người sử dụng chia sẻ file và nhiều loại tài nguyên khác nữa. Nói chung, với các công
nghệ ảo khác, grid giống ở chỗ cho phép ảo hóa các nguồn nhân lực công nghệ thông tin
nhưng khác biệt là grid cho phép ảo hóa những nguồn tài nguyên tản mát và vô cùng
rộng lớn.
1.4. Các thành phần chính của hệ thống lưới
Lưới được xây dựng trên nền tảng kiến trúc mở và phân tầng như ở Hình 2.
Trong mỗi tầng của lưới, các thành phần chia sẻ những thuộc tính chung và được
bổ sung những tính năng mới mà không làm ảnh hưởng đến các tầng khác. Ta có thể tổng
hợp kiến trúc lưới thành 5 tầng như sau [7]:

10


Hình 2. Kiến trúc phân tầng lưới
- Tầng chế tác (Fabric layer):
Bao gồm các tài nguyên cục bộ phân tán trên mạng, chúng bị ràng buộc bởi cơ chế
quản lý tài nguyên và cơ chế thẩm tra. Người ta phân tài nguyền của tầng này thành các
nhóm chính sau:
+ Tài nguyên tính toán: cho phép kiểm soát, điều khiển việc thực thi công việc.
+ Tài nguyên lưu trữ: dùng để lấy về/tải lên các tập tin, cho phép đọc một phần tập
tin hoặc chọn lọc dữ liệu từ tập tin ở xa.
+ Tài nguyên mạng: là môi trường mạng truyền thô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à các phiên bản của

mã nguồn.
- Tầng kết nối (Connectivity layer):
Tầng này đóng vai trò rất quan trọng, nó gồm các giao thức xác thực và
truyền thông. Truyền thông bao gồm việc truyền thông tin, định tuyến và đặt tên. Những
giao thức này tương tự các giao thức IP, TCP, UDP trong bộ giao thức TCP/IP

11


và các giao thức tầng ứng dụng như DNS, OSPF, RSVP,…Vấn đề bảo mật được giải
quyết bằng giải pháp xác thực như:
+ Cơ chế đăng nhập một lần (Single Sign On): cho phép người dùng chỉ cần đăng
nhập vào mạng lưới một lần duy nhất cho tất cả các truy cập các tài nguyên được phép
trong tầng chế tác cho đến khi kết thúc đăng nhập.
+ Cơ chế ủy quyền (Delegation, Proxy): người dùng có thể ủy quyền truy cập
tài nguyên hợp pháp lại cho một chương trình trong một khoảng thời gian xác định.
Chương trình này cũng có thể ủy quyền có điều kiện một phần các tập quyền của nó cho
chương trình con khác.
+ Cơ chế tích hợp đa giải pháp bảo mật địa phương (Integration with various local
security solutions): cơ chế bảo mật mạng lưới phải có khả năng giao tiếp trong với các
cơ chế bảo mật địa phương mà không yêu cầu thay thế toàn bộ các giải pháp bảo mật
hiện có, nhưng cần có cơ chế ánh xạ bảo mật trong các môi trường cục bộ khác nhau.
+ Cơ chế quan hệ tin tưởng dựa trên người dùng (User-based Trust
Relationships): người dùng có thể sử dụng các loại tài nguyên có được từ sự kết hợp của
nhiều nhà cung cấp khác nhau.
- Tầng tài nguyên (Resource layer)
Tầng này được xây dựng trên nền tảng sẵn có của tầng kết nối. Những giao thức
trong tầng tài này sẽ gọi các chức năng trong tầng chế tác để truy cập và sử dụng các loại
tài nguyên cục bộ.
- Tầng kết hợp (Collective layer):

Trong khi tầng tài nguyên chỉ cho phép truy cập đến một loại tài nguyên đơn thì
tầng kết hợp lại chứa các giao thức và dịch vụ cho phép giao tiếp giữa các tài nguyên
trong mạng lưới.
- Tầng ứng dụng (Application layer):

12


Tầng này bao gồm các ứng dụng được phát triển trên môi trường lưới như:các ứng
dụng sinh học, vậy lý, thiên văn, tài chính,… Về nguyên tắc, người sử dụng có thể tương
tác với lưới thông qua tầng ứng dụng một cách trong suốt mà không nhận biết được sự có
mặt của các tầng khác trong lưới.
Ngoài ra, theo mô hình chức năng, điện toán lưới được chia ra các thành phần:
Cổng tương tác (Grid portal), thành phần bảo mật (Security), chức năng an ninh nút
(Node Security Function), bộ lập lịch (Scheduler), thành phần môi giới (Broker), quản
lý, phân bổ tài nguyên (grid resource allocation manager- GRAM), tài nguyên (Resource),
và giao thức (Protocol).
1.5. Các chuẩn cho điện toán lưới
Lưới tính toán thường gồm một tập các tài nguyên không đồng nhất. Một
ứng dụng lưới thường có nhiều thành phần, dịch vụ khác nhau. Đồng thời các dịch vụ này
lại thường xuyên tương tác với nhau. Càng nhiều dịch vụ thì số tương tác giữa chúng càng
tăng và rất dễ dẫn đến tình trạng hỗn loạn. Nếu mỗi dịch vụ sử dịch vụ lưới sẽ rất phức
tạp. Do đó, cần thiết là phải có chuẩn định nghĩa giao diện giao tiếp chung cho các dịch
vụ này.
Hiện nay diễn đàn điện toán lưới toàn cầu Global Grid Forum (GGF) có mục đích
định nghĩa các đặc tả cho tính toán lưới. GGF được phát triển với hợp tác giữa khu vực
công nghiệp và khoa học với những hỗ trợ quan trọng từ cả hai khu vực này.
OGSA và OGSI được GGF phát triển cho mục tiêu chuẩn hoá. GGF định nghĩa các
chuẩn mạng lưới trong phạm vi các trình ứng dụng, các mô hình lập trình, quản trị dữ
liệu, bảo mật, thực thi, lập lịch và quản lý tài nguyên.

OGSA (Open Grid Services Architecture): định nghĩa một chuẩn kiến trúc
mới cho các ứng dụng chạy trên lưới. OGSA định nghĩa dịch vụ lưới là gì, chúng có khả
năng gì, và dựa trên nền công nghệ nào. Nhưng OGSA không đưa ra đặc tả chi tiết và kỹ
thuật cần để triển khai một dịch vụ lưới.

13


OGSI (Open Grid Services Infrastructure): nặng về đặc tả kỹ thuật cho các khái
niệm được đưa ra trong OGSA. OGSI định nghĩa các cơ chế tạo mới, quản trị và trao đổi
thông tin giữa các dịch vụ lưới. Một dịch vụ lưới là dịch vụ web thích ứng với tập hợp các
quy ước về giao diện và cách đáp ứng để xác định cách một client tương tác với một lưới.
Đặc biệt, OGSI còn định nghĩa các giao diện chuẩn và qui tắc của dịch vụ lưới – xây dựng
trên cơ sở các dịch vụ web.
Tổ chức Globus Alliance: Globus Alliance triển khai một số chuẩn được phát triển
tại diễn đàn GGF thông qua bộ phần mềm lưới trung gian Globus Toolkit. Với chức năng
là một thành phần trung gian trong kiến trúc lưới, bộ phần mềm này cung cấp nền tảng
chuẩn để thiết lập các dịch vụ trên lưới tính toán, nhưng điện toán lưới còn cần có nhiều
thành phần khác và rất nhiều công cụ để thiết lập và duy trì môi trường lưới.
2. Các thách thức và hướng giải quyết của điện toán lưới
Khi triển khai điện toán lưới, có nhiều thách thức mà đòi hỏi phải giải quyết đó là:
- Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở đây được hiểu
theo nghĩa hết sức tổng quát. Đó có thể là các tài nguyên phần cứng như tài nguyên tính
toán, tài nguyên lưu trữ, các thiết bị đặc biệt khác hay các tài nguyên phần mềm như các
cơ sở dữ liệu, các phần mềm đặc biệt và đắt tiền. Các tài nguyên này có thể rất khác nhau
về mặt kiến trúc, giao diện, khả năng xử lý,... Do vậy, việc tạo ra một giao diện thống
nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài nguyên này hoàn toàn không
dễ dàng. Ban đầu điện toán lưới được đặt ra chủ yếu là để tận dụng các nguồn tài nguyên
tính toán nhưng hiện nay mục tiêu của nó đã được mở rộng sang rất nhiều nguồn tài
nguyên khác như đã kể trên.

- Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức
tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới còn
nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tự trị. Các tổ chức
khác nhau thường có chính sách sử dụng hay cho thuê tài nguyên của họ khác nhau và do
vậy cũng gây khó khăn cho việc quản lý.
14


- Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải có các cơ chế quản
lý phân tán.
- Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường lưới là
rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu.
3. Công cụ phát triển điện toán lưới
Có rất nhiều các công ty phần mềm phát triển công cụ cho điện toán lưới như [8]:
Avaki, Data Synapse, Entropia, United Devices, Globus, and Platform Computing.
Trong đó Globus [9] là một hạ tầng cung cấp các công cụ phần mềm để xây dựng
tính toán mạng lưới và các ứng dụng khác dựa trên công nghệ Grid một cách dễ dàng.
Hầu hết các lưới đang được triển khai hiện nay đều được thực hiện dựa trên nền Globus
Toolkit. Các công cụ này được gọi chung là Globus Toolkit (GT). Nó bao gồm các
module công cụ, mỗi công cụ định nghĩa một giao diện phục vụ cấp cao và cung cấp
nhiều toán tử cấp thấp có thể thực hiện được trên những môi trường khác nhau.
Các chức năng chính của Globus Toolkit là:
- Định vị và cấp phát tài nguyên: cung cấp kỹ thuật dùng cho các ứng dụng đòi hỏi
tài nguyên ngay lập tức hoặc tài nguyên được đặt trước. Đây là chức năng bắt
buộc phải có vì ứng dụng không thể xác định đúng vị trí của tài nguyên cần thiết
nhất là khi các tài nguyên có sẵn bị thay đổi.
- Truyền thông: cung cấp kỹ thuật truyền thông cơ bản, cho phép thực thi hiệu quả
việc truyền đạt thông tin trên diện rộng bao gồm việc truyền thông điệp, gửi thủ tục, phân
phối bộ nhớ…với độ tin cậy cao trên một băng thông rộng.
- Thống nhất thông tin phục vụ: cung cấp kỹ thuật đồng bộ thông tin về cấu trúc và

trạng thái thực của hệ thống metasystem. Ngoài ra, nó phải có thành phần cung cấp thông
tin và hỗ trợ việc điều khiển yêu cầu, truy cập thông tin.
- Giao diện xác thực: cung cấp những kỹ thuật cơ bản về xác thực dùng để xác
nhận tính hợp lệ của người dùng và tài nguyên.
15


- Tạo tiến trình hoạt động: được sử dụng để thực hiện tính toán trên tài nguyên đã
được định vị và phân phát. Nó bao gồm: thực thi sự điều chỉnh, tạo ra môi trường thực thi,
chuyển đổi số, kết hợp với tiến trình mới vào, quản lý sự kết thúc và tiến trình shutdown.
- Truy xuất dữ liệu: chịu trách nhiệm truy xuất dữ liệu ở tốc độ cao để lưu trữ dưới
dạng các tập tin.
4. Khả năng ứng dụng của điện toán lưới
Điện toán lưới thường được sử dụng để giải quyết các bài toán khoa học đòi hỏi
khả năng tính toán và thông lượng cao như mô phỏng, thiết kế vi mạch, chia sẻ nội dung,
truy nhập/thuê các phần mềm/dịch vụ từ xa. Hoặc các bài toán đòi hỏi dữ liệu lớn, thời
gian thực, phục vụ theo yêu cầu và các bài toán tính toán cộng tác như thiết kế cộng tác,
khai phá dữ liệu, giáo dục điện tử,…
Ngoài ra, 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 như tạo nếp protein, mô hình hoá tài chính, mô phỏng động đất và dự đoán
khí hậu thời tiết. Ngoài ra lưới còn có thể giúp các tổ chức, doanh nghiệp sử dụng một
cách tối ưu hoá 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í trong đó khách hàng chỉ phải trả những
gì họ đã sử dụng giống như điện và nước.
Một số ứng dụng đã được triển khai [10, 11]:
- Ứng dụng điện toán lưới cho sàn giao dịch chứng khoán [12]: Thị trường chứng
khoán là một kênh thu hút và phân phối tài chính không thể thiếu của một nền kinh tế thị
trường. Cốt lõi của hoạt động trên sàn chứng khoán đó là tiếp nhận và xử lý lệnh đặt
mua/bán, những lệnh phát sinh sẽ được khớp một cách tự động và liên tục. Số lượng nhà
đầu tư trên thị trường ngày càng tăng, số lượng giao dịch vào những giờ cao điểm có thể

đến hàng nghìn, thời gian cần thiết cho một giao dịch đi qua cũng tăng lên và đã dẫn đến
tình trạng quá tải của toàn hệ thống. Giải pháp điện toán lưới có thể là cách tốt nhất để
giải quyết vấn đề này.

16


- IBM sử dụng tính toán lưới giúp nghiên cứu ung thư: “Help defeat Cancer” - dự
án “Giúp chiến thắng ung thư” là dự án do các nhà nghiên cứu tại Đại học Nha khoa và Y
khoa tại New Jersey và Viện Nghiên cứu Ung thư của New Jersey đang cộng tác với tập
đoàn IBM thực hiện. Dự án “Help Defeat Cancer” có mục đích giúp các nhà nghiên cứu
hiểu rõ hơn về nguyên nhân cơ bản của căn bệnh ung thư để có thể tăng cường hiệu quả
điều trị và lập kế hoạch điều trị cho bệnh nhân ung thư. Với sự hỗ trợ của World
Community Grid của IBM, dự án này là cơ hội cho các nhà nghiên cứu phân tích số lượng
lớn mô ung thư cùng một lúc và cho phép thực hiện nhiều thí nghiệm trong một khoảng
thời gian ngắn hơn. Thông qua máy tính mạng lưới cộng đồng toàn cầu, tất cả mọi người
có thể đóng góp thời gian nhàn rỗi của máy tính họ sau khi việc tải về máy tính phần
mềm

miễn

phí

World

Community

Grid




đăng



tại

/>- Dự đoán cấu trúc protein: Từ các dãy amino-acid là một ứng dụng quan trọng
nhất của tin sinh học. Bài toán dự đoán cấu trúc protein có thể được mô hình hóa như bài
toán tối ưu hóa. Nó đòi hỏi số lượng tính toán rất lớn. Do đó cần có các kỹ thuật
metaheuristic, tính toán hiệu năng cao, tính toán lưới.
- Tính toán lưới và bài toán quản trị mạng: Ngày nay bộ phận quản trị mạng phải
phân tích, xử lý một khối lượng thông tin khổng lồ nhằm đưa ra các giải pháp, phản ứng
theo thời gian thực để đảm bảo cho các hệ thống mạng hoạt động thông suốt, tin cậy, an
toàn. Để có thể thực hiện tốt công việc của mình, bộ phận quản trị mạng cần phải có
những công cụ phân tích, cung cấp thông tin hoạt động của hệ thống mạng mạnh mẽ.
Công nghệ Grid Computing được chọn ứng dụng vào bài toán phân tích, cung cấp thông
tin hỗ trợ quản trị mạng với hy vọng tận dụng được năng lực xử lý nhàn rỗi hiện có trong
các hệ thống mạng để giải quyết bài toán hiệu quả hơn, trong giới hạn chi phí có thể chấp
nhận được. Mục tiêu lâu dài là xây dựng một hệ thống nhằm hỗ trợ bộ phận quản trị mạng
trong các lĩnh vực: quản lý hiệu năng, quản lý lỗi và bảo mật. Đưa các công nghệ khai
thác dữ liệu (data mining) và trí tuệ nhân tạo vào hệ thống để phân tích các dữ liệu thu
được, tìm ra các quy luật sử dụng của người dùng, các quy luật tấn công, … nhằm huấn
17


luyện hệ thống có thể tự động nhận dạng các mối nguy hiểm và đưa ra các phản ứng thích
hợp, hiệu quả.
- Mô hình lập lịch trong hệ thống tính toán lưới do Buyya đề xuất [2]: Bài toán lập
lịch hay lập kế hoạch là một bài toán ta rất hay gặp trong thực tế. Có thể kể ra như lập

thời khóa biểu, lập kế hoạch quản lý dự án... đều là các bài toán lập lịch tiêu biểu và rất
kinh điển. Nội dung của bài toán là tìm ra một bản kế hoạch thực hiện các công việc một
cách tối ưu nhất dựa vào tất cả các thông tin đầu vào có được từ tình trạng hiện tại của hệ
thống, tuy nhiên tùy theo bài toán cụ thể mà yêu cầu và phương pháp giải quyết của các
bài toán này rất khác nhau. Buyya đề nghị một phương pháp lập lịch cho các ứng dụng
nghiên cứu tham số (bao gồm một tập lớn các công việc độc lập trên tập các dữ liệu độc
lập). Mô hình này cũng giống như mô hình lập trình đơn chương trình đa dữ liệu (Single
Program Multiple Data). Việc lập lịch và điều phối hoạt động của các ứng dụng dạng này
trên môi trường tính toán phân tán trên diện rộng tưởng chừng khá đơn giản tuy nhiên các
vấn đề phức tạp sẽ nảy sinh khi người dùng đặt ra một số các tham số về chất lượng dịch
vụ như thời hạn kết thúc ứng dụng và giới hạn về kinh phí. Những đảm bảo như thế về
chất lượng dịch vụ là rất khó thực hiện trong một môi trường như môi trường lưới khi mà
các tài nguyên lưới phân tán, không đồng nhất, được sở hữu bởi nhiều tổ chức khác nhau
với những chính sách và cơ chế tính giá khác nhau. Thêm vào đó các thuật toán lập lịch
phải được thiết kế để thích ứng được với sự thay đổi tải và sự sẵn dùng của tài nguyên
cùng lúc với việc phải đảm bảo được thời hạn và kinh phí.
Tư tưởng chủ đạo của việc thiết kế các thuật toán lập lịch cho lưới là: không sử
dụng các thuật toán tối ưu truyền thống vẫn hay thường được sử dụng trong các bài toán
lập lịch mà chủ yếu sử dụng các heuristic.
5. Các bước khi triển khai điện toán lưới
Việc xây dựng một hệ thống tính toán lưới không chỉ đơn thuần là cài đặt các phần
mềm, các ứng dụng trên các tài nguyên kết nối sẵn có mà phải tuân theo quy trình quy
hoạch, thiết kế một cách bài bản, chuyên nghiệp. Về cơ bản, việc thiết kế lưới bao gồm
một số bước chính sau [5]:
18


- Khảo sát yêu cầu nghiệp vụ của tổ chức và quy hoạch hạ tầng sẵn có:
Trong thiết kế kiến trúc lưới, bước khảo sát yêu cầu là bước rất quan trọng, kết qủa
của nó sẽ ảnh hưởng trực tiếp đến tất cả các bước tiếp theo. Thường trong bước này,

người thiết kế phải đưa ra được những thông tin cần thiết như mục đích của việc xây dựng
lưới là gì? Lưới có những yêu cầu gì về nghiệp vụ, hạ tầng và ứng dụng? Cuối cùng cần
phải tinh chỉnh và xem xét lại xem những yêu cầu này có phù hợp với hạ tầng phần cứng
và phần mềm cũng như nguồn nhân lực sẵn có hay không.
Sau khi đã xác định đươc các yêu cầu đặt ra cho lưới, đồng thời nhận thấy rằng hạ
tầng hiện có là đủ đáp ứng để xây dựng lưới, ta phải tiến hành qui hoạch lại hạ tầng mạng
để phục vụ việc triển khai lưới được thuận tiện và khoa học.
- Lựa chọn loại lưới:
Thường thì tuỳ theo yêu cầu nghiệp vụ của lưới mà ta sẽ chọn ra loại lưới thích
hợp. Nhưng nhìn chung, các lưới được triển khai thường rơi vào hai dạng: lưới tính toán
và lưới dữ liệu.
- Lựa chọn topo lưới:
Hiện nay khi triển khai một lưới, người thiết kế thường lựa chọn một trong số các
topo lưới thông dụng là:
+ Intragrid: thường được triển khai trong các tổ chức hoặc doanh nghiệp. Dựa trên
kiến trúc mạng LAN hoặc mạng Intranet dùng riêng của tổ chức, doanh nghiệp đó. Nó có:
Băng thông và mức độ sẵn sàng cao; Cơ chế an toàn, bảo mật riêng rẽ; Môi trường tác
nghiệp độc lập. Topo lưới dạng này rất phù hợp khi triển khai các lưới tính toán hoặc lưới
dữ liệu.
+ Extragrid: được thiết lập dựa trên hai hoặc nhiều Intragrid. Đặc trưng của loại
topo này là: Cơ chế an toàn, bảo mật phân tán; Có sự tham gia của nhiều tổ chức doanh
nghiệp; Dựa trên mạng WAN. Extragrid thích hợp với các tổ chức muốn xây

19


dựng kết nối mạng với các đối tác của mình (B2B) nhằm chia sẻ tài nguyên, dữ
liệu dựa trên sự tin tưởng lẫn nhau.
- Lựa chọn hạ tầng lưới:
Hạ tầng lưới gồm hạ tầng phần mềm, phần cứng, các chuẩn mở, cơ chế an toàn,

bảo mật cho lưới,…
Khái niệm hạ tầng ở đây bao gồm cả phần cứng vật lý và các phần mềm
được sử dụng để kểt nối các máy tính của một lưới lại với nhau. Hạ tầng này cung cấp các
dịch vụ cho việc kết nối, đảm bảo an toàn và quản trị.
- Chính sách quản trị lưới:
Đối với người quản trị lưới, cần phải nắm rõ các sản phẩm liên quan và các tính
năng của hệ thống tính toán lưới. Các sản phẩn liên quan đến hệ thống tính toán lưới bao
gồm: Phần mềm tầng trung gian; Hệ thống giám sát hiệu suất lưới; Grid portals; Môi
trường lập trình; Bộ lập lịch; Hệ thống phát triển và kiểm thử lưới.
Các tính năng của hệ thống tính toán lưới: Quản lý dịch vụ; Truyền thông dịch vụ;
Quản lý chính sách; Lựa chọn và triển khai các phần mềm trung gian, lựa chọn các ứng
dụng, trả kết quả về cho các ứng dụng; Điều khiển dịch vụ; Quản lý hiệu suất/tài
khoản/lỗi; an toàn và bảo mật.
- Và cuối cùng là triển khai một lưới:
Một lưới tính toán đơn giản có thể được xây dựng dựa trên một thư viện lập trình
hỗ trợ các tính năng tính toán lưới, như sử dụng các tính năng được cung cấp bởi bộ công
cụ Globus Toolkit. Tuy nhiên, khi hệ thống được mở rộng và trở nên phức tạp, ta cần phải
tiếp cận theo phương thức khác.
Ngoài ra, khi thiết kế một lưới thì kiến trúc lưới đó cần phải thoả mãn được các
yêu cầu cơ bản như: tính an toàn, tĩnh sẵn sàng và hiệu suất cao.

20


5. Kết luận
Có thể nói việc phát triển môi trường tính toán mạng lưới là một hướng
nghiên cứu công nghệ có triển vọng rất lớn trong tương lai, có những ứng dụng lớn lao để
có thể tận dụng hết được nguồn lực tài nguyên rất đa dạng và phong phú hiện nay. Các
vấn đề mà điện toán lưới đặt ra đã và đang được cộng đồng thế giới giải quyết. Các thành
quả mà điện toán lưới đem lại đã giúp giải quyết được nhiều bài toán mà trước đây không

thể giải quyết bằng kỹ thuật toán song song.
Tài liệu tham khảo
[1]

V. Silva, Grid Computing for Developers: Charles River Media, 2005.

[2]

N. Long, N. H. Văn, and L. C. Trung, "Mô hình lập lịch trong hệ thống tính toán
lưới do Buyya đề xuất," Tạp chí Bưu chính và Viễn thông, 2006.

[3]

B. Jacob, M. Brown, K. Fukui, and N. Trivedi, Introduction to Grid Computing:
IBM, 2005.

[4]

I. Foster, "What is the Grid? A Three Point Checklist," GRIDtoday, vol. 1, 2002.

[5]

D. Minoli, Daniel Minoli - A Networking Approach to Grid Computing: WileyInterscience, 2004.

[6]

V. Berstis, "Fundamentals of Grid Computing," IBM Redbook, 2002.

[7]


F. Berman, A. J.G.Hey, and G. C.Fox, Grid

computing:

Make the Global

Infrastructure a Reality: Wiley, 2003.
[8]

L. Ferreira, V. Berstis, and J. Armstrong, Introduction to Grid Computing with
Globus: IBM Redbook, 2003.

[9]

Globus Toolkit, .

[10]

B. Jacob, L. Ferreira, N. Bieberstein, C. Gilzean, J.-Y. Girard, and R. Strachowski,
Enabling Applications for Grid Computing with Globus: IBM Redbook, 2003.

21


[11]

K. Stanoevska-Slabeva, T. Wozniak, and S. Ristol, Grid and Cloud Computing: A
Business Perspective on Technology and Applications: Springer, 2010.

[12]


L. V. Sơn and N. T. Thủy, "Ứng dụng tính toán lưới cho sàn giao dịch chứng
khoán," Tạp chí Khoa học và Công nghệ, Đại học Đà Nẵng, vol. 5, pp. 158-166,
2010.

22



×