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

Tăng cường hạ tầng tính toán lưới bằng công nghệ ảo hóa và điện toán đám mây

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.9 MB, 82 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI

ĐẠI HỌC CÔNG NGHỆ






PHẠM ĐỨC HẢI





TĂNG CƯỜNG HẠ TẦNG TÍNH TOÁN LƯỚI BẰNG
CÔNG NGHỆ ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY











LUẬN VĂN THẠC SĨ







Hà nội – tháng 9 năm 2011

ĐẠI HỌC QUỐC GIA HÀ NỘI

ĐẠI HỌC CÔNG NGHỆ






PHẠM ĐỨC HẢI





TĂNG CƯỜNG HẠ TẦNG TÍNH TOÁN LƯỚI BẰNG
CÔNG NGHỆ ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY




Ngành : Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: 60 48 15


LUẬN VĂN THẠC SĨ



NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Hồng Quang



Hà nội – tháng 9 năm 2011
DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ

Từ viết tắt
Tiếng Anh
Tiếng Việt, chú giải
IaaS
Infrastructure as a Service
Hạ tầng tính toán như một dịch vụ
PaaS
Platform as a Service
Nền tảng tính toán như một dịch vụ
SaaS
Software as a Service
Phần mềm như một dịch vụ
EGEE
Enabling Grids for E-sciencE
Dự án lưới điện toán của Châu Âu
phục vụ nghiên cứu khoa học


Grid computing
Điện toán lưới, tính toán lưới

Cloud computing
Điện toán đám mây
EGI
European Grid Infrastructure
Hạ tầng tính toán lưới ở Châu Âu
gLite
Lightweight Middleware for Grid
Computing
Bộ công cụ phần mềm phục vụ tính
toán lưới của dự án EGEE
BEinGRID
Business Experiments in GRID
Dự án tính toán lưới của liên minh
Châu âu, giới thiệu 25 thành công
về tính toán lưới.
VMM
Virtual Machine Monitor
Phần giám sát máy chủ ảo
HAL
Hardware Abstraction Layer
Lớp trừu tượng hóa phần cứng
VO
Virtual Organizations
Tổ chức ảo
UNICORE
Uniform Interface to Computing

Resources
Giao diện thống nhất để sử dụng các
tài nguyên tính toán. Tên một bộ
công cụ phục vụ tính toán lưới.
SLA
Service level agreement
Thỏa thuận cấp độ dịch vụ









2
MỤC LỤC
LỜI CAM ĐOAN 2
LỜI CẢM ƠN 0
DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ 1
MỤC LỤC 2
MỞ ĐẦU 4
1. Lý do chọn đề tài 4
2. Tình hình nghiên cứu vấn đề 6
3. Mục đích, nhiệm vụ và phạm vi nghiên cứu 7
4. Phƣơng pháp nghiên cứu 8
5. Đóng góp và ý nghĩa thực tiễn của luận văn 8
6. Kết cấu của luận văn 8
CHƢƠNG 1 - ĐIỆN TOÁN LƢỚI, ĐIỆN TOÁN ĐÁM MÂY VÀ CÔNG

NGHỆ ẢO HÓA 9
1.1. Lịch sử điện toán lƣới và điện toán đám mây 9
1.2. Điện toán lƣới 13
1.2.1. Định nghĩa điện toán lƣới 13
1.2.2. Cơ bản về điện toán lƣới 15
1.2.1. Một vài ví dụ về điện toán lƣới 16
1.3. Công nghệ ảo hóa 17
1.3.1. Khái quát về công nghệ ảo hóa 17
1.3.2. Các nền tảng ảo hóa 20
1.4. Điện toán đám mây 21
1.4.1. Định nghĩa điện toán đám mây 21
1.4.2. Phân loại điện toán đám mây 26
1.4.3. Kiến trúc điện toán đám mây 26
1.4.4. Một vài ví dụ về điện toán đám mây 27
1.5. Đám mây IaaS 29
1.5.1. Mục tiêu của IaaS 29
1.5.2. Ƣu nhƣợc điểm của IaaS 30
TIỂU KẾT CHƢƠNG 1: 31
CHƢƠNG 2 – NGHIÊN CỨU BỘ CÔNG CỤ OPENNEBULA VÀ
STRATUSLAB 32
2.1. Bộ công cụ điện toán đám mây OpenNebula 32
2.1.1. Giới thiệu OpenNebula 32
2.1.2. Kiến trúc OpenNebula 34
2.2. Bộ công cụ điện toán đám mây Stratuslab 40
2.2.1. Giới thiệu Stratuslab 40
2.2.2. Kiến trúc Stratuslab 42



3

TIỂU KẾT CHƢƠNG 2: 47
CHƢƠNG 3 – KIẾN TRÚC TĂNG CƢỜNG HẠ TẦNG TÍNH TOÁN
LƢỚI DỰA TRÊN OPENNEBULA VÀ STRATUSLAB 48
3.1. Hạn chế của điện toán lƣới 48
3.2. Ƣu điểm của công nghệ ảo hóa và điện toán đám mây 49
3.3. Kiến trúc tăng cƣờng hạ tầng tính toán lƣới 51
3.3. Ảo hóa các site lƣới 53
3.4. Phân phối IaaS trong các site điện toán lƣới 55
3.5. Mở rộng đám mây của các site điện toán lƣới 57
3.6. Liên kết các điện toán lƣới và các đám mây 60
TIỂU KẾT CHƢƠNG 3: 61
CHƢƠNG 4 – MÔ PHỎNG ĐÁM MÂY BẰNG OPENNEBULA VÀ
STRATUSLAB 64
4.1. Xây dựng mô phỏng đám mây bằng OpenNebula và Stratuslab 64
4.1.1. Mô phỏng sử dụng bộ công cụ OpenNebula 64
4.1.2. Mô phỏng sử dụng bộ công cụ Stratuslab 66
4.2. Kết quả mô phỏng đám mây Stratuslab/OpenNebula 66
4.2.1. Mô phỏng đám mây OpenNebula 67
4.2.2. Mô phỏng đám mây Stratuslab 69
4.2.3. So sánh với các hệ thống khác 71
4.2.4. Quy trình tạo ảnh một nút trên lƣới sử dụng hạ tầng điện toán
đám mây 73
TIỂU KẾT CHƢƠNG 4: 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 77
I. Tiếng Việt 77
II. Tiếng Anh 77
III. Trang Web bổ trợ 78




