Tải bản đầy đủ (.doc) (29 trang)

TÌM HIỂU VỀ KIẾN TRÚC VÀ GIẢI QUYẾT VẤN ĐỀ PHÂN TÁN TÍNH TOÁN TRONG GRID COMPUTING

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 (2.43 MB, 29 trang )

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
I H C QU C GIA TH NH PH H CH MINHĐẠ Ọ Ố À Ố Ồ Í
TR NG I H C CÔNG NGH THÔNG TINƯỜ ĐẠ Ọ Ệ
ĐỀ TÀI: TÌM HIỂU VỀ KIẾN TRÚC VÀ GIẢI
QUYẾT VẤN ĐỀ PHÂN TÁN TÍNH TOÁN
TRONG GRID COMPUTING
Gi ng viên h ng d n:ả ướ ẫ PGS. TS. NGUY N PHI KHỄ Ứ
Sinh viên thực hiện: NGUYỄN HUỲNH THUÝ NGA
Mã số sinh viên: CH1301041
TPHCM, tháng 6/ 2014
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 1/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
MỤC LỤC

Sinh viên thực hiện: NGUYỄN HUỲNH THUÝ NGA 1
Mã số sinh viên: CH1301041 1
LỜI NÓI ĐẦU 3
 3
PHẦN 1: TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING
4
I. Khái ni m Grid Computingệ 4
II. c tr ng c a m t h th ng Grid:Đặ ư ủ ộ ệ ố 5
III. T i nguyên c a Gridà ủ 5
IV. Phân lo i Gridạ 7
V. T i sao c n ph i có Gridạ ầ ả 13
VI. Nh ng ai c n dùng tính toán l iữ ầ ướ 14
PHẦN 2: KIẾN TRÚC GRID
14


I. Ki n trúc Grid t ng quátế ổ 14
II. Ki n trúc Grid trong th c tế ự ế 20
PHẦN 3. ỨNG DỤNG PHÂN TÁN TÍNH TOÁN TRONG GRID
COMPUTING ĐỂ GIẢI QUYẾT MỘT BÀI TOÁN
21
1. Mô t ch ng trìnhả ươ 21
2. Các h m quan tr ng trong ch ng trình à ọ ươ 21
3. Th c thi ch ng trìnhự ươ 23
* Ph n m m c n ch y ch ng trìnhầ ề ầ để ạ ươ 23
- Visual Studio 2010 23
* Giao di n chính c a ch ng trìnhệ ủ ươ
B c 1:M File GridService.sln trong folder GridService: Service s nướ ở Để ẵ
s ng nh n thông i p t Client à ậ đ ệ ừ 23
- Nhấp vào nút Execute
27
KẾT LUẬN – HƯỚNG PHÁT TRIỂN
28
1. K t lu n:ế ậ 28
D a v o nguyên lý phân tán tính toán c a Grid Computing Server có th tínhự à ủ ể
toán các ch ng trình do Client g i n v g i k t qu tr v cho Client.ươ ử đế à ử ế ả ả ề 28
2. H ng phát tri n: ướ ể 28
TÀI LIỆU THAM KHẢO
29
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 2/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
TÀI LIỆU THAM KHẢO…………………………………………………… 26
LỜI NÓI ĐẦU
 

