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

TÌM HIỂU CÔNG NGHỆ GRID COMPUTING & BÀI TOÁN TÌM SỐ NGUYÊN TỐ MERSENNE TRONG MÔI TRƯỜNG GRID COMPUTING VỚI GT4IDE

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 (1.77 MB, 69 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
________________
BÀI THU HOẠCH
TÍNH TOÁN LƯỚI
Đề tài:
TÌM HIỂU CÔNG NGHỆ GRID COMPUTING &
BÀI TOÁN TÌM SỐ NGUYÊN TỐ MERSENNE
TRONG MÔI TRƯỜNG GRID COMPUTING
VỚI GT4IDE
Giảng viên hướng dẫn: PGS. TS. Nguyễn Phi Khứ
Học viên thực hiện: Phạm Ngọc Giàu
Mã số học viên: CH1101080
TP. Hồ Chí Minh - 2013
MỤC LỤC
Lời cảm ơn iii
Mở đầu iv
Chương I. Giới thiệu chung Grid Computing 1
1.1 Grid 1
1.1.1 Khái niệm 1
1.1.2 Đặc trưng của hệ thống Grid 2
1.1.3 Kiến trúc của hệ thống Grid 3
1.1.4 Chuẩn hoá Grid 5
1.1.5 Sự tiến hóa của công nghệ Grid 8
1.2 Công nghệ Grid Computing 9
1.2.1 Giới thiệu chung Grid Computing 9
1.2.2 Lợi ích và ứng dụng 10
Chương II. Grid Middleware 13
2.1 Grid Middleware 13
2.1.1 Khái niệm 14
2.1.2 Kiến trúc 14


2.1.3 Chức năng 16
2.1.4 Lợi ích 17
2.2 Một số kỹ thuật thông dụng của Grid Middleware 18
2.2.1 Globus Toolkit 18
2.2.2 UNICORE 21
2.2.3 gLite 23
2.2.4 So sánh các Middleware 31
Chương III. Globus Toolkit 4.0 33
3.1 Tổng quan về Globus Toolkit 4.0 33
3.2 Mô hình môi trường mạng Grid 38
3.3 Cấu hình và thử nghiệm môi trường Grid 39
Chương IV. Bài toán tìm số nguyên tố Mersenne trong môi trường Grid Computing
với GT4IDE 48
4.1 Giới thiệu công cụ phát triển 49
4.2 Tạo Project GT4 với GT4IDE 51
4.3 Thuật toán tìm số nguyên tố Mersenne 52
4.3.1 Các khái niệm và mệnh đề 52
4.3.2 Phân tích và thiết kế bài toán 56
Chương V. Kết luận và hướng phát triển 61
5.1 Kết luận 61
5.2 Hướng phát triển 61
Tài liệu tham khảo 62
Trang i
LỜI CẢM ƠN
Đầu tiên, em xin gửi lòng biết ơn sâu sắc đến Thầy PGS. TS. Nguyễn Phi Khứ
đã tận tình hướng dẫn, truyền đạt cho em những kiến thức quí báu, cũng như hướng
chúng em nghiên cứu nguồn kiến thức mới, khơi nguồn cho em thực hiện đề tài này.
Qua đây, em xin cảm ơn các Thầy Cô ở phòng Đào tạo sau đại học, Trường Đại
học Công nghệ thông tin, đã hỗ trợ tạo điều kiện thuận lợi cho em trong quá trình học
tập cũng như quá trình thực hiện đề tài này.

Trang ii
Em cũng xin cảm ơn các anh chị, các bạn học viên cùng lớp đã trao đổi, thảo
luận đề tài này.
Mặc dù em đã nỗ lực hết sức để hoàn thành đề tài của mình nhưng dù sao
những sai sót trong đề tài là điều không thể tránh khỏi, kính mong nhận được sự góp ý
và nhận xét của Thầy.
Em xin chân thành cảm ơn!
Học viên thực hiện
Phạm Ngọc Giàu
MỞ ĐẦU
Hiện nay, Grid Computing đang là “điểm nóng” công nghệ trên các diễn đàn
công nghệ thông tin trên khắp thế giới. Trên thế giới, công nghệ Grid (Grid
Technologies) đang được giới khoa học – công nghệ nghiên cứu, phát triển sôi nổi.
Grid Computing hiện đang là nền tảng công nghệ chủ đạo của mạng Internet thế hệ
mới, giữ vai trò giống như giao thức TCP/IP đối với mạng Internet hiện nay.
Ở Việt Nam hiện nay, Grid Computing đang còn là một vấn đề khá mới mẻ.
Đã có một số nhóm, tổ chức nghiên cứu về Grid Computing, tuy nhiên quy mô và điều
kiện nghiên cứu còn rất hạn chế. Nhận thấy những ý nghĩa thiết thực của Grid
Trang iii
Computing có thể mang lại trong tương lai, tôi quyết định đi vào nghiêu cứu công
nghệ Grid Computing và một số kỹ thuật middleware.
Các chương trình chạy trên môi trường lưới có một số ưu điểm nổi trội hơn so
với các chương trình chạy trên máy tính thông thường. Chẳng hạn như: thời gian xử lý
công việc ngắn hơn nhờ khả năng tính toán song song, hiệu suất sử dụng tài nguyên
tính toán cao hơn nhờ khả năng phân tán tài nguyên, Với những ưu điểm đó của các
chương trình Grid, tôi nghiên cứu đề tài: “Tìm hiểu công nghệ Grid Computing và Bài
toán tìm số nguyên tố Mersenne trong môi trường Grid với GT4IDE”.
Tiểu luận được chia thành các chương, nội dung chính của các chương gồm có:
Chương 1: Giới thiệu chung Grid Computing
Chương 2: Grid Middleware

Chương 3: Globus Toolkit 4.0
Chương 4: Bài toán tìm số nguyên tố Mersenne trong môi trường Grid
Computing với GT4IDE
Chương 5: Kết luận và hướng phát triển
Trang iv
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Chương I
GIỚI THIỆU CHUNG GRID COMPUTING
1.1. Grid
1.1.1. Khái niệm
Grid là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt
chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy
theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch
vụ(QoS) của người sử 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.
Giả dụ, khi một người có chiếc máy tính cá nhân tham gia đóng góp sức
mạnh xử lý trong một mạng lưới grid muốn chạy một ứng dụng đòi hỏi thêm sức
mạnh xử lý thì công việc đang được giải quyết trên chiếc máy đó sẽ được tự động
tái phân bổ tới một máy khác trong lưới đang “rảnh rỗi” và không bị trưng dụng
sức mạnh tính toàn vào công việc nào.
Xây dựng một lưới grid có thể đơn giản như việc cho phép một số lượng
nhỏ PC hoặc server hoặc mạng lưu trữ tận dụng những khả năng chưa được khai
thác hết. Từ một quy mô triển khai ban đầu nhỏ, người sử dụng có thể dần dần
hoặc lập tức mở rộng lưới tùy theo nhu cầu của doanh nghiệp. Lưới này không chỉ
có thể liên kết các quy trình hoạt động của một bộ phận mà có thể phối hợp các
phòng ban với nhau hoặc thậm chí liên kết sức mạnh hạ tầng của một số doanh

nghiệp độc lập.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 1
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Hình 1. Tiến trình làm việc trong hệ thống Grid.
1.1.2. Đặc trưng của hệ thống Grid
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 đề 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.
Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng: Grid được xây
dựng dựa 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.
Đá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 nhau, 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.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 2
OGSA/OGSI
Super
-compung
Network Compung
Cluster
comp
ung
High throughput
compung

High-performance
compung
Web Services
Condor Globus
Client/server
OGSA/WSRF
Grid Systems
2nd
Gen.
1st
Gen.
Application(Tầng ứng dụng)
Fabric(Tầng thiết bị)
Connectivity(Tầng kết nối)
Collective(Tầng kết hợp)
Internet
Transport
Application
Link
Internet Protocol
Architecture
Resource(Tầng tài nguyên)
R
?
R
R
R
R
R
?

R
R
R
R
?
R
R
R
R
R
?
RR
VO A
VO B
VO C
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
1.1.3. Kiến trúc hệ thống Grid
1.1.3.1. Kiến trúc Grid tổng quát
Hình 2. Vấn đề GIS: Many Information Sources, Many Views
Tổ chức ảo (VO): là đơn vị cơ bản quan trọng trong 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 phải là kiến trúc dựa chuẩn, hướng mở để dễ sử dụng, liên kết hoạt
động tốt, có tính khả chuyển (portability) cao. Những protocol chuẩn sẽ giúp định
nghĩa các service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách dễ
dàng.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 3
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Hình 3. Kiến trúc Grid tổng quát
Trong mô hình trên:

Tầng Fabric: là tầng thấp nhất của kiến trúc lưới, đại diện cho các thiết bị vật lý và
toàn bộ tài nguyên của lưới mà các tổ chức, người dùng muốn chia sẻ, sử dụng.
Tầng Connectivity: định nghĩa các giao thức 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 lưới. Các giao thức 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 giao thức chứng thực xây dựng trên những
dịch vụ liên lạc nhằm cung cấp cơ chế mã hóa, bảo mật, xác minh và nhận dạng người
dùng và tài nguyên.
Tầng Resource: dựa trên các giao thức liên lạc và chứng thực của tầng Connectivity
để xây dựng các giao thức, 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 giao thức 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ộ.
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 giao thức, dịch vụ, API, SDK không liên hệ đến bất kỳ một tài
nguyên cụ thể nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các
tập tài nguyên.
Tầng Application: tầng trên cùng của kiến trúc lưới bao gồm các ứng dụng của người
dùng chạy trong môi trường VO.
1.1.3.2. Kiến trúc Grid thực tế
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 4
Grid
Fabric
Networked Resources across Organisations
Computers
Clusters
Data Sources
Scienc Instruments
Storage Systems
Local Resource Managers
Operang Systems

Queuing Systems
TCP/IP & UDP

Libraries & App Kernels

Distributed Resources Coupling Services
Comm.
Sign on & Security Informaon

QoS
Process
Data Access
Development Environments and Tools
Languages
Libraries
Debuggers

Web tools
Resource BrokersMonitoring
Applications and Portals
Prob. Solving Env.
Scienc

Collaboraon
Engineering
Web enabled Apps
Grid
Apps.
Grid
Middleware

Grid
Tools
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Hình 4. Kiến trúc Grid thực tế với các thành phần
+ Tầng Fabric: Giống như tầng Fabric trong kiến trúc tổng quát.
+ Tầng 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 Tools (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 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,…
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 5
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
+ Tầng Application và Portal (Application): Giống như tầng Application trong
kiến trúc tổng quát.
1.1.4. Chuẩn hóa Grid
Để đáp ứng nhu cầu xây dựng các chuẩn, tổ chức Global Grid Forum (GGF) ra đời
và đang phát triển các chuẩn về Grid Computing như: Open Grid Services
Architecture (OGSA), Open Grid Services Infrastructure (OGSI), Web Services
Resource Framework (WSRF). Chi tiết về các chuẩn như sau:
 Open Grid Services Architecture(OGSA): chuẩn OGSA xác định toàn bộ các
kết cấu, cấu trúc, dịch vụ cơ bản của một ứng dụng và có thể được áp dụng trong
bất kỳ một hệ thống lưới nào. OSGA cũng xác định mô hình lập trình cho Grid
service. Tuy nhiên, OGSA không đi sâu vào mặt kỹ thuật của vấn đề, nó chỉ giúp
phân biệt cái gì là lưới và cái gì không phải là lưới. OGSA xác định Grid service
phải được xây dựng dựa trên các chuẩn về Web service hiện hành, xem Grid
service như là các Web service được chỉnh sửa để đáp ứng các yêu cầu mới.

Hình 5. Mô hình
OGSA
 Open Grid Service Infrastructure(OGSI): OGSI là một bản đặc tả chính thức
các khái niệm được mô tả trong OGSA. OGSI 1.0 xác định một tập các service cơ
bản, xác định cách xây dựng một Grid service, định nghãi các hoạt động chung
nhất của tất cả Grid service, vạch ra các cơ chế để tạo lập; quản lý những Grid
service, cơ chế trao đổi thông tin giữa các Grid service. Chuẩn OGSI dựa trên các
chuẩn khác như XML, Web service, WSDL, … do đó nó cũng là một chuẩn mở.
 Web Services Resource Framework(WSRF):
Nhằm đạt được một sự “hội tụ” giữa dịch vụ web và dịch vụ lưới, một chuẩn mới
đã được đưa ra trong GlobusWORLD 2004 (tháng 1/2004), thay thế cho OGSI. Đó
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 6
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
là Web Services Resource Framework (WSRF). WSRF cho phép đem tính chất
stateful vào dịch vụ web, cũng như thêm nhiều chức năng hữu ích khác. Sự ra đời
của WSRF sau một nỗ lực chung của cộng đồng Grid và Web Serivice. Cộng đồng
Web Service vốn sử dụng dịch vụ web từ lâu, và không quen với việc dịch vụ web
lại có trạng thái, như đặc tả của OGSI. WSRF cho phép vẫn giữ nguyên đặc trưng
ban đầu của dịch vụ web, nhưng vẫn thỏa mãn yêu của của cộng đồng Grid khi sử
dụng trạng thái trong các dịch vụ.
Hình 6. Mô hình WSRF mở rộng Web Service.
Để dễ hình dung, mối liên hệ giữa WSRF và OGSA là như thế nào? Rất đơn giản,
WSRF cung cấp dịch vụ có trạng thái (stateful service) mà OGSA cần. Trên hình,
WSRF xác định stateful service (chứ không phải là dịch vụ được yêu cầu bởi
OGSA). Nói cách khác, OGSA là kiến trúc (architecture), trong khi WSRF là hạ
tầng (infrastructure) mà trên đó, kiến trúc được xây dựng nên.
Như vậy, WSRF trở thành một phần của các dịch vụ web, thay vì một sự chỉnh sửa,
chắp vá (patch) trên những cái hiện có như cách OGSI đã làm.
Trong khái niệm WSRF, có cặp Web Service – Resource kết hợp. Đó là Web
Service và Stateful Resource. Nghĩa là trạng thái bây giờ đã được gắn vào tài

nguyên, chứ không phải dịch vụ nữa. Mỗi cặp như vậy có một định danh duy nhất.
Khi thao tác với dịch vụ web, mà cần dùng tới tài nguyên nào đó, nó sẽ được triệu
gọi qua định danh này. Trạng thái có thể được cụ thế hóa qua XML. Mỗi cặp Web
Service - Resource như thế có thể được sử dụng bởi nhiều dịch vụ web khác nhau.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 7
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
 OGSA, Web Service và Grid Service: Cũng như các kiến trúc khác, OGSA
cũng cần chọn một middleware phù hợp cho việc xây dựng hệ phân bố của mình.
Trong số đó có thể kể đến CORBA, RMI, Tuy nhiên, dịch vụ web được chọn vì
có những ưu điểm nổi trội, mà ta sẽ bàn đến sau đây.
OGSA dựa trên công nghệ web service đã có từ trước, và trong một chừng mực
nào đó, cải tiến nó để phục vụ cho yêu cầu của mình. Ưu điểm của dịch vụ web có
thể kể đến như:
- Sự phân tách rạch ròi giữa interface (giao tiếp, cho biết dịch vụ là gì?) và
implementation (thực thi, dịch vụ làm như thế nào?).
- Dựa trên ngôn ngữ XML được sử dụng rất rộng rãi và uyển chuyển hiện nay.
- Được sử dụng rộng rãi và có nhiều ứng dụng sẵn có hỗ trợ. Công nghệ SOA
cũng đang rất được ưa chuộng.
Dịch vụ web tỏ ra rất phù hợp, đáp ứng được những yêu cầu của OGSA và hệ
thống lưới nói chung, khi mà nó có thể giải quyết được vấn đề khó khăn khi phải
làm việc trong một môi trường hỗn tạp như Grid.
Tuy nhiên, bên cạnh những ưu điểm kể trên, dịch vụ web cũng có một số hạn chế,
mang tính chất đặc thù. Đó là tính vô trạng thái (stateless), không-tạm thời (Non-
transient/ Persistent), thiếu sự hỗ trợ cho dịch vụ về thông báo, quản lý thời gian
sống, …
 Do đó, OGSA đã định nghĩa khái niệm Grid service để khắc phục những hạn
chế trên. Grid service (dịch vụ grid), thực ra cũng là dịch vụ web cải tiến, và tương
thích với dịch vụ web. Điểm khác biệt chính là nó có thêm trạng thái cho tài
nguyên (stateful resource), đáp ứng yêu cầu của Grid.
Grid service có thể duy trì trạng thái trong, cho suốt chu trình sống của một dịch

vụ. Việc tạo và hủy là hoàn toàn linh động. Mỗi Grid service có một định danh
riêng và được quản lý toàn cục bằng Grid Service Handle (GSH). Những đặc tả này
được định nghĩa trong lớp cơ sở hạ tầng do OGSA tạo ra: Open Grid Services
Infrastructure (OGSI). Tất cả dịch vụ trong OGSA (ví dụ như Job management,
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 8
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
security, …), sẽ dựa trên và thực thi với Grid service. Như vậy, thực chất OGSA
dựa trên Grid service, một khái niệm mới trong hệ thống lưới.
Hình 7. Mối quan hệ giữa OGSA và OGSI với Grid service, Web service
1.1.5. Sự tiến hóa của công nghệ Grid
 Initial exploration(1996-1999; Globus 1.0): mở rộng application experiments;
core protocols.
 Data Grids(1999; Globus 2.0+): phân tích và quản lý dữ liệu qui mô lớn.
 Open Grid Services Architecture(2001, Globus 3.0): kết hợp Web services,
hosting environments, resource virtualization. Databases, higher-level
services.
 Radically scalable systems (2003): Sensors, wireless, ubiquitous computing.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 9
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Hình 8. Grids and Open Standards
1.2. Công nghệ Grid Computing
1.2.1. Giới thiệu chung
Theo đà phát triển chung của nhân loại, số lượng máy tính hiện nay trên thế giới là
rất lớn với tổng năng lực xử lý và lưu trữ khổng lồ. Tuy nhiên, các ứng dụng ngày
nay chỉ mới sử dụng được một phần rất nhỏ năng lực xử lý và lưu trữ do các ứng
dụng chỉ chạy trên các máy tính cục bộ, đơn lẻ, phân tán khắp nơi theo địa lý. Từ
đó dẫn đến lãng phí rất lớn. Một câu hỏi được đặt ra là làm sao tận dụng tốt hơn
năng lực của máy tính?
Thực tế đó khiến người ta nảy sinh ý tưởng kết hợp nhiều máy tính phân tán khắp
nơi trên thế giới thành một siêu máy tính khổng lồ nhằm tận dụng năng lực tính

toán, lưu trữ hiện đang lãng phí để giải quyết bài toán phức tạp với chi phí thấp
hơn. Cùng với sự phát triển của công nghệ mạng, ý tưởng về “siêu máy tính” toàn
cầu đã có cơ sở để trở thành hiện thực. Đến những năm cuối thế kỷ XX, các dự án
nghiên cứu đầu tiên về lĩnh vực này đã khai sinh ra công nghệ Grid Computing.
Công nghệ Grid Computing ra đời được dự đoán là công nghệ nền tảng của thế kỷ
XXI, làm thay đổi cách thức tính toán.
Grid Computing có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ
và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành một
cỗ máy tính lớn. Vì Grid Computing giải phóng những khả năng tính toán không
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 10
Increa
sed
functio
nality,
standa
rdizati
on
Time
Custom
solutions
Open Grid
Services
Arch
GGF: OGSI, …
(+ OASIS, W3C)
Multiple implementations,
including Globus Toolkit
Web services
Globus
Toolkit

Defacto standards
GGF: GridFTP, GSI
X.509,
LDAP,
FTP, …
App-specific
Services
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp
tăng cường rất nhiều về tốc độ, sức mạnh xử lý thông tin và sự liên kết, thúc đẩy
các quy trình tính toán mật độ cao. Trong khi đó, chi phí vẫn sẽ được giữ ở mức
thấp vì Grid Computing có thể được xây dựng từ chính hạ tầng hiện có, góp phần
đảm bảo sự huy động tối ưu các khả năng tính toán.
Grid Computing cho phép ảo hóa các chức năng tính toán phân tán cũng như các
nguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống
đơn đồng nhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vào
các tính năng điện toán rộng lớn. Giống như người lướt web xem một nội dung
thống nhất qua web, người sử dụng Grid Computing cũng nhìn thấy một máy tính
ảo cực lớn duy nhất.
Trọng tâm của Grid Computing dựa trên một tập hợp mở của nhiều chuẩn và giao
thức, ví dụ: Kiến trúc dịch vụ lưới mở (OGSA), cho phép liên lạc qua nhiều môi
trường hỗn tạp và phân tán về địa lý. Với Grid Computing, các tổ chức và doanh
nghiệp có thể tối ưu hóa khả năng tính toán và các nguồn dữ liệu, tập trung chúng
lại thành những khối sức mạnh lớn, chia sẻ chúng qua mạng và thúc đẩy sự phối
hợp, tương tác.
1.2.2. Lợi ích và ứng dụng
Một là, khai thác, tận dụng 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, ngay cả các server 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 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, … Grid cho phép kết hợp nhiều
không gian lưu trữ nhàn rỗi để tạo thành một không gian lưu trữ lớn hơn, được cấu
hình để tăng hiệu suất, độ tin cậy hơn so với các máy đơn lẻ thông qua các cơ chế
quản lý dữ liệu.
Hai là, 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 Grid, ngoài việc hỗ trợ các nhu cầu tính toán của các nhà khoa
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 11
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
học, sức mạnh tính toán do Grid 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.
Ba là, cho phép hợp tác trên toàn thế giới: Một trong những đóng góp quan trọng
của công nghệ Grid Computing là cho phép và đơn giản hoá hợp tác chia sẻ, làm
việc giữa một cộng đồng rộng lớn trên toàn thế giới. Các công nghệ tính toán phân
tán trước đây cũng cho phép hợp tác nhưng chỉ trong một phạm vi nhỏ, còn Grid
cho phép mở rộng 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.
Bốn là, cho phép chia sẻ, sử dụng 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ó 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 người dùng muốn tăng
băng thông kết nối Intenet của mình để 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 anh tăng lên rất nhiều lần,…
Năm là, tăng tính 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ụ, có thể

sử dụng các “chip” có các mạch dự phòng để có thể phục hồi lỗi khi có sự cố về
phần cứng. 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.
Sáu là, tăng khả năng quản trị các 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.
Bên cạnh đó, đối với tầm quản lý vĩ mô, có nhiều dự án sử dụng cơ sở hạ tầng
cô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,
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 12
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
thường xảy ra tình trạng các tài nguyên của dự án này đang nhàn rỗi trong khi dự
án khác đang gặp vấn đề, thiếu tài nguyên do gặp các sự kiện không lường trướ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 dễ dàng. Công nghệ Grid Computing có thể được ứng dụng trong các bài
toán trong khoa học lẫn thương mại:
+ Đò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.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 13
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Chương II
GRID MIDDLEWARE
2.1. Grid Middleware
Động lực dẫn đến sự cần thiết của Grid Middleware trong hệ thống lưới:
− Một là, tính không đồng nhất (Heterogeneity): tài nguyên trên lưới là đa dạng,

thuộc nhiều loại khác nhau từ kiến trúc phần cứng(CPU, các loại thiết bị lưu trữ, thiết
bị truyền thông,…) đến phần mềm (hệ điều hành, các thư viện, công cụ), ngôn ngữ.
− Hai là, tính quy mô lớn (large-scale): một hệ thống lưới kết hợp nhiều dạng tài
nguyên trên phạm vi cả thế giới cho nên một hệ thống lưới sẽ rất phức tạp và khó mà
có thể biết được một hình thù cụ thể của nó tại một thời điểm
− Ba là, một hệ thống lưới phải có tính thích nghi, đáp ứng cao và có khả năng
mở rộng: hệ thống lưới phát triển trên môi trường không đồng nhất đương nhiên phải
có khả năng xử lý ngoại lệ, chịu đựng lỗi tốt, có thể bắt tay với một số hệ thống khác
để thực hiện tác vụ nhưng vẫn đảm bảo vấn đề an toàn thông tin. Bên cạnh đó, hệ
thống lưới phải có khả năng mở rộng, hệ thống phải đảm bảo là khi gia tăng hay giảm
đi các phần tử trên lưới (tăng giảm quy mô) thì hệ thống không cần phải điều chỉnh lớn
lao làm ảnh hưởng đến hoạt động của cả hệ thống như là cả hệ thống phải sụp đổ tạm
thời khi thêm, bớt một đơn vị lưới nào đó sau đó mới hoạt động trở lại.
 Middleware là thành phần trung gian đáp ứng được các yêu cầu, làm trung gian để
tương tác giữa các ứng dụng lưới từ phía người dùng và môi trường lưới bên dưới.
Hình 9. Mô hình hoạt động của lưới sử dụng Grid Middleware
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 14
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
2.1.1. Khái niệm
 Grid middleware là gói phần mềm nằm giữa lớp ứng dụng và hệ điều hành.
 Grid middleware quản lý security, truy cập và trao đổi thông tin:
 Cung cấp khả năng kết nối số lượng người dùng lớn.
 Che giấu tài nguyên chia sẻ như máy tính, trung tâm dữ liệu, những thiết bị
cần thiết khác…
 Cung cấp các công cụ để quản lý, khởi tạo các liên kết trao đổi thông tin.
2.1.2. Kiến trúc
Hình 10: Các thành phần của middleware nằm giữa tầng Application và Fabric
Grid middleware gồm 2 lớp chính:
 Lớp các dịch vụ tập hợp (Collective services): Có khả năng quản lý một tập các
tài nguyên trong khi lớp tài nguyên chỉ tập trung vào việc tương tác giữa các tài

nguyên đơn lẻ. Và nó dựa trên lớp kết nối và lớp tài nguyên để hiện thực rất nhiều
hành vi chia sẻ mà không cần phải thay thế những yêu cầu mới ứng với mỗi tài nguyên
được chia sẻ. Các dịch vụ có thể kể đến là:
 Directory service: cho phép các thành viên tham gia vào tổ chức ảo có thể khám
phá ra tài nguyên hay các thuộc tính của tài nguyên. Nó cho phép người dùng
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 15
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
truy vấn về tài nguyên bằng tên hoặc các thuộc tính như kiểu, sự sẵn sàng, hay
tải.
 Coallocation-allocation, scheduling, and brokering services: cho phép các
thành viên của tổ chức ảo yêu cầu việc định vị cho 1 hay nhiều tài nguyên và
phân bổ nhiệm vụ cho những tài nguyên thích hợp.
 Monitoring and diagnotics services: hỗ trợ việc theo dõi các tài nguyên của tổ
chức ảo về lỗi, việc tấn công hay việc quá tải.
 Data replication services hỗ trợ quản lý việc lưu trữ tài nguyên để tối đa hiệu
quả truy xuất như thời gian đáp ứng, khả năng tin cậy, chi phí,…
 Grid-enabled programming systems: cho phép các mô hình lập trình thân thiện,
chẳng hạn như MPI (Message-passing Interfaces),…
 Workload management systems and collaboration frameworks
 Software discovery service
 Community authorization servers
 Community accounting and payment services
 Collaboratory services
 Lớp các giao thức kết nối tài nguyên – Resource and Connectivity Protocols:
có chức năng giao tiếp một cách dễ dàng và an toàn. Lớp kết nối định nghĩa giao thức
giao tiếp(communication) và giao thức xác thực(authentication). Giao thức giao tiếp
cho phép các thông điệp có thể được trao đổi với nhau giữa các tài nguyên của lớp
Fabric. Giao thức xác thực xây dựng trên các dịch vụ giao tiếp bằng cách cung cấp cơ
chế bảo mật mã hóa cho việc xác định người dùng và tài nguyên.
Các giải pháp xác thực cho môi trường tổ chức ảo (VO – Virtual Organization) có thể

có 4 đặc tính sau:
 Single sign-on: Người dùng có thể được xác thực chỉ 1 lần bằng cách đăng
nhập vào hệ thống và có thể truy xuất vào nhiều tài nguyên lưới.
 Việc ủy quyền: Người dùng có khả năng ủy quyền cho 1 chương trình khác để
thực thi giống như những hành vi của người dùng khi người dùng đã được xác
thực. Đến lượt chương trình có thể ủy quyền cho nhưng chương trình khác 1
cách tùy chọn.
 Việc tích hợp với nhiều giải pháp bảo mật cục bộ: Đó là việc mỗi tổ chức, mỗi
tài nguyên đã có nhưng giải pháp bảo mật riêng cho mình. Do đó, các giải pháp
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 16
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
bảo mật của hệ thống lưới sẽ tận dụng các giải pháp bảo mật cục bộ có sẵn này
mà không cần phải thay thế 1 giải pháp bảo mật mới, và chỉ cần cho phép ánh
xạ vào môi trường cục bộ.
 Mối quan hệ đáng tin cậy dựa trên người dùng: Để người dùng có khả năng
truy xuất vào tài nguyên từ nhiều nhà cung cấp khác nhau, thì hệ thống bảo mật
không cần phải yêu cầu các nhà cung cấp tài nguyên phải liên lạc với nhau để
cấu hình cho môi trường mạng. Chẳng hạn, nếu người dùng có quyền truy xuất
vào tài nguyên của tổ chức A và B, thì người dùng có thể truy xuất vào cả 2 tài
nguyên của tổ chức A và B với nhau mà không cần sự liên lạc giữa những nhà
quản trị bảo mật của tổ chức A và B .
Cũng trong lớp này, các tài nguyên đơn lẻ có khả năng chia sẻ. Nó định nghĩa các
giao thức về sự thương lượng an toàn, khởi tạo, theo dõi, điều khiển, tài khoản và
sự trả chi phí cho việc chia sẻ các thao tác trên những tài nguyên đơn lẻ. Lớp tài
nguyên sẽ được hiện thực bởi các giao thức để truy xuất và điều khiển các tài
nguyên cục bộ, bao gồm 2 lớp giao thức chính:
 Giao thức thông tin (Information protocol): được sử dụng để rút ra thông tin về
cấu trúc và trạng thái của tài nguyên chẳng hạn như cấu hình của tài nguyên, tải
hiện thời, hay chính sách sử dụng,…
 Giao thức quản lý (Management protocol): được sử dụng để thỏa thuận việc

truy xuất vào tài nguyên chia sẻ, chẳng hạn về yêu cầu tài nguyên (bao gồm
việc đặt chỗ và chất lượng dịch vụ) và các thao tác thực hiện như khởi tạo, truy
xuất tài nguyên,…
2.1.3. Chức năng
 Xây dựng các giao tiếp và các giao thức có tính mục đích chung, tính mở và
tính chuẩn: Vì hệ thống lưới được xây dựng trên những giao tiếp và giao thức với
rất nhiều mục đích khác nhau. Những giao tiếp và giao thức này đều chỉ ra được
những kết quả cơ bản mang tính nền tảng như việc xác thực, khám phá tài nguyên,
truy xuất tài nguyên. Do đó, việc xây dựng các giao tiếp, giao thức chuẩn và mở là
rất quan trọng, nếu không chúng ta chỉ xây dựng được những ứng dụng mang tính
đặc thù mà thôi.
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 17
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
 Định nghĩa những giao thức chuẩn: grid middleware định nghĩa nội dung và
chuỗi các sự kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa. Điều này
rất quan trọng và cấp thiết để thực hiện tính interoperability (khả năng mà 2 thực
thể khác nhau có thể làm việc với nhau và được thực hiện bởi các giao thức thông
thường) mà hệ thống lưới phụ thuộc vào.
 Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn, định
nghĩa những giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần của
Grid bằng cách cho phép những thành phần mã nguồn được sử dụng lại.
Hình 11. Vai trò của Grid Middleware và các công cụ.
2.1.4. Lợi ích
 Tránh cho các nhà phát triển ứng dụng không phải lập trình ở mức thấp, tránh
được các error-prone flatform như việc lập trình mạng mức socket.
 Giảm chi phí thời gian phát triển phần mềm khi tập trung phát triển chuyên môn
trước rồi mới phát triển ứng dụng bằng cách tái sử dụng framework chứ không
cần xây dựng lại từ đầu.
 Cung cấp các trừu tượng hướng mạng ở mức cao gần với yêu cầu ứng dụng cho
việc phát triển hệ thống rời rạc.

HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 18
Information
services
Data
mgmt
. .
.
Resource
mgmt
Collaboratio
n
Tools
Data
Mgmt
Tools
Distributed
simulation
. .
.
ne
t
Remote
monitor
Remote
access
. .
.
Collaboration
Tools
Data Mgmt

Tools
Distributed
simulation
. .
.
net
Credit to Ian Foster
Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
 Cung cấp nhiều dịch vụ phát triển, như đăng nhập và bảo mật giúp cho việc
hoạt động hiệu quả trong môi trường mạng.
2.2. Một số kỹ thuật thông dụng của Grid Middleware
2.2.1. GLOBUS TOOLKIT
2.2.1.1. Giới thiệu
Globus là phần mềm nguồn mở được dùng để xây dựng các hệ thống lưới và các ứng
dụng trên nền tảng lưới. Tookit này cung cấp các dịch vụ và thư viện điểu khiển,
khám phá và quản lý tài nguyên, quản lý tập tin, cung cấp các cơ chế bảo mật dữ liệu
cho người dùng trong hệ thống lưới. Các dịch vụ, giao tiếp và giao thức của nó cho
phép người dùng có thể dễ dàng truy xuất tới các tài nguyên ở xa ngay trên máy cục
bộ của mình.
Globus được phát triển bởi tổ chức Globus Alliance, phiên bản 1.0 ra đời vào năm
1998, phiên bản gần đây nhất là phiên bản 5.0 ra đời vào tháng 1 năm 2010.
2.2.1.2. Kiến trúc
Cấu trúc của Globus gồm 3 nhóm dịch vụ chính, các dịch vụ này được truy xuất
thông qua một tầng bảo mật (Security Layer). Ba nhóm dịch vụ đó là: dịch vụ quản lý
tài nguyên (Resource Management), dịch vụ quản lý thông tin (Information Service),
dịch vụ quản lý dữ liệu (Data Management). Globus đóng gói các dịch vụ này lại với
nhau, chúng có thể được sử dụng một cách độc lập hoặc kết hợp chung với nhau để
phát triển ứng dụng.
Hình 12. Kiến trúc của Globus Toolkit
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 19

Tiểu luận Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Tầng local-service chứa các dịch vụ của hệ điều hành, dịch vụ mạng như là
TCP/IP, … Tầng chính chứa các công cụ để xây dựng các cơ chế bảo mật, gửi
các công việc để thực thi (job submission), quản lý tài nguyên, quản lý thông tin
tài nguyên. Tầng cao hơn cung cấp các dịch vụ và công cụ để tương tác với các
dịch vụ bên dưới và hiện thực các chức năng còn thiếu.
 Tầng bảo mật GSI
Tầng này cung cấp các phương thức xác thực của người dùng trong môi trường
lưới và cơ chế bảo một trong trao đổi dữ liệu. Nó dựa trên nền tảng SSL, PKI
và chuẩn X.509. Tầng GSI cung cấp các dịch vụ, giao thức và thư viện để thực
thi các vấn đề bảo mật trong môi trường lưới như:
- Xác thực một lần (single sign-on) trong việc sử dụng các dịch vụ của hệ
thống lưới thông qua chứng nhận (certificate) của người dùng.
- Xác thực việc sử dụng tài nguyên thông qua certificate của host
- Mã hóa dữ liệu
- Ủy quyền
Người dùng muốn truy cập vào các tài nguyên của hệ thống lưới cần phải có
một certificate subject ánh xạ với một tài khoản trên máy ở xa được cung cấp
bởi người quản trị của hệ thống. Chứng thực này cần phải được ký bởi một tổ
chức(CA) mà hệ thống tin tưởng. Hầu hết các dịch vụ đòi hỏi người dùng phải
được xác thực trước khi sử dụng các chức năng của nó. Điều này đảm bảo việc
chống thoái thác trách nhiệm và bảo mật dữ liệu cho cả người sử dụng lẫn hệ
thống.
 Nhóm dịch vụ quản lý tài nguyên (Resource Management)
Gói này gồm các thành phần chính sau:
- Globus resource allocation manager (GRAM): GRAM cung cấp khả năng
thực thi các công việc trên các máy ở xa, và trả kết quả thực hiện lại cho trình
HVTH: Phạm Ngọc Giàu _ CH1101080 Trang 20

×