4
MỞ ĐẦU
1. Lý do chọn đề tài
Vài thập kỷ qua, nhiều nhà khoa học đã tập trung phát triển điện toán
lưới nhằm mục đích giải các bài toán khoa học. Những bài toán đòi hỏi tính
toán trên dữ liệu lớn, những bài toán có độ phức tạp cao. Nhiều bài toán đã
được giải nhờ sử dụng tính toán lưới, ví dụ bài toán tối ưu nug30 [14] [15].
Bài toán tối ưu nug30 được đưa ra vào năm 1968 bởi Nugent [14] [15].
Có n nhà máy, có n địa điểm, giữa mỗi cặp địa điểm có một khoảng cách cho
trước, giữa mỗi cặp nhà máy có một trọng số cho trước (ví dụ : khối lượng vật
tư vận chuyển giữa hai nhà máy). Bài toán gán 30 nhà máy với 30 địa điểm
khác nhau sao cho tổng của các tích khoảng cách giữa 2 điểm đặt nhà máy với
trọng số giữa 2 nhà máy là nhỏ nhất?
Bài toán này thuộc lớp bài toán NP-Hard. Cách giải đơn giản nhất là thử
tất cả các trường hợp có thể như vậy sẽ mất 30! khoảng 2.65 x 10^32 phép toán
cơ bản để có thể giải được. Nếu nghĩ đơn giản một máy tính chạy nhanh có thể
kiểm tra tất cả các trường hợp thì cũng phải mất khoảng thời gian bằng 100 lần
tuổi của vũ trụ. Năm 2000 nhóm nghiên cứu ở Mỹ đã giải thành công bài toán
trên bằng cách sử dụng tính toán lưới trên 10 siêu máy tính 400-CPU đặt tại
tám địa điểm khác nhau, thời gian chạy mấy 7 ngày.
Hay như dự án FightAIDS@Home [26] dựa trên tính toán lưới sử dụng
các máy tính tình nguyện trên toàn thế giới nhằm tìm ra công thức thuốc chống
lại bênh AIDS. Một ví dụ khác là lưới EGEE với bộ công cụ gLite. Lưới EGEE
là lưới có khoảng 41.000 CPU và 5 triệu Gbytes của thiết bị lưu trữ. Mục đích
là tạo ra môi trường để nghiên cứu về sự va chạm của các hạt cơ bản trong dự
án LHC (Large Hadron Collider).




5
Các ví dụ trên có thể cho thấy sức mạnh của tính toán lưới và vì sao các
nhà khoa học sử dụng hạ tầng tính toán lưới trong các nghiên cứu của mình.
Tuy nhiên đối với các nhu cầu thông thường và các nhu cầu thương mại thì sao
? Chi phí để chạy tính toán lưới là rất lớn. Một dự án mang tên BEinGRID [27]
cho thấy họ có thể mang về lợi nhuận từ việc chạy môi trường tính toán lưới
tuy nhiên nó không phải là một trường hợp phổ biến. Những tiến bộ gần đây
trong các kỹ thuật ảo hóa, cùng với băng thông Internet ngày càng tăng, các
khái niệm rõ ràng về điện toán đám mây dần được hình thành, nhất là từ năm
2007 trở lại đây. Sự xuất hiện của mô hình mới này chủ yếu dựa trên sự đơn
giản và chi phí thấp những vẫn có thể sử dụng khả năng tính toán và tài nguyên
lớn.
Ảo hóa cho phép điện toán đám mây cung cấp khả năng chạy các ứng
dụng mang tính kế thừa trên các hệ thống điều hành cũ hơn, tạo ra một hệ
thống thống nhất từ một tập hợp không đồng nhất các máy tính như mô hình
tính toán lưới truyền thống tạo ra. Ảo hóa cho phép di trú công việc nhanh hơn
trong các máy ảo khác nhau chạy trên cùng một phần cứng. Đối với điện toán
lưới và điện toán đám mây, ảo hóa là chìa khóa cho cung cấp và phân bổ nguồn
lực công bằng. Nếu nhìn ở góc độ bảo mật cơ chế ảo hóa chạy các máy ảo ở
những chế độ lập với nhau (sandbox), đảm bảo an ninh và lây nhiễm mã độc
giữa các máy ảo và nền tảng ảo hóa.
Dịch vụ điện toán đám mấy cung cấp truy cập đến phần cứng rẻ tiền và
các tài nguyên lưu trữ thông qua các hàm giao tiếp (API) rất đơn giản và được
dựa trên mô hình dùng bao nhiêu trả bấy nhiêu. Do đó, việc cho thuê các tài
nguyên này thường rẻ hơn rất nhiều so với việc thuê riêng tài nguyên đó. Hơn
nữa, người sử dụng cảm thấy thoải mái và yên tâm hơn khi lưu dữ liệu của họ
trong một môi trường đám mây. Chính vì vậy các dịch vụ điện toán đám mây