Hiện nay, đất nước ta đang thực hiện công cuộc công nghiệp hoá, hiện đại
hóa. Ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lý lớn xuất hiện trong
khoa học, thương mại và quản lý đất nước. Các công nghệ tính toán hiện hành
cũng được áp dụng nhưng không thể triển khai rộng rãi để có thể giải quyết hết
các nhu cầu do chi phí đầu tư quá lớn. Việc nghiên cứu, áp dụng công nghệ Grid
Computing là một giải pháp tốt để giải quyết các tình huống này.
Qua môn học “Điện toán lưới và đám mây” Thầy PGS-TS. NGUYỄN PHI
KHỨ đã giúp em hình thành những cái nhìn rất mới Điện toán lưới và đám
mây . Đặc biệt là tính toán lưới để áp dụng vào thực tiễn.
Trong phạm vi của bài thu hoạch nhỏ này, chúng em sẽ trình bày khái quát
kiến trúc và áp dụng phân tán tính toán trong Grid Computing.
Em xin chân thành cảm ơn Thầy PGS. TS Nguyễn Phi Khứ. Những tiết
giảng quý báu của Thầy đã cung cấp cho em những kiến thức nền tảng về Điện
toán lưới và đám mây bước khởi đầu giúp em ứng dụng trong nhiều lĩnh vực.
Học Viên Cao Học Khóa 8
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 3/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
NGUYỄN HUỲNH THUÝ NGA
* * *
PHẦN 1: TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING
I. Khái niệm Grid Computing
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster
như sau : “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 về 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 (VO)), các liên minh tạm thời giữa các tổ chức và tập

đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc 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”
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 4/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
II. Đặc trưng của một hệ thống Grid:
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ác giao diện và giao thức chuẩn, mang tính mở và đa dụng.
Grid được xây 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 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 hẳn tổng khả năng của
từng đơn vị cấu thành nên Grid.
III. Tài nguyên của Grid
1. Tài nguyên tính toán
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 5/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi

Khứ
Đâ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:
- Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid
thay vì chạy trên máy tính cục bộ.
- 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.
- Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid.
2. Tài nguyên lưu trữ
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, ổ đĩ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
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.
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.
Cá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.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 6/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
4. Phần mềm ứng dụng
Grid có thể cài đặt các phần mềm mà có thể quá mắc để cài đặt trên tất cả
mọi máy tính trong Grid. Các phần mềm này chỉ đượ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à 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.
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 (sensor),… 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ý sau này.
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ố 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” (virtualize) để 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. Hình phía dưới minh
hoạ ý tưởng này.
IV. Phân loại Grid
1. Các kiểu Grid
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 7/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
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 là sự kết hợp 2 hay nhiều loại khác nhau.
a) Grid 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ă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. Hình 2-2 minh họa quá trình này.
b) Grid dữ liệu (Data Grid)
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 8/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
Ở đâ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à cung 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(data
mining) hoặc các hệ thống thương mại thông minh. 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.
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 của mình
2. Đồ thị Grid (Grid Topology)
Grid có thể được xây dự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.
Hình 2-3 cho thấy độ lớn của các đồ hình Grid
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 9/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
Hình 2-3 Các đồ hình Grid.
a) SimpleGrid
Hình 2-4 Đồ hình SimpleGrid
Như trên hình 2-4, một SimpleGrid chỉ bao gồm vài máy tính, tất cả đều có
cùng kiến trúc phần cứng, chạy cùng một hệ điều hành, kết nối vào mạng cục
bộ. Dạng Grid này sử dụng các hệ thống đồng nhất nên ít phức tạp, thường chỉ
dùng để thử nghiệm, làm quen với các phần mềm Grid. Các máy tính thuộc một
phòng ban trong tổ chức nên việc sử dụng chúng cho Grid không cần các chí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
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 10/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi

Khứ
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
b) IntraGrid
Hình 2-5 mô tả một Intra Grid
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 filesytem). 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 trong 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.
c) ExtraGrid
Vẫn trong cùng một tổ chức, ExtraGrid là sự kết hợp 2 hay nhiều IntraGrid.
Như trong hình 2-6, ExtraGrid liên quan đến nhiều vùng quản lý khác nhau,
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 11/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
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ý các 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 2-6 Đồ hình ExtraGrid
d) 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ạng 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.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 12/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
Hình 2-7 minh hoạ các InterGrid.
V. Tại sao cần phải có Grid
- Tăng tính tin cậy cho các hệ thống máy tính.
- Tăng khả năng quản trị các hệ thống
- Đòi hỏi năng lực xử lý lớn (High-performance computing), yêu cầu rút
ngắn thời gian hoàn thành kết quả càng nhanh càng tốt.
- Hướng dữ liệu, đòi hỏi phải thu thập, lưu trữ, phân tích một lượng lớn
- Dữ liệu, mang tính phân tán.
- Cần sự hợp tác, chia sẻ giữa các cộng đồng
- Khách hàng muốn truy cập vào các ứng dụng và dữ liệu của mình từ mọi
nơi và vào mọi thời điểm. Họ có thể truy cập vào hệ thống từ bất kỳ máy tính
nào nối mạng Internet. Dữ liệu của họ không còn bị giới hạn trong ổ cứng nữa

