Đối tượng và phạm vi nghiên cứu Cung cấp tài nguyên trong hệ thống tính toán đám mây có thể được phân thành 03 lớp bài toán: bài toán cung cấp ứng dụng, bài toán cung cấp máy ảo và bài t
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOĐẠI HỌC ĐÀ NẴNG
***
PHẠM NGUYỄN MINH NHỰT
CUNG CẤP TÀI NGUYÊN CHO DỊCH VỤ ẢO HÓA DỰA TRÊN NỀN TẢNG MÁY CHỦ CHIA SẺ
TRONG TÍNH TOÁN ĐÁM MÂY
LUẬN ÁN TIẾN SĨ KỸ THUẬT
ĐÀ NẴNG, 2018
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠOĐẠI HỌC ĐÀ NẴNG
***
PHẠM NGUYỄN MINH NHỰT
CUNG CẤP TÀI NGUYÊN CHO DỊCH VỤ ẢO HÓA DỰA TRÊN NỀN TẢNG MÁY CHỦ CHIA SẺ
TRONG TÍNH TOÁN ĐÁM MÂY
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 62.48.01.01
LUẬN ÁN TIẾN SĨ KỸ THUẬT
Người hướng dẫn khoa học:
1 PGS TS LÊ VĂN SƠN
2 PGS TS ĐOÀN VĂN BAN
ĐÀ NẴNG, 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan: Luận án này là công trình nghiên cứu thực sự của cá nhân tôi,được thực hiện tại Trường Đại học Bách khoa, Đại học Đà Nẵng dưới sự hướng dẫnkhoa học của PGS.TS Lê Văn Sơn và PGS.TS Đoàn Văn Ban
Các kết quả, những kết luận nghiên cứu được trình bày trong luận án này là trungthực và chưa từng được công bố ở bất kỳ công trình nào của tác giả khác
Tôi xin chịu trách nhiệm về những lời cam đoan của tôi
Nghiên cứu sinh
Phạm Nguyễn Minh Nhựt
Trang 4LỜI CẢM ƠN
Luận án "Cung cấp tài nguyên cho dịch vụ ảo hóa dựa trên nền tảngmáy chủ chia sẻ trong tính toán đám mây " được hoàn thành dưới sự hướngdẫn tận tình, cùng những yêu cầu nghiên cứu nghiêm túc của PGS.TS Lê Văn Sơn
và PGS.TS Đoàn Văn Ban Các Thầy đã truyền đạt nhiều kiến thức chuyên môn quýbáu cũng như những kinh nghiệm nghiên cứu khoa học trong thời gian nghiên cứu đểviết luận án này Tôi xin được bày tỏ lòng biết ơn chân thành và sự kính trọng sâusắc đối với các Thầy
Để hoàn thành luận án này, tôi cũng đã tiếp nhận được những kiến thức quý giá,
sự đóng góp ý kiến và quan tâm chân tình từ quý Thầy, Cô trong Khoa Công nghệThông tin, Trường Đại học Bách khoa Đà Nẵng Quý Thầy, Cô đã tạo mọi điều kiệnthuận lợi cho quá trình học tập, nghiên cứu khoa học, tham gia hội thảo và trao đổichuyên môn, tiếp xúc với chuyên gia Tôi xin chân thành cảm ơn sự quan tâm, độngviên và sự hỗ trợ nhiệt tình tất cả quý Thầy, Cô
Xin chân thành cảm ơn các tác giả về những tài liệu, bài báo và các công bố nghiêncứu khoa học mà tôi có sử dụng tham khảo, trích dẫn trong đề tài nghiên cứu này.Tôi xin cảm ơn bạn bè, đồng nghiệp đã có nhiều động viên và đóng góp ý kiến để luận
án được hoàn chỉnh
Nghiên cứu sinh
Phạm Nguyễn Minh Nhựt
Trang 5DANH MỤC VIẾT TẮT
API Application Programming
In-terface
Giao diện lập trình ứng dụng
ACO Ant Colony Optimization Tối ưu đàn kiến
ACS Ant Colony System Hệ đàn kiến
BWAS Best-Worst Ant System Hệ kiến Best-Worst
CPU Center Processing Unit Đơn vị xử lý trung tâm.CIS Cloud Information Service Dịch vụ thông tin đám mây
ECRAVS Energy Consumption Resource
Allocation for Virtual Services
Cung cấp tài nguyên với mụctiêu ràng buộc năng lượng tiêuthụ cho dịch vụ ảo hóa
FFD Firt Fit Decreasing Thuật toán Firt Fit Decreasing
GA Genetic Algorithm Thuật toán Di truyền
HaaS Hardware as a Service Phần cứng như một dịch vụ.IaaS Infrastructure as a Service Cơ sở hạ tầng như một dịch vụ
MDRAVS Multi-Dimensional Resource
Allocation for Virtual Services
Cung cấp tài nguyên đa chiềucho dịch vụ ảo hóa
MMAS Max-Min Ant System Hệ kiến Max-Min
MORA Multi-Objective Resource
Al-location
Cung cấp tài nguyên đa mụctiêu
NSDV Năng suất dịch vụ Năng suất dịch vụ
PSO Particle Swarm Optimization Tối ưu bầy đàn
PaaS Platform as a Service Nền tảng như một dịch vụ
RBAS Rank-Based Ant System Hệ kiến Rank-Based
RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên.RaaS Resource as a Service Tài nguyên như một dịch vụ
Trang 6Viết tắt Dạng đầy đủ Diễn giải ý nghĩaSaaS Software as a Service Phần mềm như một dịch vụ.QoS Quality of Service Chất lượng dịch vụ.
SLA Service Level Agreement Thỏa thuận mức dịch vụ
SA Simulated Annealing Mô phỏng luyện kim
VMM Virtual Machine Manager Bộ giám sát máy ảo
VMCS Virtual Machine Control
Structure
Cấu trúc giám sát máy ảo
Trang 7D Tập các loại tài nguyên.
D Số loại tài nguyên
rik Nhu cầu tài nguyên của dịch vụ ảo hóa thứ i với loại tài nguyên
k
Q+ Tập số hữu tỷ dương
R Tập số thực
xij Biến nhị phân, có giá trị 1 nếu dịch vụ ảo hóa i được cấp tài
nguyên từ máy vật lý j và bằng 0 nếu ngược lại
aik Biến nhị phân, có giá trị 1 nếu rik là một nhu cầu tất yếu, bằng
0 nếu rik là một nhu cầu tùy biến
bij Năng suất dịch vụ của dịch vụ ảo hóa i trên máy vật lý j
yj Biến nhị phân, có giá trị 1 nếu máy vật lý j được sử dụng để
cung cấp tài nguyên cho các dịch vụ ảo hóa và có giá trị 0 nếungược lại
pij Xác suất để con kiến chọn một dịch vụ ảo hóa i như là dịch
vụ kế tiếp để được cung cấp tài nguyên từ máy vật lý j hiệnhành
τij Vệt mùi để con kiến dựa vào đó chọn dịch vụ ảo hóa i như là
dịch vụ ảo hóa kế tiếp để được cung cấp tài nguyên từ máy vật
lý hiện hành j
τijmax Vệt mùi cực đại
τmin
ij Vệt mùi cực tiểu
α, β Hệ số nhằm làm nổi bật mùi và thông tin heuristic
VStemp Tập các dịch vụ ảo hóa hội đủ điều kiện sẽ được chọn để được
cung cấp tài nguyên từ máy vật lý hiện hành j
Trang 8Ký hiệu Diễn giải ý nghĩa
ri∗ Vector nhu cầu tất yếu của dịch vụ ảo hóa i
ri∗∗ Vector nhu cầu tùy biến của dịch vụ ảo hóa i
Loadj Tải của máy vật lý hiện hành j
Cj Vector năng lực tài nguyên của máy vật lý j
ηij Thông tin heuristic
∆τijbest Tổng mùi tăng cường được sinh ra từ con kiến có giải pháp tốt
nhất của lần lặp
ρ Độ bay hơi của vệt mùi
BIN ARYnA Ma trận lưu các giải pháp
eij Biểu diễn ánh xạ từ dịch vụ ảo hóa i đến các máy vật lý j
f (Sbest) Hàm tính giải pháp tốt nhất
Sbest Giải pháp tốt nhất
pbest Tham số điều chỉnh biên của vệt mùi
Sbest−vong−lap Giải pháp tốt nhất vòng lặp
Sbest−toan−cuc Giải pháp tốt nhất toàn cục
P (numLoop) Xác suất tìm thấy giải pháp của thuật toán Hệ kiến Max-Min
sau numLoop bước lặp
Ce Vector tài nguyên thành phần
cejk Phần tử đơn lẻ của loại tài nguyên k trên máy vật lý j
Ca Vector tài nguyên tổng hợp
ca
jk Phần tử tổng hợp của loại tài nguyên k trên máy vật lý j
Re Vector nhu cầu tài nguyên tất yếu thành phần
Ra Vector nhu cầu tài nguyên tất yếu tổng hợp
rike Phần tử nhu cầu tất yếu thành phần loại tài nguyên k của dịch
ik Phần tử nhu cầu tùy biến thành phần đối với loại tài nguyên k
của dịch vụ ảo hóa i
Fa Vector nhu cầu tài nguyên tùy biến tổng hợp
fa
ik Phần tử nhu cầu tài nguyên tùy biến tổng hợp đối với loại tài
nguyên k của dịch vụ ảo hóa i
Q Vector hệ số bổ sung
qij Hệ số bổ sung nhu cầu tùy biến của dịch vụ ảo hóa i đối với
máy vật lý j
Trang 9Ký hiệu Diễn giải ý nghĩa
Pj(uj) Điện năng tiêu thụ tại máy vật lý j
Pjmax Công suất của máy vật lý j tương ứng ở trạng thái sử dụng
tiện ích tài nguyên tối đa
E(t) Năng lượng tiêu thụ của M máy vật lý khi cung cấp tài nguyên
cho N dịch vụ ảo hóa trong khoảng thời gian ∆t
j Làm thích nghi của partical
EF F D Năng lượng tiêu thụ của hệ thống khi sử dụng thuật toán FFD
E∗ Năng lượng tiêu thụ của hệ thống khi sử dụng thuật toán
ECRAVS-PSO hay thuật toán ECRAVS-SA
Rj Tài nguyên còn lại của máy vật lý j khi cung cấp tài nguyên
cho dịch vụ ảo hóa
R Giá trị tài nguyên trung bình còn lại của tất cả các máy vật
lý
E(s0) Năng lượng tiêu thụ của giải pháp s0
σ(s0) Độ lệch chuẩn của giải pháp s0
ηijσ Thông tin heuristic cho mục tiêu cân bằng tải
ηijE Thông tin heuristic cho mục tiêu tối thiểu năng lượng tiêu thụ.E(sbest) Năng lượng tiêu thụ tương ứng với giải pháp tốt nhất toàn cục.σ(sbest) Độ lệnh chuẩn tương ứng với giải pháp tốt nhất toàn cục
ERoundRobin Năng lượng tiêu thụ của hệ thống khi sử dụng thuật toán
RoundRobin
M ORA − ACS
Trang 10MỤC LỤC
Chương 1 Tổng quan và đề xuất bài toán cung cấp tài nguyên cho
1.1 Hệ thống tính toán đám mây 6
1.1.1 Đặc điểm của hệ thống tính toán đám mây 7
1.1.2 Mô hình dịch vụ của hệ thống tính toán đám mây 7
1.1.3 Mô hình triển khai của hệ thống tính toán đám mây 9
1.2 Yêu cầu và thách thức của hệ thống tính toán đám mây 10
1.2.1 Yêu cầu của một hệ thống tính toán đám mây 10
1.2.2 Thách thức của một hệ thống tính toán đám mây 11
1.3 Máy ảo 12
1.4 Công nghệ ảo hóa 13
1.4.1 Ảo hóa máy chủ 13
1.4.2 Ảo hóa tích hợp 14
1.5 Công cụ mô phỏng hệ thống tính toán đám mây 15
1.5.1 Khảo sát các công cụ mô phỏng 15
1.5.2 Công cụ mô phỏng CloudSim 17
1.6 Cung cấp tài nguyên trong hệ thống tính toán đám mây 19
1.6.1 Mô hình cung cấp tài nguyên 19
1.6.2 Cung cấp ứng dụng 20
1.6.3 Cung cấp máy ảo 21
1.6.4 Cung cấp tài nguyên vật lý 23
1.7 Các nghiên cứu liên quan đến cung cấp tài nguyên cho dịch vụ ảo hóa 24 1.7.1 Mô hình hệ thống cung cấp tài nguyên cho dịch vụ ảo hóa 24
1.7.2 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa với mục tiêu tối thiểu số lượng máy vật lý được dùng 25
1.7.3 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa với mục tiêu tối thiểu năng lượng tiêu thụ 26
Trang 111.7.4 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa với mục tiêu
cân bằng tải 27
1.8 Mục tiêu và nội dung của luận án 28
1.8.1 Mục tiêu nghiên cứu của luận án 28
1.8.2 Nội dung nghiên cứu của luận án 28
1.9 Tiểu kết Chương 1 30
Chương 2 Cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủ chia sẻ đồng nhất 32 2.1 Mô hình tài nguyên và nhu cầu tài nguyên 32
2.2 Bài toán MDRAVS 33
2.2.1 Phát biểu bài toán MDRAVS 33
2.2.2 Độ phức tạp bài toán MDRAVS 35
2.3 Đề xuất giải pháp cho bài toán MDRAVS 36
2.3.1 Giải pháp áp dụng các thuật toán First Fit và Best Fit 36
2.3.2 Giải pháp dựa trên thuận toán Tối ưu đàn kiến 39
2.3.2.1 Giới thiệu thuận toán Tối ưu đàn kiến 39
2.3.2.2 Đề xuất thuật toán MDRAVS-MMAS 41
2.3.3 Thực nghiệm và nhận xét 46
2.3.3.1 Phương pháp mô phỏng 46
2.3.3.2 Nhận xét kết quả thực nghiệm các thuật toán First Fit*, Best Fit* 47
2.3.3.3 Nhận xét kết quả thực nghiệm các thuật toán MDRAVS-MMAS, First Fit* và Best Fit* 49
2.4 Tiểu kết Chương 2 52
Chương 3 Cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủ chia sẻ không đồng nhất 54 3.1 Mô hình tài nguyên và nhu cầu tài nguyên 54
3.2 Mô hình năng lượng tiêu thụ 57
3.3 Phát biểu bài toán ECRAVS 58
3.4 Đề xuất giải pháp cho bài toán ECRAVS 59
3.4.1 Giải pháp dựa trên thuật toán Tối ưu bầy đàn 59
3.4.1.1 Giới thiệu thuật toán Tối ưu bầy đàn 59
3.4.1.2 Đề xuất thuật toán ECRAVS-PSO 60
3.4.2 Giải pháp dựa trên thuật toán Mô phỏng luyện kim 67
3.4.2.1 Giới thiệu thuật toán Mô phỏng luyện kim 67
3.4.2.2 Đề xuất thuật toán ECRAVS-SA 68
3.4.3 Thực nghiệm và nhận xét 72
3.4.3.1 Phương pháp mô phỏng 72
3.4.3.2 Đặc điểm của các thuật toán FFD, ECRAVS-PSO và ECRAVS-SA 74
Trang 123.4.3.3 Kết quả và nhận xét 76
3.5 Tiểu kết Chương 3 78
Chương 4 Cung cấp tài nguyên đa mục tiêu cho dịch vụ ảo hóa từ nền tảng máy chủ chia sẻ không đồng nhất 80 4.1 Mô hình cân bằng tải 80
4.2 Phát biểu bài toán MORA 82
4.3 Giải pháp cho bài toán MORA 84
4.3.1 Phương pháp tối ưu Pareto 84
4.3.2 Đề xuất thuật toán MORA-ACS 85
4.3.3 Thực nghiệm và nhận xét 90
4.3.3.1 Phương pháp mô phỏng 90
4.3.3.2 Đặc điểm của thuật toán Round Robin và MORA-ACS 92 4.3.3.3 Kết quả thực nghiệm và nhận xét 93
4.4 Tiểu kết Chương 4 95
Danh mục các công trình của tác giả liên quan đến luận án 99
Trang 13DANH MỤC BẢNG, BIỂU
1.1 Đặc tính của một số công cụ mô phỏng hệ thống tính toán đám mây
tiêu biểu 17
2.1 số lượng máy vật lý đã sử dụng khi thực hiện các thuật toán First Fit*, Best Fit* 47
2.2 Thời gian thực hiện các thuật toán First Fit*, Best Fit* 48
2.3 số lượng máy vật lý đã sử dụng khi thực hiện thuật toán MDRAVS-MMAS và các thuật toán khác 50
2.4 Thời gian thực hiện của thuật toán MDRAVS-MMAS và các thuật toán khác 51
3.1 Đặc tính cấu hình tài nguyên của các loại máy vật lý 73
3.2 Đặc tính nhu cầu tài nguyên CPU và RAM của các loại máy ảo 73
3.3 Đặc tính nhu cầu tài nguyên BW và DISK của các loại máy ảo 73
3.4 Kết quả thực nghiệm của các thuật toán ECRAVS-PSO, ECRAVS-SA và FFD 76
4.1 Năng lượng tiêu thụ và độ lệch chuẩn của các thuật toán MORA-ACS và Round Robin 93
Trang 14DANH MỤC HÌNH VẼ
1.1 Kiến trúc ảo hóa máy chủ [107] 141.2 Kiến trúc ảo hóa tích hợp [27] 151.3 Các thành phần của công cụ mô phỏng CloudSim [14] 181.4 Mô hình cung cấp tài nguyên trong hệ thống tính toán đám mây 201.5 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủchia sẻ 242.1 Mục tiêu tối thiểu số lượng máy vật lý được dùng khi cung cấp tàinguyên cho dịch vụ ảo hóa 362.2 Cấu trúc tập tin dữ liệu thực nghiệm 472.3 Đồ thị biểu diễn số lượng máy vật lý đã sử dụng khi thực hiện các thuậttoán First Fit*, Best Fit* 482.4 Đồ thị biểu diễn thời gian thực hiện các thuật toán First Fit*, Best Fit* 492.5 Đồ thị biểu diễn số lượng máy vật lý đã sử dụng khi thực hiện thuậttoán MDRAVS-MMAS và các thuật toán khác 512.6 Đồ thị biểu diễn thời gian thực hiện thuật toán MDRAVS-MMAS vàcác thuật toán khác 523.1 Tài nguyên của 2 máy vật lý và nhu cầu tài nguyên của 1 dịch vụ ảo hóa 563.2 Cấu trúc của particle 623.3 Đồ thị biểu diễn thời gian thực hiện các thuật toán ECRAVS-PSO,ECRAVS-SA và FFD 763.4 Đồ thị biểu diễn năng lượng tiêu thụ khi thực hiện các thuật toánECRAVS-PSO, ECRAVS-SA và FFD 774.1 Mục tiêu cân bằng tải khi cung cấp tài nguyên cho dịch vụ ảo hóa 834.2 Biểu diễn các giải pháp trong không gian giải pháp của bài toán tối ưu
02 mục tiêu 844.3 Biểu diễn đường cong Pareto trong không gian giải pháp của bài toántối ưu 02 mục tiêu 854.4 Đồ thị biểu diễn năng lượng tiêu thụ khi thực hiện thuật toán MORA-ACS và Round Robin 944.5 Đồ thị biểu diễn độ lệch chuẩn khi thực hiện thuật toán MORA-ACS
và Round Robin 94
Trang 15MỞ ĐẦU
1 Lý do chọn đề tài
Mô hình tính toán đám mây (Cloud Computing) phát triển dựa trên kết quả việcthích ứng của Internet cũng như những phát triển công nghệ trong các lĩnh vực: tínhtoán lưới (Grid Computing), tính toán cụm (Cluster Computing), tính toán tiện ích(Utility Computing) và tính toán tự động (Automatic Computing) Mục đích của các
hệ thống này là tạo ra một nền tảng tính toán hiệu quả, sử dụng chung các tài nguyênmáy tính được tích hợp thông qua các thiết bị phần cứng, mạng và phần mềm nhằmnâng cao hiệu suất, khả năng chịu lỗi, đảm bảo tính sẵn sàng về tài nguyên từ cácmáy tính đơn lẻ
Bên cạnh đó, sự phát triển công nghệ ảo hóa (Virtualization Technology) giúp choquá trình triển khai hệ thống tính toán đám mây trở nên dễ dàng Trong kiến trúcphân tầng của công nghệ ảo hóa, tầng ảo hóa có khả năng phân chia hoặc kết hợp tàinguyên của nhiều máy chủ vật lý ở tầng bên dưới thành các máy ảo để cung cấp chocác nhu cầu khác nhau trong đám mây Hệ thống gồm nhiều máy vật lý được kết nốivới nhau qua các thiết bị mạng để chia sẻ tài nguyên, nhằm cung cấp cho dịch vụ ảohóa được gọi là nền tảng máy chủ chia sẻ (Shared Hosting Platform)
Những đặc điểm của hệ thống tính toán đám mây, như: tính linh hoạt, khả năngtruy cập mạng diện rộng, khả năng tổng hợp tài nguyên, dịch vụ cung cấp tự độngtheo nhu cầu và có khả năng đo lường, đã đem lại nhiều lợi ích cho người dùng vàthuận lợi cho nhà cung cấp dịch vụ trên đám mây Tuy nhiên, những thách thức trongviệc tối ưu hệ thống cần được quan tâm nghiên cứu, như: tiết kiệm tài nguyên và nănglượng tiêu thụ trong cung cấp tài nguyên, tối ưu các mô hình chi phí, khả năng cânbằng tải, là những chủ đề nghiên cứu quan trọng Đặc biệt, nhu cầu sử dụng cácmáy vật lý (Physical Machine) để cung cấp tài nguyên cho dịch vụ ảo hóa (VirtualService) tại các trung tâm dữ liệu (Data Center) ngày càng tăng Điều này, dẫn đếnviệc sử dụng tài nguyên các máy vật lý trong các trung tâm dữ liệu tăng, làm tăngnăng lượng tiêu thụ và lượng khí thải CO2, có thể trở thành mối đe dọa đối với môitrường sống
Vì thế, tối ưu trong cung cấp tài nguyên máy vật lý cho dịch vụ ảo hóa từ nềntảng máy chủ chia sẻ tại các trung tâm dữ liệu, đáp ứng nhu cầu về chất lượng dịch
Trang 16vụ, khả năng cân bằng tải và giảm thiểu tối đa sử dụng tài nguyên vật lý, năng lượngtiêu thụ là cần thiết Đó cũng là mục đích chính của đề tài: "Cung cấp tài nguyêncho dịch vụ ảo hóa dựa trên nền tảng máy chủ chia sẻ trong tính toánđám mây ".
Hơn nữa, cung cấp tài nguyên cho dịch vụ ảo hóa là bài toán tối ưu tổ hợp(Combinatorial Optimization Problem), thuộc lớp bài toán NP-đầy đủ Các thuậttoán để giải lớp bài toán này được chia thành 02 nhóm [53]: các thuật toán chính xác(Exact Algorithms) và các thuật toán xấp xỉ (Approximation Algorithms) Các thuậttoán chính xác có thể tìm được lời giải tối ưu nhưng thời gian tính toán rất lớn Ngượclại, các thuật toán xấp xỉ có thể thực hiện trong thời gian cho chép và lời giải đạtgần tối ưu Hiện nay, các thuật toán xấp xỉ người ta thường dùng các tiếp cận: (1)tìm kiếm heuristic để tìm lời giải đủ tốt; (2) tìm kiếm cục bộ để tìm lời giải tối ưuđịa phương; (3) tìm lời giải gần đúng nhờ các thuật toán mô phỏng tự nhiên (Metaheuristic) Trong đó, cách tiếp cận (1) và (2) cho lời giải nhanh nhưng không cải thiệnthêm mục tiêu tối ưu Vì thế, luận án nghiên cứu cách tiếp cận (3), đề xuất các thuậttoán Meta heuristic để giải bài toán đưa ra trong luận án
2 Đối tượng và phạm vi nghiên cứu
Cung cấp tài nguyên trong hệ thống tính toán đám mây có thể được phân thành
03 lớp bài toán: bài toán cung cấp ứng dụng, bài toán cung cấp máy ảo và bài toáncung cấp tài nguyên vật lý (máy vật lý) cho dịch vụ ảo hóa để tạo ra các máy ảo cungcấp cho đám mây Các lớp bài toán này liên quan đến các đối tượng sử dụng các dịch
vụ trên đám mây như: người dùng, nhà cung cấp dịch vụ SaaS, nhà cung cấp dịch vụPaaS và nhà cung cấp cấp dịch vụ IaaS
Trong phạm vi và đối tượng nghiên cứu, luận án tập trung nghiên cứu mô hìnhcung cấp tài nguyên máy vật lý cho dịch vụ ảo hóa để tạo ra các máy ảo, đáp ứng nhucầu của nhà cung cấp dịch vụ IaaS Nghiên cứu các thuật toán Meta Heuristic, như:thuật toán Tối ưu bầy đàn, thuật toán Tối ưu đàn kiến và thuật toán Mô phỏng luyệnkim nhằm đề xuất các thuật toán để giải bài toán cung cấp tài nguyên cho dịch vụ ảohóa
3 Phương pháp nghiên cứu
3.1 Phương pháp nghiên cứu tài liệu
- Tìm kiếm, thu thập về các công trình nghiên cứu đã được công bố trong các tạpchí, kỷ yếu hội thảo, báo cáo khoa học, sách đã xuất bản về lĩnh vực cung cấp tài
Trang 17nguyên trong hệ thống tính toán đám mây;
- Trên cơ sở các tài liệu sưu tâp, thực hiện phân tích, tổng hợp và đề xuất bài toánnghiên cứu Đồng thời, dựa trên các tài liệu về thuật toán Tối ưu bầy đàn, Tối ưu đànkiến và Mô phỏng luyện kim đề xuất các thuật toán cung cấp tài nguyên cho dịch vụ
ảo hóa từ nền tảng máy chủ chia sẻ trong tính toán đám mây
3.2 Phương pháp thực nghiệm khoa học
- Tạo và lựa chọn dữ liệu thực nghiệm;
- Cài đặt và đánh giá các thuật toán đề xuất trên tập dữ liệu thực nghiệm Sửdụng công cụ mô phỏng hệ thống tính toán đám mây CloudSim để triển khai thửnghiệm, phân tích và đánh giá hiệu suất của các thuật toán đề xuất
4 Ý nghĩa thực tiễn
- Xây dựng mô hình cung cấp tài nguyên vật lý cho dịch vụ ảo hóa từ nền tảngmáy chủ chia sẻ để tạo ra các máy ảo và đề xuất các thuật toán có độ phức tạp trongthời gian đa thức để giải, góp phần nâng cao hiệu suất cung cấp tài nguyên của lớpdịch vụ IaaS trong hệ thống tính toán đám mây
- Luận án có thể được sử dụng làm tài liệu tham khảo cho sinh viên, người đọcquan tâm về vấn đề cung cấp tài nguyên cho dịch vụ ảo hóa và nghiên cứu các phươngpháp Meta heuristic, phương pháp xấp xỉ để giải các bài toán tối ưu
và thời gian thực hiện thuật toán Kết quả thực nghiệm nhận thấy rằng: thuật toán đềxuất MDRAVS-MMAS cho giá trị hàm mục tiêu tốt hơn (tức là, số lượng máy vật lýcần dùng ít hơn) thuật toán First Fit, Best Fit Độ phức tạp của thuật toán đề xuấtthực hiện trong thời gian đa thức
Trang 18(2) Dựa trên mô hình hệ thống cung cấp tài nguyên cho dịch vụ ảo hóa của MarkStillwell [100], đặc tính tài nguyên của máy vật lý và nhu cầu tài nguyên của dịch
vụ ảo hóa từ [101] trong nền tảng máy chủ chia sẻ không đồng nhất cùng với việccải tiến mô hình năng lượng tiêu thụ của Eugen Feller [36] để đề xuất mô hình toánhọc cho vấn đề cung cấp tài nguyên từ nền tảng máy chủ chia sẻ không đồng nhất(Heterogeneous shared hosting platform) với mục tiêu tối thiểu năng lượng tiêu thụ của
hệ thống Cải tiến thuật toán Tối ưu bầy đàn (Particle Swarm Optimization-PSO)[31]
để đề xuất thuật toán ECRAVS-PSO và áp dụng thuật toán Mô phỏng luyện kim(Simulated Annealing-SA) [59] để đề xuất thuật toán ECRAVS-SA để giải bài toán.Các thuật toán đề xuất được so sánh với thuật toán với thuật toán Firt Fit Decreasing(FFD ) [101] thông qua 02 thước đo: năng lượng tiêu thụ và thời gian thực hiện thuậttoán Kết quả thực nghiệm nhận thấy rằng: 02 thuật toán đề xuất ECRAVS-PSO vàECRAVS-SA cho giá trị hàm mục tiêu tốt hơn (tức là, năng lượng tiêu thụ ít hơn)thuật toán FFD Độ phức tạp của các thuật toán thực hiện trong thời gian đa thức.(3) Trên cơ sở mô hình hệ thống, mô hình tài nguyên và nhu cầu tài nguyên củabài toán cung cấp tài nguyên từ nền tảng máy chủ chia sẻ không đồng nhất (trongđóng góp (2)), xây dựng mô hình toán học cho việc cung cấp tài nguyên đa mục tiêucho dịch vụ ảo hóa, gồm: mục tiêu cân bằng tải trên các máy vật lý và mục tiêu tốithiểu năng lượng tiêu thụ của hệ thống Áp dụng thuật toán Hệ đàn kiến (Ant ColonySystem - ACS)[28] để đề xuất thuật toán MORA-ACS nhằm ước lượng bài toán và sosánh với thuật toán Round Robin [79] thông qua 03 thước đo: năng lượng tiêu thụ, độlệch chuẩn và thời gian thực hiện thuật toán Kết quả thực nghiệm nhận thấy rằng:thuật toán đề xuất MORA-ACS cho giá trị hàm mục tiêu tốt hơn (tức là, năng lượngtiêu thụ ít hơn và khả năng cân bằng tải tốt hơn) thuật toán Round Robin Độ phứctạp của thuật toán thực hiện trong thời gian đa thức
mô hình trong hệ thống tính toán đám mây Thông qua việc phân tích, đánh giá cáccông trình liên quan về lĩnh vực cung cấp tài nguyên trong đám mây, nêu ra một sốvấn đề tồn tại và đề xuất nội dung nghiên cứu Bên cạnh đó, nội dung của chương còn
Trang 19trình bày kết quả đánh giá các công cụ mô phỏng hệ thống tính toán đám mây thôngdụng hiện nay Qua đó, nhận thấy CloudSim là môi trường phù hợp để triển khai thựcnghiệm mô phỏng nhằm đánh giá thuật toán giải các bài toán trong phạm vi nghiêncứu của luận án.
- Chương 2: Cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủ chia
sẻ đồng nhất Dựa trên mô hình hệ thống cung cấp tài nguyên cho dịch vụ ảo hóa doMark Stillwell [100] và đặc tính tài nguyên của máy vật lý, nhu cầu tài nguyên củadịch vụ ảo hóa từ [99] trong nền tảng máy chủ chia sẻ đồng nhất Trên cơ sở đó, đềxuất mô hình toán học của việc cung cấp tài nguyên đa chiều cho dịch vụ ảo hóa từnền tảng máy chủ chia sẻ đồng nhất với mục tiêu tối thiểu số lượng máy vật lý cầndùng Áp dụng thuật toán First Fit, Best Fit và đề xuất thuật toán MDRAVS-MMAS
để giải và đánh giá thông qua nhiều kịch bản thực nghiệm trên dữ liệu được tạo rabằng phương pháp xác suất ngẫu nhiên
- Chương 3: Cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủ chia
sẻ không đồng nhất Dựa trên mô hình hệ thống cung cấp tài nguyên cho dịch vụ ảohóa do Mark Stillwell [100] đề xuất và đặc tính tài nguyên của máy vật lý, nhu cầutài nguyên của dịch vụ ảo hóa từ [101] trong nền tảng máy chủ chia sẻ không đồngnhất của Qua đó, xây dựng mô hình bài toán cung cấp tài nguyên đa chiều cho dịch
vụ ảo hóa từ nền tảng máy chủ chia sẻ không đồng nhất với mục tiêu tối thiểu nănglượng tiêu thụ của hệ thống Đề xuất thuật toán ECRAVS-PSO và ECRAVS-SA đểgiải Các thuật toán được thực thi trên môi trường mô phỏng đám mây CloudSim với
dữ liệu thực nghiệm được thu thập từ các đám mây thực tế
- Chương 4: Cung cấp tài nguyên đa mục tiêu cho dịch vụ ảo hóa từ nền tảng máychủ chia sẻ không đồng nhất Dựa trên mô hình hệ thống, đặc tính tài nguyên và nhucầu tài nguyên được trình bày ở Chương 3, chương này đề xuất mô hình bài toán cungcấp tài nguyên đa mục tiêu cho dịch vụ ảo hóa từ nền tảng máy chủ chia sẻ khôngđồng nhất Các mục tiêu tối ưu gồm: mục tiêu tối thiểu năng lượng tiêu thụ và mụctiêu cân bằng tải trên các máy vật lý Đề xuất thuật toán MORA-ACS để giải và đánhgiá trên môi trường mô phỏng đám mây CloudSim với dữ liệu thực nghiệm được thuthập từ các đám mây thực tế
Các kết quả của luận án được công bố trong 07 công trình khoa học được đăngtrong các hội nghị và tạp chí chuyên ngành trong và ngoài nước Trong đó, có 01 bàiđăng trong kỷ yếu hội thảo quốc gia, 02 bài đăng trong các tạp chí chuyên ngànhtrong nước, 02 bài đăng trong tạp chí quốc tế và 02 bài đăng tại các hội thảo quốc tếchuyên ngành
Trang 20và đánh giá các thuật toán đề xuất trong luận án.
vụ giữa nhà cung cấp và người dùng
Có nhiều định nghĩa về mô hình của hệ thống tính toán đám mây được đề xuấttrong những năm qua Tuy nhiên, đến nay vẫn chưa có định nghĩa chuẩn, trong đóPeter Mell và Tim Grance [73] định nghĩa mô hình hệ thống tính toán đám mây nhưsau: một mô hình cho phép việc truy cập mạng một cách rộng rãi, tiện lợi và theo nhucầu nhằm chia sẻ tài nguyên tính toán (ví dụ: mạng, máy chủ, thiết bị lưu trữ, các ứngdụng và dịch vụ) và có thể được cấp phát nhanh với khả năng tối thiểu các nỗ lực quản
lý, cung cấp dịch vụ Mô hình đám mây gồm có 5 đặc điểm chính, 3 mô hình dịch vụ
và 4 mô hình triển khai
Trang 211.1.1 Đặc điểm của hệ thống tính toán đám mây
Theo Peter Mell và Tim Grance [73], 05 đặc điểm chính của đám mây, gồm: truycập mạng diện rộng, dịch vụ cung cấp tự động theo nhu cầu, tổng hợp tài nguyên,tính co dãn nhanh và dịch vụ có thể đo lường
- Truy cập mạng diện rộng: các dịch vụ trong hệ thống tính toán đám mây cósẵn trên Internet Do đó, nó có thể truy cập từ bất kỳ thiết bị nối mạng nào, như:máy tính xách tay, điện thoại di động, máy tính để bàn,
- Dịch vụ cung cấp tự động theo nhu cầu: người dùng có thể thuê tài nguyên
từ các nhà cung cấp đám mây Điều này có thể thực hiện bằng việc sử dụng giao diệnlập trình ứng dụng (Applicaton Programming Interface - API) mà nhà cung cấp đámmây cung cấp thông qua Internet
- Tổng hợp tài nguyên: tài nguyên đám mây được cung cấp bởi các nhà cungcấp đám mây, được lưu trữ trên cơ sở hạ tầng đám mây và có khả năng chia sẻ giữanhiều người dùng Cấu trúc bên trong của cơ sở hạ tầng cung cấp dịch vụ đám mây làtrong suốt đối với người dùng Do đó, người dùng không thể và không cần biết chínhxác nơi mà các tài nguyên được cung cấp
- Tính linh hoạt: người dùng có thể được cấp phát tự động tài nguyên (tàinguyên tính toán hay tài nguyên lưu trữ) bất cứ khi nào cần thiết Các yêu cầu cấpphát được gửi đến nhà cung cấp đám mây thông qua việc sử dụng giao diện lập trìnhứng dụng được cung cấp từ nhà cung cấp dịch vụ đám mây
- Dịch vụ có khả năng đo lường: nhà cung cấp đám mây có thể theo dõi ngườidùng sử dụng tài nguyên và tính phí khi người dùng sử dụng tài nguyên dựa trên môhình kinh doanh pay-as-you-go
1.1.2 Mô hình dịch vụ của hệ thống tính toán đám mây
Hiện nay, hệ thống tính toán đám mây có 03 mô hình dịch vụ [3], đó là: cơ sở hạtầng như một dịch vụ (Infrastructure as a Service - IaaS), nền tảng như một dịch vụ(Platform as a Service-PaaS) và phần mềm như một dịch vụ (Software as a Service-SaaS)
Ngoài 03 mô hình dịch vụ nêu trên, một số nhà chuyên môn cũng cho rằng phầncứng như một dịch vụ (Hardware as a Service-HaaS) là một mô hình tồn tại trước khi
hệ thống tính toán đám mây ra đời cũng được xem như là một mô hình dịch vụ của
hệ thống tính toán đám mây
Trang 22- Phần cứng như một dịch vụ (Hardware as a Service - HaaS): mô hình nàycho phép người dùng thuê tài nguyên phần cứng (tài nguyên tính toán, lưu trữ, máytính xách tay, màn hình, máy tính để bàn, ) theo nhu cầu Mô hình này giúp chongười dùng cá nhân hoặc doanh nghiệp không muốn tốn chi phí đầu tư phần cứngcho mình Điều này, có lợi cho việc khởi nghiệp mà không muốn đầu tư lớn về chi phíphần cứng Một số nhà cung cấp dịch vụ HaaS là Grenke [43], Hetzner [47] Ngoài ra,
mô hình dịch vụ HaaS có thể cung cấp các phòng thí nghiệm khoa học cho phép cácnhà nghiên cứu sử dụng tài nguyên phần cứng Ví dụ, một số mô hình dịch vụ HaaSphổ biến hiện nay để cung cấp cho mục đích thực hiện các thử nghiệm khoa học, như:
hệ thống Grid’5000 [4] tại Pháp hay Trung tâm tính toán khoa học nghiên cứu nănglượng quốc gia (National Energy Research Scientific Computing Center) [76] ở Mỹ
- Cơ sở hạ tầng như một dịch vụ (Infrastructure as a Service - IaaS): mô hìnhđám mây IaaS cho phép người dùng thuê và quản lý các nguồn tài nguyên ảo, như:máy chủ ảo, thiết bị lưu trữ ảo, mạng ảo, thông qua Internet Người dùng có thểcài đặt và cấu hình các phần mềm, như: hệ điều hành, chương trình ứng dụng, màkhông cần lo lắng về lớp hệ thống đám mây bên dưới Tức là, người dùng có thể dễdàng sử dụng máy chủ được cung cấp dưới dạng các máy ảo (Virtual Machine - VM)
mà không cần quan tâm các máy vật lý (Physical Machine - PM) đang chạy Một số hệthống tính toán đám mây IaaS thương mại nổi tiếng, như: Amazon Elastic ComputeCloud [93], Google Compute Engine [65], Ngoài ra, một số hệ thống tính toán đámmây IaaS mã nguồn mở cũng được phát triển trong thời gian qua, tạo điều kiện choviệc tạo ra các đám mây, như: CloudStack [51], Eucalyptus [49], Globus Nimbus [20],
- Nền tảng như một dịch vụ (Platform as a Service - PaaS): mô hình đám mâyPaaS cung cấp cho người dùng các dịch vụ nền tảng để triển khai các ứng dụng, như:servlet, các dịch vụ web, middleware, database, Điều này cho phép người dùng tậptrung vào phát triển ứng dụng và giải phóng họ khỏi gánh nặng của việc triển khai,quản lý và mở rộng quy mô của các môi trường run-time Một số đám mây PaaS mãnguồn mở tiêu biểu: AppScale [19], ConPaaS [85], Các đám mây PaaS thương mạitiêu biểu: RedHat OpenShift [1], Windows Azure [25],
- Phần mềm như một dịch vụ (Software as a Service - SaaS): mô hình đámmây PaaS cho phép người dùng triển khai các ứng dụng tùy biến, những đám mâySaaS thường cung cấp một tập các ứng dụng kinh doanh đã được cài đặt sẵn trên cácmáy chủ, như: các ứng dụng kế toán, ứng dụng quản lý quan hệ khách hàng, Cácứng dụng này được quản lý bởi hệ thống của nhà cung cấp dịch vụ đám mây thaycho người dùng Ứng dụng có thể được truy cập qua Internet bằng cách sử dụng trình
Trang 23duyệt Web hoặc một phần mềm có khả năng truy cập vào giao diện lập trình ứngdụng của đám mây PaaS Một số ví dụ về dịch vụ đám mây SaaS như: Google Apps[65], iClound [45],
1.1.3 Mô hình triển khai của hệ thống tính toán đám mây
Trong tài liệu [3], các tác giả phân loại dựa vào tiêu chí triển khai, gồm có 04 đámmây sau đây: đám mây riêng (Private Cloud), đám mây công cộng (Public Cloud),đám mây cộng đồng (Community Cloud) và đám mây lai (Hybrid Cloud)
- Đám mây riêng (Private Cloud): các đám mây riêng là những hệ thống tínhtoán đám mây được triển khai trên cơ sở hạ tầng tính toán và lưu trữ thuộc các trungtâm dữ liệu riêng lẻ Người sử dụng các đám mây này thường được giới hạn trongphạm vi của tổ chức Các đám mây riêng nổi tiếng hiện nay, như: các đám mây riêngcủa công ty IBM, VMware vCloud [113] và các đám mây riêng dựa trên công nghệ mãnguồn mở như: OpenStack [95] và CloudStack [51]
- Đám mây công cộng (Public Cloud): các đám mây công cộng là những hệthống tính toán đám mây thương mại có sẵn cho tất cả mọi người trên Internet Cácđám mây này thường được điều hành bởi một nhà cung cấp đám mây công cộng vàcho phép người dùng dễ dàng sử dụng các dịch vụ mà không cần phải có cơ sở hạtầng riêng Qua đó, người dùng phải trả phí cho những gì họ sử dụng Các nhà cungcấp đám mây công cộng thông dụng: Amazon Web Services [77], Google Apps [65],Microsoft Azure [8],
- Đám mây cộng đồng (Community Cloud): các đám mây cộng đồng là những
hệ thống tính toán đám mây cho phép chia sẻ cơ sở hạ tầng, như: hạ tầng tính toán,
hạ tầng lưu trữ, giữa các cá nhân hoặc các tổ chức khác nhau có chung lợi ích Việctruy cập đám mây cộng đồng thường được giới hạn giữa các thành viên trong cộngđồng Ví dụ, một đám mây cộng đồng chăm sóc sức khỏe có thể được sử dụng bởi cácbệnh viện để trao đổi thông tin y tế, bệnh nhân Hoặc, những đám mây cộng đồngđược thiết lập giữa các tổ chức khoa học để thực hiện các dự án, chia sẻ dữ liệu vàtrao đổi kết quả nghiên cứu mới nhất
- Đám mây lai (Hybrid Cloud): các đám mây lai là những hệ thống tính toánđám mây cho phép các tổ chức tận dụng cơ sở hạ tầng từ các đám mây riêng, côngcộng và cộng đồng Chẳng hạn, một hệ thống tính toán đám mây lai cho phép giảmtải dữ liệu ít nhạy cảm bằng cách chia sẻ nó các đám mây công cộng trong khi vẫngiữ dữ liệu nhạy cảm trên đám mây riêng của nó Ngoài ra, những đám mây lai chophép các tổ chức sử dụng cơ sở hạ tầng riêng của mình trong giai đoạn tải dịch vụ
Trang 24thấp và mở rộng dịch vụ của họ trong giai đoạn tải cao bằng cách truy xuất vào đámmây công cộng.
1.2 Yêu cầu và thách thức của hệ thống tính toán đám mây
1.2.1 Yêu cầu của một hệ thống tính toán đám mây
- Mục đích của hệ thống (System focus): mỗi hệ thống tính toán đám mâyđược thiết kế để tập trung vào một số mục đích riêng Chẳng hạn, Amazon ElasticCompute Cloud [93] được thiết kế để cung cấp các cơ sở hạ tầng tốt nhất cho các hệthống tính toán đám mây với tất cả các tính năng có sẵn cho người dùng Hệ thốngGENI tập trung vào việc cung cấp một phòng thí nghiệm ảo để khám phá hệ thốngInternet tương lai trong đám mây Globus Nimbus tập trung vào việc mở rộng và thửnghiệm một số khả năng mới, chẳng hạn thử nghiệm mô hình tài nguyên như là dịch
vụ (Resource as a Service - RaaS) và các mô hình tính toán dễ sử dụng Open Nebula[83] cung cấp một mô hình đầy đủ như một trung tâm dữ liệu để làm tiền đề cho đámmây IaaS
- Các dịch vụ (services): mô hình tính toán đám mây được xem là bước pháttriển tiếp theo của mô hình lưới tiện ích (Grid Utility) [91] Tuy nhiên, hệ thống tínhtoán đám mây không chỉ quan tâm đến dịch vụ, chia sẻ tài nguyên mà còn đảm bảoviệc cung cấp các dịch vụ nhất quán thông qua các trung tâm dữ liệu được xây dựngdựa trên công nghệ ảo hoá lưu trữ và tính toán [39], [91] Sự đa dạng, tính ổn địnhcủa các loại dịch vụ mà hệ thống cung cấp cho người dùng là một thông số quan trọng
để đánh giá tính năng của đám mây [68] Do đó, kiến trúc đám mây có thể được phânloại dựa vào loại dịch vụ mà chúng cung cấp, chẳng hạn: Amazon EC2 cung cấp dịch
vụ tính toán và các dịch vụ lưu trữ Sun Grid [41] chỉ cung cấp dịch vụ tính toán,Microsoft Live Mesh [74] cung cấp dịch vụ nền tảng và GRIDS Lab Aneka [87] cungcấp dịch vụ phần mềm
- Sự ảo hoá (virtualization): tài nguyên đám mây được mô hình hóa như các núttính toán ảo kết nối thông qua mạng quy mô lớn với cấu trúc mạng liên kết xác định.Cấu trúc mạng vòng Peer-to-Peer là một ví dụ thường được sử dụng cho một hệ thốngtính toán đám mây và tổ chức cộng đồng người sử dụng [39] Dựa trên công nghệ ảohóa, các mô hình tính toán đám mây cho phép luồng công việc được triển khai và mởrộng một cách nhanh chóng thông qua việc cung cấp động các máy ảo trên các máyvật lý
- Đàm phán QoS động (dynamic QoS negotiation): cung cấp các thuộc tínhchất lượng dịch vụ (Quality of Service - QoS) tự động tại thời điểm thực thi dựa trên
Trang 25điều kiện cụ thể được gọi là đàm phán QoS động, chẳng hạn như: đàm phán băngthông mạng, đàm phán tăng giảm tài nguyên sử dụng, đàm phán về thời gian đápứng, Yêu cầu QoS có thể thay đổi trong quá trình thực hiện các công việc của hệthống để đáp ứng tốt nhất nhu cầu của người dùng Tóm lại, tự động điều chỉnh QoS
để cung cấp linh hoạt nhu cầu người dùng là đặc tính thể hiện sự khác biệt của đámmây và được xem như một thuộc tính so sánh giữa các đám mây
- Giao diện truy cập người dùng (user access interface): giao diện truy cậpngười dùng là các giao thức truyền thông của hệ thống tính toán đám mây với người
sử dụng Giao diện truy cập phải được trang bị các công cụ cần thiết đảm bảo nângcao hiệu suất của hệ thống Mặc dù, giao diện truy cập có sẵn trong hệ thống tínhtoán cụm và hệ thống tính toán lưới, nhưng trong trường hợp của tính toán đám mây,giao diện truy cập là rất quan trọng bởi vì nếu nó không phải là giao diện thân thiệnngười dùng, thì người dùng có thể không sử dụng dịch vụ Vì thế, nó đóng một vaitrò quan trọng và được sử dụng như là một tính năng so sánh giữa các đám mây
- Dịch vụ giá trị gia tăng (value added services): dịch vụ giá trị gia tăng là cácdịch vụ bổ sung ngoài các dịch vụ chuẩn được cung cấp bởi hệ thống Dịch vụ giá trịgia tăng được cung cấp với một khoản phụ phí vừa phải (hoặc miễn phí) và xem như
sự hỗ trợ hấp dẫn của hệ thống cho người dùng với chi phí thấp Vì thế, mục đích củadịch vụ giá trị gia tăng là: thúc đẩy sự phát triển của hệ thống tính toán đám mây,thu hút người sử dụng dịch vụ mới và giữ chân người dùng dịch vụ cũ Các dịch vụnêu trong thỏa thuận mức dịch vụ (Service Level Agreement - SLA) là các dịch vụchuẩn của đám mây Ngoài ra, cần gia tăng các dịch vụ để cung cấp cho người dùngnhằm thúc đẩy người dùng sử dụng các dịch vụ giá trị gia tăng Dịch vụ giá trị giatăng rất quan trọng để phát triển hệ thống tính toán đám mây và cung cấp một lợithế đối với đối thủ cạnh tranh Nếu trong đám mây chỉ cung cấp các dịch vụ SLA thìngười dùng sẽ chuyển sang sử dụng các đám mây có dịch vụ giá trị gia tăng
1.2.2 Thách thức của một hệ thống tính toán đám mây
Những thách thức cơ bản khi triển khai một hệ thống tính toán đám mây, đó làviệc đáp ứng nền tảng các tiêu chuẩn sau [26]:
- Bảo mật (Security): với mô hình đa thuê bao (Multi-Tenancy) và tất cả các dữliệu lưu trữ và tính toán được xử lý trong các máy chủ trên đám mây, nên các vấn
đề về tính bảo mật, tính toàn vẹn dữ liệu và tính không từ chối dịch vụ là các yếu tốquan trọng khi xây dựng các đám mây Vì thế, các kỹ thuật bảo mật mới, như: phòngchống sự tấn công từ các đám mây botnet cần được nghiên cứu và áp dụng
Trang 26- Mô hình chi phí (Costing Model): hệ thống tính toán đám mây sử dụng môhình dịch vụ pay-as-you-go, người dùng chỉ phải trả phí cho những gì đang sử dụng.
Vì thế, người dùng phải xem xét sự cân bằng giữa việc tính toán và truyền thông,chia tách và tích hợp chẳng hạn, để giảm chi phí cơ sở hạ tầng thì sử dụng dịch vụ ditrú máy ảo giữa các đám mây nhưng làm tăng chi phí truyền thông dữ liệu Hoặc, dovấn đề bảo mật, dữ liệu của người dùng cần chia tách thành nhiều phần khác nhau vàlưu trữ trên nhiều đám mây khác nhau Điều này, không chỉ tăng chi phí mà còn ảnhhưởng đến hiệu suất của hệ thống (tức là chi phí thời gian) Sau đó, để sử dụng đượccác dữ liệu này thì người dùng tốn chi phí tích hợp chúng từ các đám mây khác nhau
- Mô hình tính phí (Charging Model): việc sử dụng công nghệ ảo hóa hay môhình đa thuê bao làm cho quá trình tính toán chi phí sử dụng các dịch vụ đám mâytrở nên phức tạp hơn so với các trung tâm dữ liệu thông thường (tính toán chi phídựa trên việc sử dụng tài nguyên tính toán tĩnh) Chi phí trong đám mây được tínhdựa trên các chi phí: sử dụng tài nguyên máy ảo, bản quyền phần mềm, sử dụng mạng
ảo, chi phí bảo mật cho nhiều người dùng truy cập đồng thời khi sử dụng dịch vụ,
- Tiết kiệm tài nguyên (Resource Saving): do sự biến động của khối lượng côngviệc, tải trung bình chỉ chiếm 30% tài nguyên tại trung tâm dữ liệu và 70% tài nguyêncòn lại đặt ở chế độ chờ Vì vậy, cần phải thiết kế cơ chế cung cấp tài nguyên đảmbảo mục tiêu ở mức tối thiểu sử dụng tài nguyên tính toán và tối đa ở chế độ chờ [60],[69]
- Thỏa thuận mức dịch vụ (Service Level Agreement - SLA): mặc dù, ngườidùng sử dụng các dịch vụ trên đám mây không có quyền kiểm soát các tài nguyênmáy tính ở lớp bên dưới, nhưng họ cần được đảm bảo các yếu tố: chất lượng, tính sẵnsàng, độ tin cậy và hiệu suất của tài nguyên máy tính Nói cách khác, người dùng cần
có sự đảm bảo thông qua các thỏa thuận mức dịch vụ (SLA) được thương lượng giữanhà cung cấp đám mây và người dùng
- Di trú máy ảo (Virtual machine migration): là quá trình di chuyển máy ảo từmáy vật lý này sang máy vật lý khác Hệ thống tính toán đám mây là một hệ thốngphân tán quy mô lớn, nên khi nhu cầu khối lượng công việc của người dùng trongtrung tâm dữ liệu tăng thì sử dụng kỹ thuật di trú máy ảo để giảm hiệu suất của hệthống
1.3 Máy ảo
Tác giả Robert Goldberg [42] đã định nghĩa máy ảo (Virtual Machine -VM) nhưsau: máy ảo là một bản sao cô lập của một hệ thống máy tính thực, trong đó tập các
Trang 27bộ vi xử lý ảo được thực hiện trên bộ vi xử lý máy chủ thực một cách tự nhiên.
Máy ảo đã được nghiên cứu từ cuối những năm 1960, ban đầu được phát triển
để sửa chữa một số thiếu sót của kiến trúc trong thế hệ máy tính thứ ba và các hệđiều hành đa chương trình (Multi-Programming) mà hoạt động theo cơ chế phân chiathời gian Đến nay, máy ảo không ngừng được nghiên cứu cải tiến, phát triển trong cảlĩnh vực thương mại và nghiên cứu Các máy ảo có thể được triển khai trong hệ thốngtính toán đám mây do tính ưu việt, như: khả năng cô lập lỗi, khả năng tùy biến, đăngnhập an toàn, phòng chống và phát hiện xâm nhập, di trú môi trường tính toán vàcác hệ thống giám sát, mô phỏng,
1.4 Công nghệ ảo hóa
Công nghệ ảo hóa bao gồm việc kết hợp hoặc phân chia tài nguyên tính toán đểbiểu diễn trong một hoặc nhiều môi trường hoạt động Trong kiến trúc phân tầng củacông nghệ ảo hóa, tầng ảo hóa sẽ phân vùng tài nguyên hiện hành của một hoặc nhiềumáy chủ vật lý bên dưới thành nhiều hoặc một máy ảo, tương ứng Công nghệ ảo hóahiện này được phân thành hai loại: ảo hóa phân chia còn gọi là ảo hóa máy chủ và ảohóa tích hợp
1.4.1 Ảo hóa máy chủ
Theo tài liệu [107], tác giả Uhlig và các cộng sự đưa ra khái niệm ảo hóa máy chủ(Server Virtualization), như sau: ảo hóa máy chủ là công nghệ cho phép tạo và hợpnhất nhiều máy chủ ảo trên cùng một máy chủ vật lý duy nhất
Mỗi máy ảo được xác định bởi một siêu dữ liệu để mô tả các yêu cầu tài nguyên
ảo như: CPU ảo, RAM ảo, Disk ảo, và hệ điều hành chạy trên các máy ảo được gọi
là hệ điều hành khách (Guest OS) Các máy ảo được kiểm soát (tức là, được khởi tạo,tạm ngừng hoạt động hoặc bị giải phóng) giống như các tiến trình trên một máy tínhthực
Các hệ điều hành khách và hệ điều hành trên máy vật lý được quản lý bởi bộ giámsát máy ảo (Virtual Machine Manager - VMM) hay còn gọi là hypersivor Ngoài ra,
để cung cấp sự cô lập giữa các hệ điều hành khách, VMM tích hợp cơ chế bảo mật đểngăn chặn nhân của các hệ điều hành khách không ảnh hưởng lẫn nhau Kiến trúc ảohóa máy chủ được trình bày như Hình 1.1
Hiện nay, kỹ thuật ảo hóa máy chủ được chia thành 03 loại: ảo hóa đầy đủ, ảo hóasong song và ảo hóa mức hệ điều hành
Trang 28Hình 1.1: Kiến trúc ảo hóa máy chủ [107].
- Ảo hóa đầy đủ (Full Virtualization): ảo hóa đầy đủ cho phép hệ điều hànhkhách thực thi tại lớp bên trên của hệ điều hành máy chủ hiện có mà không cần chỉnhsửa nhân của hệ điều hành máy chủ hoặc nhân của hệ điều hành khách Hệ thống sửdụng ảo hóa đầy đủ có nhược điểm về hiệu suất vì mỗi máy ảo sử dụng một lượng lớn
bộ nhớ để lưu bản sao các tài nguyên của chính máy ảo đó
- Ảo hóa song song (Para Virtualization): ngược lại với ảo hóa đầy đủ, ảo hóasong song yêu cầu sửa đổi nhân của hệ điều hành khách để tiếp nhận VMM Vì thế,
ảo hóa loại này không cần sử dụng hệ điều hành máy chủ vật lý và do đó làm tănghiệu suất hệ điều hành khách
- Ảo hóa mức hệ điều hành (OS-level Virtualization): ảo hóa mức hệ điều hành
là việc tạo ra nhiều bộ chứa trên cùng một hệ điều hành và được quản lý bởi mộtlớp ảo hóa bên trong nhân hệ điều hành máy chủ Các bộ chứa có tài nguyên riêng(hệ thống tập tin gốc, các người dùng, các ứng dụng, ) được tách biệt với nhau bởinhân hệ điều hành máy chủ vật lý Ảo hóa mức hệ điều hành cung cấp hiệu suất gầnnhư nguyên bản các ứng dụng của chúng và dễ dàng quản lý hệ thống Tuy nhiên, cácnhược điểm chính của ảo hóa mức hệ điều hành là các bộ chứa bị giới hạn trên nhâncủa hệ điều hành máy chủ vật lý Do đó, không thể sửa đổi nhân khi muốn thêm các
mô đun bổ sung
1.4.2 Ảo hóa tích hợp
Ảo hóa tích hợp (Aggregated Virtualization) là việc kết hợp các máy chủ vật lý,
bộ nhớ và CPU của máy chủ vật lý này để tạo ra một máy ảo duy nhất có công suấtlớn Công nghệ này chủ yếu được sử dụng để tạo các máy ảo thực thi các ứng dụngtính toán chuyên sâu trong hệ thống đa xử lý đối xứng ảo, trong tính toán hiệu năngcao Mô hình ảo hóa tích hợp trình bày như Hình 1.2 Hiện nay sản phẩm vSMP của
Trang 29công ty ScaleMP [27] áp dụng kiểu ảo hóa này.
Hình 1.2: Kiến trúc ảo hóa tích hợp [27]
1.5 Công cụ mô phỏng hệ thống tính toán đám mây
1.5.1 Khảo sát các công cụ mô phỏng
Triển khai đám mây thực tế hoặc sử dụng đám mây thương mại để thử nghiệm
là rất tốn kém chi phí Vì thế, sử dụng các công cụ mô phỏng đám mây có các thànhphần và chức năng tương tự như đám mây thực tế để triển khai nghiên cứu thử nghiệmtrước khi ứng dụng vào đám mây thực tế là cách thức thông dụng
Hiện nay, nhiều công cụ mô phỏng đám mây đã được đề xuất và cũng có sẵn để sửdụng Mỗi công cụ mô phỏng có mục đích cụ thể và có các tính năng khác nhau Nộidung sau đây, luận án sẽ so sánh các công cụ mô phỏng: CloudSim [14], CloudAnalyst[114], GreenCloud [61], MDCsim [67], NetworkCloudSim [55], EmuSim [15], GroudSim[81], MR-CloudSim [54], DCSim [106], SimIC [98] thông qua một số thuộc tính quantrọng như sau:
- Nền tảng cơ sở (Underlying Platform): hầu hết các công cụ mô phỏng đượcxây dựng dựa trên nền tảng sẵn có ngoại trừ công cụ GroudSim và DCSim Các tínhnăng của nền tảng cơ sở đều được thừa hưởng trong các công cụ mô phỏng này
- Tính khả dụng (Availability): điều này rất quan trọng để biết tính sẵn có củamột công cụ mô phỏng là thương mại hoặc mã nguồn mở Ngoại trừ hai công cụ môphỏng MRCloudSim và SimIC là không có sẵn, còn các công cụ mô phỏng còn lại cóthể liên hệ với tác giả để sử dụng
- Ngôn ngữ lập trình (Programming Language): hầu hết các công cụ mô phỏng
sử dụng ngôn ngữ Java để xây dựng kịch bản mô phỏng hoặc mô hình hoá hệ thống
Trang 30Vì thế, thuận lợi cho người sử dụng biết sử dụng ngôn ngữ lập trình này.
- Mô hình chi phí (Cost Modeling): vì mô hình dịch vụ pay-as-you-go là mộttrong những dịch vụ cơ bản của hệ thống tính toán đám mây hay hệ thống tính toántiện ích Đây cũng là thách thức khi sử dụng công cụ mô phỏng đám mây Người dùng
có thể mô hình bất kỳ chính sách mới nào bằng cách sử dụng chức năng này có trongcông cụ mô phỏng
- Giao diện người dùng đồ họa (Graphical User Interface): giao diện ngườidùng đồ họa với mục đích người dùng giao tiếp với công cụ mô phỏng một cách trựcquan và đơn giản khi mô hình hóa Nhiều công cụ mô phỏng trình bày ở trên có giaodiện người dùng đồ họa
- Mô hình truyền thông (Communication Model): mô hình truyền thông là mộttrong những tính năng quan trọng trong hệ thống tính toán đám mây, đặc biệt đốivới các hệ thống mạng bên trong trung tâm dữ liệu tạo nền tảng truyền thông điệpgiữa các ứng dụng
- Thời gian mô phỏng (Simulator Time): đây là thời gian thực hiện mô phỏngtrong quá trình thử nghiệm Công cụ mô phỏng GreenCloud mất vài phút trong quátrình thực hiện
- Mô hình năng lượng (Energy Modeling): mô hình năng lượng là vấn đề quantrọng trong nghiên cứu triển khai các hệ thống tính toán đám mây Bởi vì, việc tiêuthụ năng lượng rất lớn trong trung tâm dữ liệu và các thiết bị mạng khác nhau, như:router, switch, Công cụ mô phỏng GreenCloud được xây dựng riêng cho mục đíchnày
- Chính sách liên kết (Federation Policy): hệ thống tính toán đám mây là một
hệ thống phân tán, nên nhiều nhà cung cấp dịch vụ đám mây được đặt ở các vị trí địa
lý khác nhau Chính sách liên kết cho phép các nhà cung cấp dịch vụ đám mây khácnhau phối hợp cùng nhau để hỗ trợ việc chuyển đổi ứng dụng và khối lượng công việcqua mạng nhằm nâng cao chất lượng dịch vụ cao
- Môi trường thực thi (Execution environment): sự phổ biến ngày càng tăng vàtính phức tạp của các hệ thống máy tính làm cho phần mềm mô phỏng trở thành sựlựa chọn quan trọng cho việc thiết kế, cấu hình, quản lý và phân tích hiệu suất củamột hệ thống Các công cụ mô phỏng cần thiết kế giao diện người dùng đồ họa đểgiúp cho người sử dụng dễ dàng thiết kế đám mây mô phỏng
Từ khảo sát và đánh giá các đặc tính của một số công cụ mô phỏng hệ thống
Trang 31tính toán đám mây như trình bày trong Bảng 1.1 Nhận thấy rằng, triển khai và thửnghiệm một đám mây thực cần rất nhiều chi phí, gồm: chi phí nguồn tài nguyên phầncứng và chi phí cho việc tích hợp hệ thống phân tán cực kỳ lớn của các đám mây.Nhưng, nhược điểm này có thể được loại bỏ bằng cách sử dụng các công cụ mô phỏngsẵn có Hơn nữa, với đặc tính thông dụng và các chức năng của của CloudSim, có thểđáp ứng yêu cầu thực nghiệm các vấn đề nghiên cứu của luận án Vì thế, luận án sửdụng công cụ này để triển khai thử nghiệm đánh giá các giải pháp mà luận án đưa ra.
Bảng 1.1: Đặc tính của một số công cụ mô phỏng hệ thống tính toán đám mây tiêubiểu
mô phỏng
Nền tảng cơ sở
Tính khả dụng
Ngôn ngữ lập trình
Mô hình chi phí
Giao diện GUI
Mô hình truyền thông
Thời gian mô phỏng
Mô hình năng lượng
Chính sách liên kết CloudSim SimJava Mã
nguồn mở
hạn
Tính bằng giây
hạn
Tính bằng giây
nguồn mở
C++, cel
ot-Không Bị giới
hạn
Đầy đủ Tính
bằng phút
bằng giây
nguồn mở
hạn
Tính bằng giây
nguồn mở
hạn
Không Tính
bằng giây
nguồn mở
bằng phút
1.5.2 Công cụ mô phỏng CloudSim
CloudSim [14] được phát triển tại phòng thí nghiệm GRIDS của Đại học bourne Đây là công cụ giả lập đám mây phổ biến nhất hiện nay, được sử dụng để mô
Trang 32Mel-hình hóa và mô phỏng cơ sở hạ tầng của hệ thống tính toán đám mây Công cụ này
mô phỏng theo hướng sự kiện, được xây dựng dựa trên nền tảng công cụ mô phỏng
hệ thống tính toán lưới GridSim [12] Ngôn ngữ sử dụng trong CloudSim là ngôn ngữlập trình hướng đối tượng Java và có thể dễ dàng mở rộng tính năng theo yêu cầucủa người dùng CloudSim cho phép người dùng xây dựng các mô hình cho một hệthống tính toán đám mây bằng cách tạo ra một trung tâm dữ liệu, không giới hạn
số máy ảo, cho phép triển khai chính sách môi giới và hỗ trợ tính năng của mô hìnhpay-as-you-go Một trong những tính năng độc đáo của CloudSim là chính sách liênkết mà các công cụ mô phỏng khác ít có
Do có khả năng mở rộng nên CloudSim được sử dụng làm nền tảng để pháttriển các công cụ mô phỏng khác Chẳng hạn, các công cụ mô phỏng đám mây, như:CloudAnalyst [114], NetworkCloudSim [55], EMUSIM [15], CDOSim [38] đã tích hợpcác mô đun của CloudSim vào trong công cụ mô phỏng của mình hoặc cải tiến thêmcác chức năng của CloudSim
Hiện tại, các nhà nghiên cứu của phòng thí nghiệm của Hewlett Packard tại PaloAlto, Mỹ và Đại học Duke, Mỹ đang sử dụng CloudSim để đánh giá các thuật toáncung cấp tài nguyên và các thuật toán quản lý năng lượng hiệu quả của các trung tâm
dữ liệu Một trong những nhược điểm của CloudSim là thiếu giao diện người dùng
đồ họa (Graphic User Interface – GUI) Hình 1.3 minh họa các thành phần chính củaCloudSim
Hình 1.3: Các thành phần của công cụ mô phỏng CloudSim [14]
Trang 33+ Lớp VmSheduler: thực hiện nhiệm vụ lập lịch các máy ảo.
+ Lớp VmAllocation Policy: thực thi chính sách cung cấp tài nguyên phần cứngcho máy ảo
+ Lớp Datacenter Broker: khi nhận được các nhiệm vụ và ứng dụng từ người dùng,lớp này thực hiện việc gửi thông tin cụ thể đến VmSheduler và VmAllocation Policy
để phân bổ nhiệm vụ của ứng dụng cho các máy ảo và cung cấp tài nguyên từ cácmáy vật lý cho máy ảo Sau khi thực hiện xong các nhiệm vụ lớp Datacenter Brokerthực hiện giải phóng máy ảo
1.6 Cung cấp tài nguyên trong hệ thống tính toán đám mây
1.6.1 Mô hình cung cấp tài nguyên
Mô hình cung cấp tài nguyên trong tính toán đám mây được trình bày như Hình1.4 Trong đó, V là số ứng dụng (Application) và mỗi ứng dụng có T tác vụ (Task).Các ứng dụng nhận các yêu cầu từ người dùng đầu cuối(User) và thực thi trên N máy
ảo (Virtual Machine), các máy ảo này được cung cấp thông qua việc ảo hóa tài nguyên
từ M máy vật lý (Physical Machine)
Theo mô hình này, có 03 đối tượng tham gia hoạt động trong một hệ thống tínhtoán đám mây, bao gồm: nhà cung cấp đám mây (cloud provider), nhà cung cấp ứng
Trang 34Hình 1.4: Mô hình cung cấp tài nguyên trong hệ thống tính toán đám mây.dụng (application provider) và người dùng đầu cuối (User).
Trong đó, nhà cung cấp đám mây sẽ cung cấp tài nguyên phần cứng và tài nguyênđược ảo hóa chạy trên nền tài nguyên phần cứng Người dùng đầu cuối chỉ truy cậptrực tiếp vào tài nguyên đã được ảo hóa Nhà cung cấp ứng dụng sẽ chọn lựa các máy
ảo và cài đặt môi trường hoạt động trên máy ảo như: hệ điều hành khách, các phầnmềm triển khai ứng dụng thông qua các giao diện ứng dụng được cung cấp từ nhàcung cấp đám mây Ngoài ra, nhà cung cấp ứng dụng sẽ phát triển và triển khai cácứng dụng trên hệ thống máy ảo đến người dùng đầu cuối
Như vậy, hoạt động cung cấp tài nguyên trong đám mây gồm có 03 loại như sau:cung cấp ứng dụng, cung cấp máy ảo và cung cấp tài nguyên vật lý
1.6.2 Cung cấp ứng dụng
Khi hệ thống nhận các yêu cầu sử dụng các dịch vụ, hệ thống sẽ triển khai cácứng dụng trong các máy ảo và kết hợp nhận các yêu cầu từ các ứng dụng tiếp sau đó.Nội dung nghiên cứu của vấn đề này được thể hiện qua các công trình nghiên cứu sau:
- Karve và cộng sự [56] thiết kế một nền tảng middleware và bộ điều khiển tựđộng để điều chỉnh việc đặt các ứng dụng trên máy ảo theo nhu cầu của các ứng dụng.Bằng cách sử dụng phương pháp "đặt chỗ gia tăng" để đạt được tối đa hóa nhu cầuứng dụng Các quyết định đặt chỗ ứng dụng dựa vào năng lực CPU, bộ nhớ của máyvật lý tương ứng với yêu cầu của các ứng dụng
- Zheng [118] đưa ra phương pháp giải bài toán cung cấp ứng dụng bằng cách đềxuất một nền tảng (Framework) để cung cấp tự động các ứng dụng và tài nguyên máychủ dữ liệu (Data Server) với mục tiêu đáp ứng về thời gian Họ sử dụng thuật toán
Trang 35Leo đồi để tìm chi phí thấp nhất thông qua dữ liệu thực nghiệm mô phỏng.
- Chi và cộng sự [18] đề xuất một thuật toán tìm kiếm heuristic để tối ưu thời gianthực hiện quá trình cung cấp tài nguyên cho các ứng dụng Web đa tầng trong đámmây Đặc trưng của thuật toán là có thể thêm hoặc loại bỏ các máy ảo tại các tầngứng dụng Đây là sự kết hợp giữa đặt chỗ ứng dụng và cung cấp máy ảo
- Urgaonkar và cộng sự [108] đã công bố công trình liên quan đến bài toán cungcấp ứng dụng Cụ thể, họ giới thiệu phương pháp kết hợp giữa dự đoán công việc củacác ứng dụng với công nghệ ảo hóa trên một hệ thống đa tầng Trong mô hình đa tầngnày, đầu vào nhận yêu cầu từ bộ dự đoán luồng công việc của ứng dụng để tìm sốmáy chủ ảo nhằm cung cấp tài nguyên cho mỗi tầng dựa vào việc tính toán nhu cầutài nguyên của luồng công việc Đây chính là bài toán kết hợp giữa đặt chỗ ứng dụng
và cung cấp máy ảo Urgaonkar mô hình hóa bài toán đặt chỗ ứng dụng dưới dạngbài toán Bin Packing và bài toán Knapsack và cho thấy rằng đây là những bài toánNP-khó Vì thế, họ đề xuất thuật toán xấp xỉ heuristic như: First Fit, Max First, BestFit, Worst Fit để giải
- Iqbal và cộng sự [50] nghiên cứu bài toán cung cấp tài nguyên cho các ứng dụngWeb một tầng đến hai tầng được sử dụng trong đám mây Eucalyptus [49] Họ đề xuấtcác thuật toán đơn giản cho các ứng dụng đa tầng dựa trên tiện ích và thời gian đápứng của CPU Đây là sự kết hợp giữa bài toán đặt chỗ ứng dụng và cung cấp máy ảo.Như vậy, cung cấp ứng dụng trong hệ thống tính toán đám mây liên quan đến bàitoán co dãn ứng dụng và/hoặc bài toán đặt chỗ ứng dụng Trong đó:
- Bài toán co dãn ứng dụng (Application Scaling): xác định sự tăng hoặc giảmcác ứng dụng, số lượng các tác vụ cấu thành ứng dụng
- Bài toán đặt chỗ ứng dụng (Application Placement): xác định việc thiết lậpcác ứng dụng trên các máy ảo
1.6.3 Cung cấp máy ảo
Cung cấp máy ảo là quá trình dựa trên nhu cầu thực thi ứng dụng, nhà cung cấpđám mây sẽ cung cấp các máy ảo cho người dùng để thực thi các ứng dụng đó Ngoàicác công bố [50], [108], [18] như trình bày ở trên là có sự kết hợp giữa cung cấp ứngdụng và cung cấp máy ảo Một số công trình tiêu biểu sau đây có liên quan đến việccung cấp máy ảo Cụ thể:
- Kijsipongse và cộng sự [58] giới thiệu một kiến trúc cung cấp máy ảo cho cácđám mây theo cơ chế từ xa và được kiểm nghiệm trong đám mây Eucalyptus Họ tập
Trang 36trung thực hiện bài toán lập lịch công việc và chính sách cung cấp máy ảo dựa vàokích cỡ hàng đợi công việc (Work Queue).
- Nguyễn Văn Hiền và cộng sự [78] đưa ra phương pháp cung cấp động máy ảothông qua việc đặt chỗ máy ảo Họ đề xuất mô hình toán học với mục tiêu tối ưu: chiphí và hiệu suất Họ giới thiệu các kỹ thuật cung cấp máy ảo và cách thức đặt cácứng dụng trên máy ảo (tức là, bài toán đặt chỗ ứng dụng)
- Huber và cộng sự [48] đề xuất một nền tảng (framework) cho phép cung cấp cácmáy ảo dựa trên nhu cầu máy ảo tại thời điểm thực thi của hệ thống ảo hóa Họ triểnkhai với 03 kịch bản: dịch vụ mới được thêm vào, số lượng công việc tăng và giảm.Các giải pháp đề xuất đã đạt được một số kết quả, như: đáp ứng thời gian khi sử dụngphương pháp động kết hợp với cấp phát tĩnh, đảm bảo đáp ứng nhu cầu QoS
- Calheiros và cộng sự [16] trình bày bài toán cung cấp máy ảo dựa trên nhu cầucung cấp ứng dụng (tức là, bài toán cung cấp ứng dụng) Họ trình bày một thuật toánđảm bảo yêu cầu QoS như: thời gian đáp ứng, tiện ích và tỷ lệ loại bỏ các máy ảo dựatrên thuộc tính QoS được đàm phán Họ sử dụng công cụ mô phỏng CloudSim [14] đểtriển khai thực nghiệm với 1000 máy chủ vật lý
- Shoaib và Das [97] đề xuất một thuật toán cho phép thêm các máy ảo hoặc bộ
vi xử lý ảo dựa trên việc xác định trạng thái cổ chai (bottlenecks) của phần cứng vàphần mềm trong các ràng buộc: mục đích thực hiện và đáp ứng tài nguyên
- Das và cộng sự [22] nghiên cứu thời gian đáp ứng các yêu cầu gửi đến đám mâythông qua việc giám sát, cung cấp máy ảo, hàng đợi đa công việc, thời gian đáp ứng
và giám sát thực hiện Họ sử dụng công cụ CloudSim [14] để mô phỏng và chỉ ra rằngphương pháp cung cấp của họ tốt hơn phương pháp cung cấp máy ảo đơn lẻ bằng việc
so sánh các kết quả theo 03 thước đo: yêu cầu gửi đến, yêu cầu không chấp nhận vàthời gian tạo máy ảo
- Calcavecchia và cộng sự [13] trình bày kỹ thuật đặt chỗ suy diễn ngược (BackwardSpeculative Placement) để xử lý các yêu cầu triển khai máy ảo nhận được từ bộ cungcấp đám mây để tối ưu đặt chỗ các máy ảo trên các máy vật lý không đồng nhất Mụctiêu là xem xét việc đáp ứng nhu cầu CPU của máy ảo, tối thiểu hóa việc di trú máy
ảo và cân bằng tải giữa các máy vật lý Kỹ thuật này sử dụng hai pha quyết định: mộtpha xử lý các yêu cầu cho việc triển khai máy ảo và pha thứ hai tối ưu cho những chỗ
đã đặt trước đó bằng cách di trú máy ảo Phương pháp của họ cũng được xem nhưbài toán co dãn tài nguyên vật lý cùng với bài toán đặt chỗ máy ảo
- Xiao và cộng sự [115] trình bày phương pháp để giải bài toán đặt chỗ máy ảo và
Trang 37co dãn tài nguyên vật lý trong những đám mây Mục đích là hướng tới việc đặt chỗmáy ảo trên máy vật lý để đáp ứng yêu cầu của máy ảo và giảm thiểu số lượng máyvật lý được sử dụng Thông qua di trú máy ảo từ máy vật lý quá tải đến máy vật lýnhàn rỗi để giảm tải cho máy vật lý quá tải Phương pháp của họ dựa trên một thuậttoán dự báo phụ tải Fast Up and Slow Down và sử dụng thước đo skewness để đánhgiá thuật toán.
- Pandit và cộng sự [82] đề xuất một thuật toán Mô phỏng luyện kim cho bài toáncung cấp tài nguyên trong các đám mây và mô hình bài toán này như là một biến thểcủa bài toán Bin packing đa chiều Thông qua mô phỏng, họ cho thấy thuật toán đềxuất của họ hoạt động tốt hơn thuật toán First-Come First-Serve bằng cách ánh xạcác yêu cầu đến các nguồn tài nguyên Cách tiếp cận của họ liên quan đến bài toánđặt chỗ ứng dụng và đặt chỗ máy ảo
- Li và cộng sự [66] sử dụng mô hình thực thi Layered Queueing Network Đây là
mô hình dựa trên sự mở rộng của mô hình luồng mạng (network flow model) để giảibài toán tối đa lợi nhuận của đám mây khi xem xét các ràng buộc: thời gian đáp ứng
và băng thông Bài toán của họ là cung cấp các máy ảo có sự kết hợp cung cấp tàinguyên vật lý và việc đặt chỗ máy ảo tối ưu trên các máy vật lý mà trong đó mỗi tác
vụ được đặt trên một máy ảo
Như vậy, cung cấp máy ảo trong hệ thống tính toán đám mây liên quan đến bàitoán co dãn máy ảo (Virtual Machine Scaling) Tức là, dựa trên nhu cầu thực thicác ứng dụng để xác định sự tăng hoặc giảm số lượng máy ảo và tài nguyên ảo kếthợp Ví dụ, CPU ảo, RAM ảo, Disk ảo
1.6.4 Cung cấp tài nguyên vật lý
Cung cấp tài nguyên vật lý là việc dựa trên nhu cầu tài nguyên của dịch vụ ảohóa để đáp ứng đầy đủ tài nguyên phần cứng nhằm tạo ra các máy ảo Các công trìnhtiêu biểu đã công bố đối với vấn đề cung cấp tài nguyên vật lý, gồm: [109], [2], [100],[99], [94], [17], [35], [36], [52], [33], [6], [112], [14], [17], [36], [52], [79], [119]
Trong các công bố này các tác giả nghiên cứu bài toán tối ưu với các mục tiêu như:tối thiểu số lượng máy vật lý cần dùng, tối thiểu năng lượng tiêu thụ của hệ thống vàđảm bảo cân bằng tải Bài toán cung cấp tài nguyên vật lý liên quan đến bài toán đặtchỗ máy ảo và/hoặc bài toán co dãn tài nguyên vật lý Trong đó:
- Bài toán đặt chỗ máy ảo (Virtual Machine Placement): xác định việc thiếtlập các máy ảo trên các máy vật lý Tức là, cung cấp tài nguyên vật lý cho các máy
Trang 38- Bài toán co dãn tài nguyên vật lý (Physical Resource Scaling): xác định sựtăng hoặc giảm số tài nguyên vật lý mà ứng dụng hoặc các máy ảo đang thực thi vàđang sử dụng
1.7 Các nghiên cứu liên quan đến cung cấp tài nguyên cho dịch
vụ ảo hóa
1.7.1 Mô hình hệ thống cung cấp tài nguyên cho dịch vụ ảo hóa
Cung cấp tài nguyên cho dịch vụ ảo hóa có 02 loại: cung cấp tài nguyên tĩnh vàcung cấp tài nguyên động Trong đó, cung cấp tài nguyên tĩnh là quá trình cung cấptài nguyên mà nhu cầu tài nguyên cho dịch vụ ảo hóa không thay đổi Ngược lại, trongcung cấp tài nguyên động thì nhu cầu tài nguyên thay đổi theo thời gian
Mục tiêu của luận án là nghiên cứu bài toán cung cấp tài nguyên tĩnh, mô hình
hệ thống cung cấp tài nguyên tĩnh cho dịch vụ ảo hóa dựa trên nền tảng máy chủ chia
sẻ do Mark Stillwell và các cộng sự [100] đề xuất, được trình bày như Hình 1.5
Hình 1.5: Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa từ nền tảng máy chủ chiasẻ
Trong mô hình này:
- Nền tảng máy chủ chia sẻ (Shared Hosting Platform): gồm cụm các máy vật
lý (Physical Machine) được kết nối qua thiết bị mạng để chia sẻ tài nguyên nhằm cungcấp cho dịch vụ ảo hóa (Virtual Service) Nếu các máy vật lý có cấu hình tài nguyêngiống nhau thì gọi là nền tảng máy chủ chia sẻ đồng nhất (Homogeneous Shared
Trang 39Hosting Platform) Ngược lại, các máy vật lý có cấu hình tài nguyên không giốngnhau thì gọi là nền tảng máy chủ chia sẻ không đồng nhất (Heterogeneous SharedHosting Platform).
- Dịch vụ ảo hóa (Virtual Service): mỗi dịch vụ ảo hóa là một ánh xạ tài nguyên
f : S → R Sao cho, với sk ∈ S và rk ∈ R thì f(sk) = rk nếu rk biểu diễn tài nguyênthực tương ứng tài nguyên ảo sk của tài nguyên loại k Trong đó, S = {sk|k = 1 D}
là tập tài nguyên ảo trên máy ảo, R = {rk|k = 1, , D} là tập tài nguyên thực trêncác máy vật lý và D số loại tài nguyên
- Bộ giám sát máy ảo (Virtual Machine Manager): giám sát, quản lý các máy
ảo thực thi trên máy vật lý
- Hệ thống quản lý các máy ảo (Virtual Machine Manager System): điều khiểncác các Bộ giám sát máy ảo nhằm xác định tỷ lệ tài nguyên tiêu thụ trong các máy
ảo, di trú các máy ảo từ máy vật lý này sang máy vật lý khác trong hệ thống
- Bộ cung cấp tài nguyên (Resource Allocator): cung cấp tài nguyên cho dịch
vụ ảo hóa để đáp ứng nhu cầu tạo ra các máy ảo
Theo mô hình này, khi hệ thống nhận được yêu cầu cung cấp cụm máy ảo (yêucầu tĩnh) để thực thi các ứng dụng trên đám mây, hệ thống sẽ đáp ứng bằng cáchthiết lập một hoặc nhiều máy ảo để thực thi yêu cầu đó Các máy ảo chạy trên máyvật lý dưới sự quản lý của các Bộ giám sát máy ảo [5] và tiêu thụ tài nguyên theo tỷ
lệ khác nhau Hệ thống quản lý các máy ảo có nhiệm vụ kiểm soát các Bộ giám sátmáy ảo để xác định tỷ lệ tiêu thụ tài nguyên của các máy ảo Cuối cùng, Bộ cung cấptài nguyên dựa trên nhu cầu tài nguyên của máy ảo và tài nguyên hiện có của máyvật lý để ra quyết định từ chối hoặc đáp ứng yêu cầu, phân chia tỷ lệ tài nguyên đếncác dịch vụ ảo hóa để đáp ứng tài nguyên cho máy ảo Mục đích của luận án là xâydựng bài toán và cài đặt các thuật toán đề xuất như là một phần của Bộ cung cấp tàinguyên
1.7.2 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa với mục
tiêu tối thiểu số lượng máy vật lý được dùng.
Công nghệ ảo hóa cho phép ảo hóa tài nguyên của các máy vật lý để tạo ra cácmáy ảo nhằm đáp ứng nhu cầu người dùng trên các đám mây Tuy nhiên, theo thống
kê từ các công bố [60], [69], do sự biến động của khối lượng công việc, tải trung bìnhchỉ chiếm 30% tài nguyên tại trung tâm dữ liệu và 70% tài nguyên còn lại đặt ở chế
độ chờ, điều này dẫn đến lãng phí tài nguyên Vì thế, tối thiểu số lượng máy vật lý
Trang 40cần dùng khi cung cấp tài nguyên cho dịch vụ ảo hóa là vấn đề cần thiết.
Việc quản lý tài nguyên trong nền tảng máy chủ chia sẻ như đã trình bày trongMục 1.7.1 được các nhà chuyên môn quan tâm, thể hiện trong các công trình tiêu biểu[109], [2], [100], [99], [94] Trong đó:
- Urgaonkar [109] đưa ra kỹ thuật thống kê việc sử dụng tài nguyên và nhu cầutài nguyên tối thiểu, Aron [2] hay Mark Stillwell [100] trình bày mô hình bài toáncung cấp tài nguyên tối ưu từ nền tảng máy chủ chia sẻ đồng nhất và chỉ xem xét tàinguyên CPU của máy tính (máy vật lý và máy ảo) Thực tế, tài nguyên máy tính baogồm nhiều loại [99], như: CPU, RAM, Disk,
- Trong các công bố trên đây, các tác giả thường sử dụng thuật toán Firt FitDecreasing (FFD ) để ước lượng bài toán cung cấp tài nguyên cho dịch vụ ảo hóa Tuynhiên, Thomas Setzer [94] cho rằng thuật toán này có xu hướng dẫn đến lãng phí tàinguyên
Vì vậy, nghiên cứu cải tiến mô hình cung cấp tài nguyên cho dịch vụ ảo hóa vớimục tiêu tối thiểu số lượng máy vật lý cần dùng thì phải xét trên nhiều loại tài nguyên(còn gọi là tài nguyên đa chiều - Multi Dimensional Resource) Đề xuất thuật toán đểgiải và so sánh với thuật toán FFD là cần thiết
1.7.3 Mô hình cung cấp tài nguyên cho dịch vụ ảo hóa với mục
tiêu tối thiểu năng lượng tiêu thụ
Bài toán cung cấp tài nguyên từ nền tảng máy chủ chia sẻ đồng nhất phù hợp vàothời điểm ban đầu xây dựng trung tâm dữ liệu Tức là, qua thời gian có thể một sốlượng máy vật lý cần thay thế và cấu hình máy thay thế có thể khác máy hiện có Nềntảng máy chủ chia sẻ đồng nhất trở thành nền tảng máy chủ chia sẻ không đồng nhất.Theo thống kê của tác giả Koomey [62], năng lượng tiêu thụ tại các trung tâm dữliệu vào năm 2010 chiếm từ 1, 1% đến 1, 5% trong tổng số năng lượng tiêu thụ của tất
cả lĩnh vực trên thế giới, trong đó các thiết bị công nghệ thông tin tiêu thụ 40% nănglượng của trung tâm dữ liệu [24] Hơn nữa, nhu cầu sử dụng các máy vật lý để cungcấp tài nguyên cho dịch vụ ảo hóa tại các trung tâm dữ liệu ngày càng tăng Dẫn đến,việc tăng năng lượng tiêu thụ tại các trung tâm dữ liệu và làm tăng khả năng xảy ralỗi phần cứng [37], ảnh hưởng đến tính sẵn sàng, độ tin cậy và năng suất hoạt độngcủa hệ thống Bên cạnh đó, việc tăng năng lượng tiêu thụ sẽ làm tăng khí thải CO2
và có thể trở thành mối đe dọa đối với môi trường sống [44]
Do đó, việc giảm thiểu tiêu thụ năng lượng khi cung cấp tài nguyên cho dịch vụ