6
ngày càng được các nhà khoa học, các doanh nghiệp vừa và nhỏ và người dùng
bình thường sử dụng.
Điện toán lưới, điện toán đám mây, ảo hóa là những công nghệ thú vị và
hiệu quả trong thời gian tới. Trên góc độ nghiên cứu việc tăng cường hạ tầng
tính toán lưới bằng cách sử dụng dịch vụ đám mây hạ tầng và công nghệ ảo hóa
là một vấn đề thực tế, cấp thiết và thú vị. Trong khuôn khổ luận văn tác giả tập
trung tìm ra những giải pháp cụ thể cho phép thực thi hạ tầng tính toán lưới trên
nền điện toán đám mây. Trong quá trình tìm hiểu và nghiên cứu tác giả đã nhận
thấy và lựa chọn hai dự án mã nguồn mở của một số nhà khoa học ở châu Âu
đang tập trung giải quyết vẫn đề này, dự án OpenNebula [19] và Stratuslab
[16]. Luận văn cũng sẽ nghiên cứu các thức tạo ra một đám mây hạ tầng phục
vụ công việc tính toán lưới.
2. Tình hình nghiên cứu vấn đề
Như đã nêu trên, điện toán đám mây (Cloud Computing) đang là một chủ
đề nghiên cứu rất thời sự của CNTT hiện đại. Hạ tầng tính toán như một dịch
vụ (IaaS) là một loại hình dịch vụ của Đám mây.
OpenNebula.org là một dự án nguồn mở với mục tiêu hướng đến việc
xây dựng một bộ công cụ điện toán đám mây nguồn mở đạt chuẩn công
nghiệp để quản lý hiệu quả cơ sở hạ tầng của các trung tâm dữ liệu phức tạp
và không thuần nhất. Sau hơn ba năm từ ngày công bố phiên bẩn đầu tiên,
OpenNebula liên tục phát triển và đã và đang được sử dụng trong nhiều dự án
đám mây lớn.
Một trong những dự án được xây dựng trên nền OpenNebula là
StratusLab với mục tiêu phát triển một phân phối đám mây nguồn mở hoàn
chỉnh cho phép các trung tâm tài nguyên (lưới hay không lưới) cung cấp và
khai thác một đám mây IaaS. StratusLab đặc biệt chú trọng đến việc tăng




7
cường cho các hạ tầng tính toán phân tán như lưới EGI (European Grid
Infrastructure) [18]
EGI và tiền thân của nó là dự án EGEE là một hạ tầng tính toán lưới
của châu Âu đã và đang được sử dụng phục vụ cho những ứng dụng có khối
lượng tính toán và lưu trữ dữ liệu khổng lồ. Rất nhiều ứng dụng cho nhiều
lĩnh vực khoa học khác nhau đã được xây dựng trên lưới EGEE. Cả
OpenNebula và Stratuslab đều đang tiếp tục phát triển và có nhiều triển vọng.
3. Mục đích, nhiệm vụ và phạm vi nghiên cứu
Đề tài của luận văn nằm trong ý tưởng sử dụng các đám mây IaaS để
tăng cường hạ tầng cho các lưới tính toán (Computing Grid) được xây dựng
theo nhu cầu của các ứng dụng trên lưới với OpenNebula/StratusLab.
Công việc nghiên cứu của luận văn sẽ gồm những nội dung chính sau :
– Nghiên cứu tổng quan về điện toán đám mây, chú trọng đám mây
IaaS.
– Tìm hiểu công nghệ ảo hóa của OpenNebula để xây dựng đám mây
IaaS. So sánh với các bộ công cụ khác.
– Tìm hiểu các nền tảng ảo hóa mã mở (XEN [21], KVM [20], OpenVz
[28], ) và thương mại (Vmware [22], XenCitrix [29], Hyper-V [30], ) phục
vụ cho việc tạo ra đám mây IaaS.
– Cài đặt thử nghiệm OpenNebula để tạo ra một đám mây IaaS.
– Tìm hiểu công nghệ của StratusLab ứng dụng OpenNebula để cung
cấp hạ tầng tính toán cho một nút lưới EGEE. Cài đặt và cấu hình StratusLab
lên đám mây OpenNebula đã lập.
– Đưa ra các kiến trúc tăng cường hạ tầng tính toán lưới bằng công
nghệ ảo hóa và điện toán đám mây trên cơ sở nghiên cứu
OpenNebula và Stratuslab.




8
– Tìm hiểu và đề xuất qui trình tạo một ảnh ISO cho một máy thợ
(worker node) theo một cấu hình đặc trưng ứng dụng có thể khởi động và
chạy trên đám mây OpenNebula/StratusLab theo nhu cầu của một ứng dụng
trên lưới EGEE.
– Đánh giá hiệu quả, hạn chế của giải pháp đề xuất và phương án cải
tiến, khắc phục.
4. Phƣơng pháp nghiên cứu
Tìm hiểu, nghiên cứu, phân tích, tổng hợp tài liệu, xây dựng mô phỏng
và đánh giá kết quả.
5. Đóng góp và ý nghĩa thực tiễn của luận văn
Luận văn đã hoàn thành mục tiêu đề ra. Luận văn đã tìm hiểu và đưa ra
được kiến trúc đám mây hạ tầng theo mô hình điện toán đám mây để tăng
cường hạ tầng cho việc triển khai hạ tầng tính toán lưới. Sử dụng cơ chế ảo
hóa để có thể dễ dàng tạo ra, triển khai các nút trong điện toán lưới. Đồng thời
cũng tìm hiểu và đưa ra được các bước xây dựng một đám mây hạ tầng sử
dụng phần mềm mã nguồn mở.
6. Kết cấu của luận văn
Ngoài mở đầu, kết luận, tài liệu tham khảo, phụ lục, luận văn gồm bốn
chương.
Chương 1: Điện toán lưới, điện toán đám mây và công nghệ ảo hóa.
Chương 2: Nghiên cứu bộ công cụ OpenNebula và Stratuslab.
Chương 3: Kiến trúc tăng cường hạ tầng tính toán lưới dựa trên
OpenNebula và Stratuslab .
Chương 4: Mô phỏng đám mây bằng OpenNebula và Stratuslab.