mà có thể mở rộng ra thậm chí ngoài mạng nội bộ công ty.
- Giúp giảm chi phí phần cứng, khách hàng không cần thiết phải lắp đặt
những thiết bị đắt tiền, mua những chiếc máy tính nhanh nhất với bộ nhớ lớn
nhất nữa, bởi hệ thống sẽ lo liệu mọi việc này cho bạn. Vì vậy bạn chỉ cần sắm
cho mình một chiếc máy đầu cuối rẻ tiền gồm có một màn hình, một bàn phím,
một chuột và vừa đủ khả năng xử lý để chạy phần mềm middleware mà thôi.
Bạn cũng chẳng cần đến một ổ cứng lớn bởi bạn đã có hẳn một chiếc máy tính
từ xa chuyên lưu dữ liệu cho mình.
- 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 cách sử dụng những tài nguyên rỗi( CPU, và thiết bị lưu trữ) của một loạt
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 13/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
các máy tính riêng rẽ, thường là máy để bàn, hệ thống này được coi là một một
cụm máy ảo nhúng trong một môi trường liên lạc phân tán. Tính toán lưới tập
trung vào khả năng hỗ trợ tính toán giữa các khu vực hành chính, điều này làm
cho mô hình này tách biệt so với mô hình cụm tính toán và tính toán phân tán
truyền thống.
- 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.
- Tính toán lưới cung cấp một môi trường đa người dùng. Mục tiêu thứ hai
của tính toán lưới là khả năng khai thác tốt hơn những năng lực tính toán chưa
được sử dụng và phục vụ cho những nhu cầu tính toán không ngừng của các bài
toán khoa học lớn.
VI. Những ai cần dùng tính toán lưới

- Chính phủ
- Trong kinh doanh
- Trong giáo dục
- Thiết kế công nghiệp…
PHẦN 2: KIẾN TRÚC GRID
I. Kiến trúc Grid tổng quát
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 dựa 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ể tuỳ thuộc vào
từng dự án, từng lĩnh vực ứng dụng.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 14/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
Dưới đây là chi tiết của kiến trúc:
Kiến trúc Grid tổng quát.
1. Tầng Fabric
Đây là tầng thấp nhất của kiến trúc, đại diện cho các thiết bị vật lý và toàn
bộ tài nguyên của Grid mà các tổ chức, người dùng muốn chia sẻ, sử dụng. Các
tài nguyên có thể tồn tại dưới dạng vật lý như các máy tính, hệ thống lưu trữ, các
danh mục, tài nguyên mạng, các loại sensor, cũng có thể là các thực thể logic -
một thực thể trừu tượng - đại diện cho một tập các tài nguyên vật lý, như hệ
thống file phân tán, các cluster,… Trong trường hợp các thực thể logic, việc
triển khai có thể liên quan đến các protocol cục bộ (ví dụ các protocol phục vụ
dạng truy cập NFS, hoặc protocol quản lý tài nguyên, tiến trình trong cluster,…)
nhưng các protocol này không liên quan đến kiến trúc Grid.
Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ trên các tài