9
CHƢƠNG 1 - ĐIỆN TOÁN LƢỚI, ĐIỆN TOÁN ĐÁM MÂY

VÀ CÔNG NGHỆ ẢO HÓA
Chương này sẽ giới thiệu các khái niệm về điện toán lưới, điện toán
đám mây, công nghệ ảo hóa. Đặc biệt tập trung đám mây dịch vụ hạ tầng
phục vụ điện toán lưới.
1.1. Lịch sử điện toán lƣới và điện toán đám mây
Năm 1961 tại MIT, John McCarthy - người tiên phong trong lý thuyết
toán học tính toán và trí tuệ nhân tạo, người phát minh ra ngôn ngữ lập trình
LISP đã đưa ra ý tưởng về mô hình điện toán theo nhu cầu (utility computing)
: " Nếu máy tính của tôi trở thành các máy tính của tương lai, công việc tính
toán một ngày nào đó có thể được tổ chức như là một tiện ích công cộng cũng
như hệ thống điện thoại là một tiện ích công cộng. . .Tiện ích máy tính có thể
trở thành cơ sở của một ngành công nghiệp mới và quan trọng." [11]
Thật vậy, do chi phí rất lớn và phức tạp trong việc sử dụng, duy trì các
trung tâm dữ liệu trong hai thập kỷ tiếp theo rất nhiều tổ chức lớn (chủ yếu là
ngân hàng) thuê lại hạ tầng tính toán và lưu trữ của các nhà cung cấp dịch vụ
như IBM. Các máy chủ chủ yếu là loại máy tính lớn (mainframe), đặt tại các
trung tâm dữ liệu khác nhau về mặt địa lý. Trong khi đó các loại máy tính
nhỏ, máy tính cá nhân đã bắt đầu xuất hiện trên thị trường. Đầu những năm
1980 các tổ chức đã có thể mua các máy tính cá nhân và máy trạm với giá cả
phải chăng. Điều này đã đã gần như chấp dứt mô hình điện toán theo như cầu
cho đến thập niên tiếp theo.
Năm 1992, Charlie Catlett và Larry Smarr [11] giới thiệu khái niệm
metacomputing trong bài báo chuyên đề của họ.Thuật ngữ metacomputing
dùng để chỉ việc tính toán trên siêu máy tính ảo tổ hợp và kết nối với nhau từ



10
các nguồn tài nguyên khác nhau như các siêu máy tính song song, dữ liệu lưu
trữ, hệ thống lưu trữ, thiết bị khoa học; sử dụng mạng tốc độ cao liên kết với

nhau giữa các nguồn tài nguyên có vị trí địa lý khác nhau. Lý do chính để làm
như vậy là vì nó phép chạy các loại ứng dụng mới mà trước đây không thể
chạy được, hơn nữa vẫn đảm bảo mặt tính toán mà chi phí hợp lý. Tuy nhiên
mô hình này phải đối mặt với một số thách thức:
- mở rộng và lựa chọn tài nguyên
- phi cấu trúc
- tính không đồng nhất
- sự biến động tài nguyên
- quản trị đa điểm
Điều thú vị (từ góc độ nghiên cứu) những thách thức này vẫn còn có
liên quan ngày hôm nay. Mở rộng quy mô là một mối quan tâm, bởi vì môi
trường điện toán lưới và điện toán đám mây trong tương lai sẽ trở nên lớn
hơn, các nguồn lực sẽ được lựa chọn và mua lại trên cơ sở các tiêu chí như kết
nối, chi phí, bảo mật và độ tin cậy.
Tài nguyên, ứng dụng, chính sách lập lịch không không đồng nhất
nhưng vẫn phải đảm bảo sự thống nhất của ứng dụng trên cùng giống như các
ứng dụng trước đây được thiết kế chạy trên một máy tính lớn.
Cùng năm đó một dự án tên là Legion [31] đã thúc đẩy mô hình tính
toán lưới đối tượng. Legion được thiết kế trên cơ sở trừu tượng hóa mô hình
hướng đối tượng: tất cả mọi thứ trong Legion là một đối tượng được định



11
nghĩa rõ ràng với tập phương thức thao tác, các tập tin, tài nguyên máy tính,
lưu trữ, Ý tưởng cơ bản là tạo ra một lưới như là một máy đơn, một máy ảo
có sức mạnh tính toán lớn, người sử dụng không phải đối mặt với các vấn đề
phức tạp sau nó.
Legion đã chứng tỏ hữu ích trong một số thí nghiệm và một số mô
phỏng tuy nhiên sau một thời gian một số nhà khoa học thấy không thực sự

hiệu quả và không ưa dùng Legion. Thay vào đó một bộ công cụ Globus [32]
trở lên phổ biến hơn trong điện toán lưới.
Bộ công cụ Globus, ban đầu trình bày như là một môi trường
metacomputing, là một trong những giải pháp ứng dụng trung gian đầu tiên
thực sự được thiết kế để giải quyết các vấn đề liên quan đến tính toán phân
tán quy mô lớn. Một số kết quả đã chứng minh điều đó. Như một số mô
phỏng, trong số các mô phỏng phân phối đã được chạy bằng cách sử dụng
Globus có SF-Express - một mô phỏng bằng máy tính máy tính một trận chiến
quân sự lớn trong đó có 100.000 thực thể.
Ngay cả dự án lưới điện toán EuropeanData, chịu trách nhiệm xây dựng
một phần mềm trung gian phục vụ tính toán lưới tại Châu Âu, đã tận dụng rất
nhiều các thành phần của Globus. Những nỗ lực này đã cho ra đời phần mềm
trung gian gLite. gLite được sử dụng cho việc phân tích thử nghiệm kết quả
của Large Hadron Collider - máy gia tốc hạt tại CERN gần đây đã bắt đầu
hoạt động tại Geneva. Phần mềm trung gian cũng đã được sử dụng trong dự
án EGEE, lưới lớn nhất cung cấp môi trường tính toán lưới để thử nghiệm.
Unicore là một dự án khác được phát triển tại châu Âu nhằm mục tiêu chủ yếu
cung tài nguyên tính toán hiệu năng cao. Một nỗ lực tương tự, dành cho việc
thực hiện các phần mềm trung gian cho tính toán lưới hiệu năng cao, đã diễn



12
ra tại Nhật Bản bắt đầu vào năm 2003 với lưới "Sáng kiến Nghiên cứu Quốc
gia" (NAREGI) và năm 2008 đã cho ra bản phát hành đầu tiên.
Một thách thức lớn là chuyển lên lưới (lưới hóa) rất nhiều ứng dụng
hiện có. Một trong số các dư án đó là Condor, Nimrod, Sun Grid Engine,
Platform Computing LSF. Condor được bắt đầu năm 1988 là hệ thống phần
mền đầu tiên có chu kỳ nhặt rác tự động. Nimrod là hệ thống được thiết kế để
giải quyết các công việc với tham số lớn. Cả Condor và Nimrod đều sử dụng

Globus để chuyển lên lưới và có tên là Condor-G, Nimrod-G. Nimrod-G cũng
là hệ thống đầu tiên có các yếu tố thương mại hóa dịch vụ. Như cho phép tạo
tài khoản người dùng và tính tiền thao việc sử dụng CPU và tài nguyên. Sun
Grid Engine là dự án mã nguồn mở được hãng SUN bắt đầu vào năm 2000.
Dựa trên nền tảng của hệ thống Gridware Codine (COmputing in DIstributed
Network Environments). Hệ thống này là một điện toán lưới và đến nay đã
được nâng cấp thành điện toán đám mây. Cuối cùng, hệ thống Platform
Computing LSF là một trong những sản phẩm thương mại đầu tiên cung cấp
môi trường điện toán luới thông qua phần mở rộng LSF MultiCluster.
Giới kinh doanh và thương mại đã nhận thấy các tác động và tiềm năng
của tính toán lưới, tính hữu dụng của nó đã được chứng minh trong hàng trăm
dự án. Tuy nhiên, hầu như tất cả các dự án được phát triển bởi những người
mang tính chất học thuật và nhắm mục tiêu ứng dụng chủ yếu là khoa học.
Rất it dự án, trong đó đặc biệt là BEinGrid, đi theo hướng chứng minh việc sử
dụng điện toán lưới cho các mục tiêu định hướng kinh doanh là hoàn toàn khả
thi và phù hợp. BEinGrid đã đưa ra 25 trải nghiệm kinh doanh, cũng thành
công trong việc thực hiện và triển khai các giải pháp lưới trong các lĩnh vực
công nghiệp trọng điểm. Tuy nhiên, lưới vẫn chưa hấp dẫn với giới kinh
doanh và điều này được phản ánh ở việc thiếu các giải pháp điện toán lưới



13
thương mại. Dự án Platform Computing nêu ở phần trước đã không còn được
hỗ trợ và thương mại hóa. Legion bước đầu đã được bán bởi công ty Applied
Meta. Đến tận năm 2004 công ty Entropia - một công ty được thành lập vào
năm 1997, mới bắt đầu bán phần mềm tính toán phân tán cho CPU.
Năm 1996, dự án SETI@home lần đầu tiên đưa ra ý tưởng khai thác sự
nhàn rỗi của CPU trên toàn thế giới. Ngay sau đó, số dự án liên quan bao gồm
cả GIMPS [33], FightAIDS@Home, Folding@home nảy sinh. GIMPS (Great

Internet Mersenne Prime Search) là dự án tìm các số nguyên tố Mersenne
được bắt đầu vào tháng 1 năm 1996 nhằm mục đích phát hiện ra các sô
nguyên tố Mersenne. Một nguyên tố Mersenne là một nguyên tố có dạng 2P -
1 (trong đó P cũng là số nguyên tố). Các số nguyên tố Mersenne đầu tiên là 3,
7, 31, 127 (tương ứng với P = 2, 3, 5, 7). Hiện nay mới chỉ có 47 số nguyên tố
Mersenne được biết đến, GIMPS đã tìm thấy 13 trong 47 số nguyên tố
Mersenne trong lịch sử 13 năm của nó. FightAIDS@home sử dụng các tài
nguyên phân tán nhàn rỗi để nghiên cứu thuốc mới trong điều trị virus HIV.
Tháng Chín năm 2000, FightAIDS@Home làm nên lịch sử khi nó trở thành
lưới điện toán đầu tiên phục vụ y sinh học. Cho đến nay điện toán đám mây
vẫn đang tiếp tục phát triển.
1.2. Điện toán lƣới
1.2.1. Định nghĩa điện toán lƣới
Điện toán lưới là một vấn đề phức tạp phát triển từ khoa học tính toán
chuyên sâu, trước đó là các mô hình tính toán như tính toán song song, tính
toán phân tán, tính toán hiệu năng cao. Nó xuất hiện vào đầu những năm
1990, khi máy tính hiệu suất cao đã được kết nối truyền dữ liệu nhanh với
mục đích hỗ trợ tính toán và ứng dụng vào khoa học dữ liệu chuyên sâu. Vào