nguyên cụ thể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ
tài nguyên của các tầng trên. Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa
các chức năng của tầng Fabric với các hoạt động chia sẻ được hỗ trợ. Các chức
năng Đây là tầng thấp nhất của kiến trúc, đại diện cho các thiết bị vật lý và toàn
bộ tài nguyên của Grid mà các tổ chức, người dùng muốn chia sẻ, sử dụng. Các
tài nguyên có thể tồn tại dưới dạng vật lý như các máy tính, hệ thống lưu trữ, các
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 15/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
danh mục, tài nguyên mạng, các loại sensor, cũng có thể là các thực thể logic -
một thực thể trừu tượng - đại diện cho một tập các tài nguyên vật lý, như hệ
thống file phân tán, các cluster,… Trong trường hợp các thực thể logic, việc
triển khai có thể liên quan đến các protocol cục bộ (ví dụ các protocol phục vụ
dạng truy cập NFS, hoặc protocol quản lý tài nguyên, tiến trình trong cluster,…)
nhưng các protocol này không liên quan đến kiến trúc Grid.
Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ trên các tài
nguyên cụ thể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ
tài nguyên của các tầng trên. Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa
các chức năng của tầng Fabric với các hoạt động chia sẻ được hỗ trợ. Các chức
năng của tầng Fabric càng mạnh, càng nhiều sẽ cho phép các hoạt động chia sẻ
phức tạp, phong phú hơn. Kinh nghiệm cho thấy, việc quản lý tài nguyên ở tầng
này ít nhất cũng phải có cơ chế cung cấp thông tin để xác được cấu trúc, trạng
thái, năng lực của tài nguyên và cơ chế điều khiển chất lượng dịch vụ.
2 Tầng Connectivity
Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực cơ bản
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,…).
Về khía cạnh bảo mật của tầng Connectivity, 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ộ Internet protocol có thể áp dụng được.
Việc chứng thực, phân quyền trong môi trường Grid 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 và server. Trong Grid, việc phân biệt client/server không tồn tại, vì các
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 16/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
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 VO nên đạt được các yêu cầu về
bảo mật trong Grid như đã giới thiệu ở trên.
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, theo dõi, đ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 + 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ụ) 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ẻ, đả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à 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ạt động. Với những yêu cầu như vậy, tập các protocol tầng Resource (và
Connectivity) nên nhỏ gọn và tập trung. Các protocol này chỉ nên đáp ứng được
các cơ chế chia sẻ với nhiều loại tài nguyên khác nhau (ví dụ, các hệ thống quản
lý tài nguyên cục bộ khác nhau) là đủ.
Các chức năng chính của tầng Resource cũng giống như của tầng Fabric
cộng thêm nhiều ngữ nghĩa mới với cơ chế báo lỗi tin cậy khi hoạt động không
thành công.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 17/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
4. Tầng Collective
Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng
Collective chứa các protocol, service, API, SDK không liên hệ đến bất kỳ một
tài nguyên cụ nào
+ Directory service Cho phép các thành phần tham gia VO phát hiện sự tồn
tại và/hoặc đặc tính của các tài nguyên trong VO. Một directory service có thể
cho phép người truy vấn tài nguyên qua tên và/hay các thuộc tính như kiểu, khả
năng, tải, …
+ Co-allocation, scheduling, và broker service Cho phép các thành phần
tham gia VO yêu cầu cấp phát các tài nguyên cho các mục đích cụ thể và lập
lịch cho các tác vụ trên các tài nguyên tương ứng.
+ Monitoring ang dianostics sevice Hỗ trợ việc kiểm soát các tài nguyên
của VO, kiểm tra xem có bị lỗi, bị tấn công, bị quá tải,… hay không.
+ Data replication service Hỗ trợ quản lý tài nguyên lưu trữ của VO để tối
ưu hiệu suất truy cập dữ liệu theo các độ đo như thời gian đáp ứng, tính toàn

vẹn, tin cậy, chi phí,…
+ Grid-enable programming system Cho phép các sử dụng các mô hình lập
trình hiện tại trong môi trường Grid, sử dụng nhiều loại dịch vụ Grid để giải
quyết các vấn đề như phát hiện, tìm kiếm tài nguyên, bảo mật, cấp phát tài
nguyên,…
+ Workload management system and collaboration framework Cung cấp
khả năng đặc tả, sử dụng, quản lý các luồng công việc đa thành phần, bất đồng
bộ và 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 cộ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 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ầng Resource và protocol bảo mật ở
tầng Connectivity.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 18/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
+ 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 tin đồng bộ và bất đồng
bộ trong cộng đồng người dùng.
5. Tầng Application
Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng
chạy trong một trường VO. Hình 2-9 minh hoạ quan điểm của các lập trình viên
về kiến trúc Grid. Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ
định nghĩa bởi các tầng phía dưới.
Ví dụ : một chương trình phân tích bộ gen người cần phải chạy hàng ngàn