14
thời điểm đó, được gọi là siêu máy tính hoặc máy tính meta và sự nhấn mạnh
về cách sử dụng phối hợp tài nguyên máy tính có sẵn cho các ứng dụng hiệu
suất cao.
Định nghĩa đầu tiên về điện toán lưới được trích dẫn nhiều nhất do
Foster và Kesselman đề xuất năm 1998:
“Một lưới điện toán toán là một cơ sở hạ tầng phần cứng và phần mềm
cung cấp đáng tin cậy,phù hợp, phổ biến và truy cập không tốn kém tới khả
năng tính toán cao cấp.” [2]

Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ 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 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".
Foster cũng đưa ra ba điểm thiết yếu của một lưới [2]:
- Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung.
- Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng.
- Đáp ứng yêu cầu cao về chất lượng dịch vụ.





15
1.2.2. Cơ bản về điện toán lƣới
Điện toán lưới có có một số ưu điểm sau:
- Hệ thống tính toán có thể đạt đến quy mô toàn cầu.
- Tận dụng hiệu quả nguồn tài nguyên của các tổ chức khác nhau.
- Người sử dụng không cần biết vị trí nguồn tài nguyên.
Các dịch vụ cơ bản của một lưới:
- Dịch vụ quản lý tài nguyên (Resource Management): nhằm phân
phối và điều tiết các nguồn tài nguyên.
- Dịch vụ thông tin (Information Services): Biết được những nguồn

tài nguyên nào hiện còn rãnh, biết được trạng thái của cả hệ thống
lưới, …
- Dịch vụ quản lý dữ liệu (Data Management): cung cấp các giao
thức chuyển giao dữ liệu trên môi trường mạng diện rộng với băng
thông lớn.
Ngoài ra còn có các bộ công cụ đi kèm để phục vụ công việc triển
khai các ứng dụng trên lưới, các bộ công cụ này còn được gọi là các
phần mềm trung gian (middleware), ví dụ: Globus Toolkit, gLite,
UNICORE.
Một kiến trúc lưới cung cấp một cái nhìn tổng quan về các thành
phần lưới, xác định mục đích và chức năng của các thành phần của nó,
và chỉ ra các thành phần tương tác với nhau. Trọng tâm chính của một
kiến trúc lưới là khả năng tương tác và giao thức giữa các nhà cung cấp
và người sử dụng các nguồn lực để thiết lập các mối quan hệ chia sẻ.




16
1.2.1. Một vài ví dụ về điện toán lƣới
Trong quá trình phát triển đã có nhiều bộ công cụ ra đời phục vụ tính
toán lưới. Ví dụ ác bộ công cụ : Globus Toolkit, gLite, UNICORE, Dựa
trên các bộ công cụ này hiện nay có rất nhiều lưới tính toán trên thế giới. Ví
dụ các lưới : Enabling Grids for E-sciencE, INFN Production Grid,
NorduGrid, OurGrid, Sun Grid, Techila, Xgrid, Một số dự án lưới SETI,
BOINC, Folding@home, Einstein@Home, GIMPS, LHC@home, Tính đến
tháng 4 năm 2011 BOINC là siêu máy ảo có tốc độ nhanh nhất 5.634
PFLOPS [24].
Globus Toolkit là bộ công cụ mã nguồn mở nhằm mục đích xây dựng
một lưới tính toán được phát triển bởi Globus Alliance, các phiên bản sau này

có sự đóng góp của rất nhiều các thành viên, các đơn vị nghiên cứu trên toàn
cầu. Phiên bản đầu tiên được phát triển từ năm 1998, phiên bản mới nhất là
GT 5.0.4, phát hành tháng 5/2011.

Hình 1. Kiến trúc Globus Toolkit 5



17
gLite được coi là bộ công cụ thế thế tiếp theo trong điện toán lưới. Là
sản phẩm từ những nỗ lực hợp tác của hơn 80 nhà khoa học trong 12 trung
tâm nghiên cứu học thuật và công nghiệp khác nhau và là một phần của dự án
EGEE. gLite cung cấp một nền tảng phần mềm cho việc xây dựng các ứng
dụng lưới khai thác sức mạnh của tính toán phân tán và các tài nguyên lưu trữ
trên Internet.
UNICORE cung cấp hệ thống lưới hoàn chỉnh bao gồm phần mềm máy
chạm và phần mềm máy chủ. UNICORE tạo ra một môi trường về tính toán
và tài nguyên an toàn, liên tục từ các tài nguyên phân tán.
Điện toán lưới đang tiếp tục phát triển và có nhiều bộ công cụ ra đời
phục vụ các nhu cầu mới. Nhưng về cơ bản điện toán lưới phát triển theo các
hướng : điện toán theo định hướng dịch vụ (Service-oriented Computing),
phần mềm như một dịch vụ (SaaS), điện toán lưới kết hợp điện toán đám
mây.
1.3. Công nghệ ảo hóa
1.3.1. Khái quát về công nghệ ảo hóa
Máy ảo (Virtual Machine – VM) được đưa ra từ những năm 1960, được
giới thiệu bởi IBM như một biện pháp cung cấp truy cập tương tác - đồng
thời tới các máy tính mainframe của họ. Một máy ảo là một đối tượng của
máy vật lý và đem lại người dùng cảm giác như đang truy cập tới máy vật lý
một cách trực tiếp. Các máy ảo thường cho phép chia sẻ thời gian và chia sẻ

tài nguyên trên một thiết bị phần cứng đắt tiền. Mỗi máy ảo hoàn toàn là một
bản sao riêng biệt và được bảo vệ của hệ thống cơ sở. Như vậy ảo hóa sẽ giảm
chi phí thiết bị phần cứng và tăng tổng hiệu năng bằng cách cho phép nhiều
người làm việc trên nó đồng thời. Tuy nhiên, theo thời gian, thiết bị phần
cứng trở nên rẻ hơn và cùng với sự xuất hiện của các hệ điều hành đa tiến



18
trình. Như một kết quả, các máy ảo hầu như không xuất hiện trong những
năm 1970 và 1980, nhưng sự xuất hiện đa dạng của các thiết bị phần cứng cho
máy tính cá nhân và các hệ điều hành vào những năm 1990 đã làm phục hồi
các ý tưởng ảo hóa.
Các công nghệ ảo hóa như là một chìa khóa tạo nên toán đám mây,
song song với sự phát triển của Web 2.0 và việc tăng băng thông mạng
Internet. Tính năng nổi bật nhất là khả năng cài đặt nhiều hệ điều hành trên
các máy ảo khác nhau trên cùng một máy vật lý. Đáng chú ý là việc này làm
giảm tổng chí phí bởi sử dụng ít thiết bị phần cứng hơn và do vậy giảm điện
năng. Mục tiêu chính của các công nghệ ảo hóa là che giấu các đặc tính vật lý
của các tài nguyên tính toán theo cách các hệ thống, các ứng dụng và các
người dùng tương tác với các tài nguyên được cấp phát cho hệ thống đó.
Với điện toán lưới và điện toán đám mây, ảo hóa là chìa khóa của việc
dữ phòng và cung cấp tài nguyên tốt. Từ góc nhìn an ninh, bởi các máy ảo
chạy riêng biệt trong các môi trường riêng (sandbox) nên việc này cung cấp
một cơ chế bảo vệ chống lại các mã nguy hiểm.
Ngoài tài nguyên điện toán, tài nguyên lưu trữ, mạng lưới cũng có thể
được ảo hóa. Nhờ vào việc ghép nhiều thiết bị lưu trữ nhỏ dựa vào các thuộc
tính như hiệu năng, khả năng sẵn sàng, năng suất và chi phí/năng suất, điều
này trở nên có thể sử dụng chúng như một hay nhiều thiết bị lưu trữ ảo với
hiệu năng, tính sẵn sàng, năng suất, và chi phi/năng suất tốt hơn. Việc này

hoàn toàn tăng khả năng quản lý của lưu trữ và cung cấp chia sẻ các tài
nguyên lưu trữ tốt hơn.
Một tầng ảo hóa cung cấp nền tảng hỗ trợ sử dụng các tài nguyên phần
cứng mức thấp hơn để tạo các máy ảo. Tầng này thường được gọi là tầng
Quản lý Máy ảo ( Virtual Machine Monitor – VMM), thường đặt ở trên thiết



19
bị phần cứng và dưới hệ điều hành. Ảo hóa có thể thực hiện ở nhiều tầng khác
nhau bao gồm tầng các tập lệnh của CPU (instruction set level), tầng phần
cứng (hardware abstration layer), tầng hệ điều hành, tầng thư viện mức người
dùng, tầng ứng dụng.
Việc ảo hóa các tập lệnh yêu cầu việc mô phỏng các tập lệnh, thông
dịch các câu lệnh trong phần mềm. Một vài ví dụ : Bochs [34],QEMU [35],
BIRD[36].
Tầng HAL, các máy ảo dựa vào việc trừu tượng giữa một máy vật lý và
một bộ mô phỏng; trong trường hợp này một máy ảo là một môi trường được
tạo ra và quản lý bởi một VMM. Trong khi các chức năng của bộ mô phỏng
cung cấp một tầng hoàn chỉnh giữa hệ điều hành hay các ứng dùng và phần
cứng, một VMM có nhiệm vụ quản lý các máy ảo, và mỗi máy áo cung cấp
các yêu tố để một hệ điều hành hay các ứng dụng. Các nền tảng ảo hóa phổ
biến: VMware [22], Denali [37], Xen [21], Parallels [38],Plex86 [39].



20

Hình 2. Ví dụ về ảo hóa
Trong hình 2, khi chưa ảo hóa thì cần 3 máy chủ để chạy, khi ảo hóa

(trên đám mây) dùng ít hơn 3 máy chủ, ở đây dùng 2 máy chủ.

1.3.2. Các nền tảng ảo hóa
Sản phẩm thương mại: vmware, XenCitrix, Hyper-V, parallels
virtuozzo,
Sản phẩm mã nguồn mở: XEN, QEMU-KVM,
Về mức độ phổ biến hiện hay Vmware là sản phẩm thương mại được
ưu dùng nhất. Các sản phẩm mã nguồn mở có nhiều lợi thế về mặt chi phí
triển khai, mềm dẻo trong việc tích hợp hệ thống.