tác vụ độc lập, mỗi tác vụ cần nhiều file chứa thông tin từng phần của bộ gen có
thể sử dụng các chức năng Grid sau:
+ Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity).
+ Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên
thích hợp và vị trí các file dữ liệu đầu vào. (các dịch vụ tầng Collective).
+ Gửi các yêu cầu đến các tài nguyên để thực hiện tính toán, di chuyển dữ
liệu,… và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi
mọi thứ hoàn tất, dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource).
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 19/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
Quan điểm của các lập trình viên về kiến trúc Grid.
II. Kiến trúc Grid trong thực tế
Trong thực tế, kiến trúc Grid tổng quan đã được cài đặt và xây dựng như
hình sau:
Kiến trúc Grid trong thực tế với các thành phần.
+ Tầng Fabric (tầng Fabric) Giống như tầng Fabric trong kiến trúc tổng
quát.
+ Tầng Core Middleware (Connectivity và Resource và nửa dưới của
Collective)
Cung cấp các dịch vụ như quản lý tiến trình ở xa, kết hợp, phân phối các tài
nguyên, quản lý truy cập không gian lưu trữ, đăng ký và tìm kiếm thông tin, bảo
mật và các khía cạnh của QoS như đặt trước, mua bán và trao đổi tài nguyên,…
Các dịch vụ này là sự trừu tượng hoá tính phức tạp và đa dạng của các tài
nguyên bằng cách cung cấp một phương pháp chung để truy cập tài nguyên.
+ Tầng User-level Middleware (Collective) Tận dụng các giao diện ở tầng
Core Middleware để cung cấp các dịch vụ có mức độ trừu tượng cao hơn. Tầng
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 20/29


Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
này bao gồm các môi trường phát triển phần mềm, công cụ lập trình, resource
broker, bộ lập lịch,…
+ Tầng Application và Portal (Application) Giống như tầng Fabric trong
kiến trúc tổng quát.
Dưới đây là một số dự án Grid tương ứng với các tầng khác nhau
Các dự án Grid tương ứng với các tầng.
PHẦN 3. ỨNG DỤNG PHÂN TÁN TÍNH TOÁN TRONG GRID
COMPUTING ĐỂ GIẢI QUYẾT MỘT BÀI TOÁN
1. Mô tả chương trình
- Giả sử có nhiều máy tính nhưng chỉ có duy nhất 1 máy tính có phần mền
chuyên dụng là Visual studio (vì lý do bản quyền và cấu hình máy tính). Khi
máy tính Client cần thực thi 1 đoạn source, bản thân nó không thể biên dịch và
chạy chương trình.
- Giải pháp : Lấy tất cả source code gửi về cho máy tính Service có chứa
visual studio. Nó sẽ nhận yêu yêu cầu, combine và thực thi mã lệnh cho do các
máy tính khác gửi về và trả ra kết quả tương ứng.
2. Các hàm quan trọng trong chương trình
a) Hàm Biên dịch và run chương trình mà Client chuyển qua.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 21/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
b) Hàm gửi thông tin từ Client đến Server
c) Hàm nhận kết quả trả về
d) Hàm tính tổng hai số a,b
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 22/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi

Khứ
3. Thực thi chương trình
* Phần mềm cần để chạy chương trình
- Visual Studio 2010
* Giao diện chính của chương trình
Bước 1:Mở File GridService.sln trong folder GridService: Để Service sẵn
sàng nhận thông điệp từ Client
- Mở file
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 23/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
- Chạy file ta được kết quả
Bước 2: Mở file GridClient.sln trong folder GridClient
- Mở file
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 24/29

Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi
Khứ
- Chạy file
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 25/29

×