21
1.4. Điện toán đám mây
1.4.1. Định nghĩa điện toán đám mây
Cũng giống như điện toán lưới, thật khó có thể định nghĩa thế nào là
các đám mây, điện toán đám mây. Điện toán đám mây cho đến nay vẫn là một
mô hình đang phát triển. Do đó các định nghĩa sẽ thay đổi theo sự phát triển
đó. Luận văn xin đưa ra một vài định nghĩ tiêu biểu nhất từ năm 2007 cho đến
nay:
Gartner: Điện toán đám mây là một kiểu điện toán có thể mở rộng rất
lớn khả năng cung cấp các dịch vụ liên quan đến công nghệ thông tin được
cung cấp “như là một dịch vụ” đến lượng lớn người sử dụng thông qua
Internet.
• Forrester: Điện toán đám mây là một nguồn tài nguyên được trừu
tượng hóa, có khẳ năng mở rộng cao, cơ sở hạ tầng được quản lý có khả năng
lưu trữ ứng dụng khách hàng và tính hóa đơn theo mức độ sử dụng. [10]
• IBM: Điện toán đám mây là một mô hình điện toán mới trong đó dữ
liệu và dịch vụ được cư trú trong các trung tâm dữ liệu lớn có khả năng mở
rộng rất lớn và có thể truy cập đồng thời từ bất kỳ thiết bị kết nối nào thông

qua Internet. [10]
• NIST (Viện Tiêu chuẩn và công nghệ Quốc gia, tác giả Peter Mell
Tim Grance) [3]:
Điện toán đám mây là một mô hình cho phép sử dụng thuận tiện, truy
cập mạng theo yêu cầu đến nguồn tài nguyên máy tính chia sẻ tài nguyên đã
được cấu hình trước (ví dụ, mạng, máy chủ, lưu trữ, các ứng dụng và dịch vụ)
có thể được nhanh chóng cung cấp và phát hành với nỗ lực quản lý tối thiểu
hoặc tương tác với nhà cung cấp dịch vụ . Mô hình đám mây này có sẵn sàng



22
cao và bao gồm năm đặc tính thiết yếu, ba mô hình dịch vụ và bốn mô hình
triển khai.
Các đặc điểm thiết yếu:
- Dịch vụ tự phục vụ theo nhu cầu : khách hàng có thể tự triển khai dịch
vụ của mình mà không cần đến sự tương tác con người với nhà cung cấp dịch
vụ.
- Mạng lưới truy cập rộng : có thể truy cập đến dịch vụ một cách rộng
rãi thông qua mạng và sử dụng nhiều thiết bị khác nhau : điện thoại, laptop,
máy tính ,
- Nguồn tài nguyên tổng hợp : tài nguyên tính toán của nhà cung cấp
dịch vụ được gộp lại để phục vụ nhiều khách hàng theo mô hình nhiều người
cùng thuê. Khác với tài nguyên vật lý, tài nguyên ảo tự động phân chia tài
nguyên theo nhu cầu sử dụng của người dùng.
- Nhanh và mềm dẻo : có thể triển khai nhanh và mềm dẻo, trong một
số trường hợp có thể tự động, dễ dàng mở rộng dịch vụ và nâng cấu hình. Có
khả năng để khách hàng có thể sử dụng không giới hạn và có thể thanh toán
bất kỳ theo số lượng, bất kỳ thời gian nào.
- Dịch vụ đo, đếm được : hệ thống tự động điều khiển và tối ưu tài

nguyên. Hệ thống giám sát, điều khiển, ghi nhận việc sử dụng tài nguyên, tiện
ích này được cung cấp một cách trong suốt với cả nhà cung cấp dịch vụ và
người sử dụng.
Các mô hình dịch vụ:
- Mô hình SaaS (phần mềm như là một dịch vụ) : Có khả năng cung
cấp cho người dùng sử dụng các ứng dụng của nhà cung cấp đang chạy trên
một cơ sở hạ tầng điện toán đám mây.Các ứng dụng có thể truy cập từ các



23
thiết bị người dùng khác nhau thông qua một giao diện người dùng dạng
mỏng (thin client) như một trình duyệt web (ví dụ như, email dựa trên
web).Người dùng không quản lý hoặc kiểm soát cơ sở hạ tầng điện toán đám
mây nằm bên dưới bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ hoặc
khả năng ứng dụng ngay cả cá nhân, với ngoại lệ có thể có của người sử dụng
hạn chế ứng dụng cụ thể thiết lập cấu hình.
- Mô hình PaaS (nền tảng như là một dịch vụ) : Có khả năng cung cấp
cho người dùng được triển khai vào cơ sở hạ tầng điện toán đám mây mà
người tiêu dùng tạo ra hoặc mua lại các ứng dụng được tạo ra bằng cách sử
dụng các ngôn ngữ lập trình và các công cụ hỗ trợ bởi nhà cung cấp.Người
dùng không quản lý hoặc kiểm soát cơ sở hạ tầng điện toán đám mây nằm bên
dưới bao gồm cả mạng, máy chủ, hệ điều hành hoặc lưu trữ, nhưng có kiểm
soát các ứng dụng triển khai và có thể là môi trường ứng dụng cấu hình lưu
trữ.
- Mô hình IaaS (hạ tầng như là một dịch vụ) : Có khả năng cung cấp
cho người dùng khả năng xử lý (CPU), cung cấp lưu trữ, mạng và các tài
nguyên máy tính cơ bản khác, nơi người tiêu dùng có thể triển khai và chạy
phần mềm tùy ý, có thể bao gồm hệ thống điều hành và các ứng dụng.Người
dùng không quản lý hoặc kiểm soát các cơ sở hạ tầng điện toán đám mây cơ

bản nhưng có kiểm soát hệ điều hành, lưu trữ, ứng dụng triển khai và có thể
kiểm soát giới hạn của các thành phần mạng theo lựa chọn (ví dụ, các tường
lửa).
Các mô hình triển khai:
- Đám mây riêng (Private Cloud) : Các cơ sở hạ tầng điện toán đám
mây đó chỉ hoạt động cho một tổ chức. Nó có thể được quản lý bởi tổ chức
hay một bên thứ ba và có thể tồn tại trong hay ngoài mạng của tổ chức đó.

×