Nghiên cứu môi trường mô phỏng điện toán đám mây CloudSim, bao gồm các thành phần cấu thành như: Trung tâm dữ liệu Datacenter, máy chủ host, máy ảo Virtual machines, ứng dụng application
Trang 1TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
DƯƠNG CÔNG HIẾU
KỸ THUẬT DI TRÚ MÁY ẢO TRONG ĐIỆN TOÁN ĐÁM MÂY
Chuyên ngành : Khoa Học Máy Tính
Mã số chuyên ngành : 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS NGUYỄN HỒNG SƠN
TP HỒ CHÍ MINH – NĂM 2014
Trang 2CHUẨN Y CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN
Luận văn tựa đề : “Kỹ Thuật Di Trú Máy Ảo Trong Điện Toán Đám Mây” công trình được Dương Công Hiếu thực hiện và nộp nhằm thoả một phần yêu cầu tốt nghiệp thạc sĩ chuyên ngành Khoa Học Máy Tính
Ngày 03 tháng 09 năm 2014 Trưởng khoa Công nghệ Thông tin
Học viện Công nghệ Bưu Chính Viễn Thông
cơ sở TP HCM
Ngày 03 tháng 09 năm 2014
Ngày bảo vệ luận văn, Tp HCM, Ngày 24 tháng 08 năm 2014
Viện Đào Tạo Sau Đại Học
Trang 3
LÝ LỊCH CÁ NHÂN
Tôi tên là Dương Công Hiếu sinh ngày 10/04/1984 tại thành phố Hồ Chí Minh
Tốt nghiệp THPT tại Trường THPT Gò Đen, năm 2003
Quá trình công tác :
Từ 02/2008 đến 03/2014 công tác tại trường Cao đẳng Kinh Tế - Kỹ Thuật Sài Gòn
Từ 03/2014 đến nay công tác tại trường Cao đẳng Đại Việt Sài Gòn
Địa chỉ liên lạc : Số nhà 48 Lô 2, ấp 7B, xã Mỹ Yên, huyện Bến Lức, tỉnh Long An Điện thoại : 0938 391 888
Email : monitorconghieu@yahoo.com
Trang 4LỜI CAM ĐOAN
Tôi cam đoan rằng luận văn: Kỹ Thuật Di Trú Máy Ảo Trong Điện Toán Đám Mây là bài nghiên cứu của chính tôi
Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tôi cam đoan rằng toàn phần hay những phần nhỏ của luận văn này chưa từng được công bố hay được sử dụng để nhận bằng cấp ở những nơi khác
Không có sản phẩm/nghiên cứu nào của người khác được sử dụng trong luận văn này mà không được trích dẫn theo đúng quy định
Luận văn này chưa bao giờ được nộp để nhận bất kỳ bằng cấp nào tại các trường đại học hoặc cơ sở đào tạo khác
TP HCM, ngày 26 tháng 07 năm 2014
Tác giả luận văn
Dương Công Hiếu
Trang 5LỜI CẢM ƠN
Sau hơn mười hai tháng thực hiện đề tài, bên cạnh sự nỗ lực của cá nhân, tôi còn nhận được sự hỗ trợ nhiệt tình từ thầy hướng dẫn, các đồng nghiệp và bạn bè Điều này đã giúp tôi rất nhiều trong việc bắt kịp tiến độ đã đề ra và hoàn thiện hơn
đề tài của mình
Tôi xin được gửi lời cám ơn chân thành nhất đến thầy TS Nguyễn Hồng Sơn
- giảng viên hướng dẫn trực tiếp đề tài - là người đã luôn theo dõi sát sao, cung cấp tài liệu, cũng như góp ý, sửa chữa những sai sót của tôi trong suốt quá trình thực hiện
và tôi cũng xin gửi lời cám ơn chân thành đến:
Các thầy cô trong khoa sau Đại học, trường Đại học Quốc Tế Hồng Bàng đã tận tâm giảng dạy trong suốt quá trình học, trang bị cho tôi những kiến thức nền tảng và khả năng nghiên cứu;
Các bạn đồng nghiệp đã gánh vác một phần công việc;
Gia đình và bạn bè thân thiết đã luôn quan tâm, động viên tôi trong những lúc khó khăn nhất
Dương Công Hiếu
Trang 6TÓM TẮT
Điện toán đám mây cung cấp dịch vụ công nghệ thông tin theo hướng tiện ích đến người dùng trên toàn thế giới Dựa trên một mô hình pay-as- you-go, nó cho phép lưu trữ các ứng dụng phổ biến từ nhiều người dùng khác nhau Tuy nhiên, trung tâm dữ liệu đám mây tiêu thụ một lượng lớn năng lượng điện dẫn đến chi phí vận hành cao và thải ra lượng lớn khí carbon dioxide (CO2) đối với môi trường Vì vậy, chúng ta cần có giải pháp điện toán đám mây xanh không chỉ có thể giảm thiểu chi phí hoạt động mà còn làm giảm tác động đến môi trường
Trong đề tài này, trình bày các công nghệ điện toán đám mây; công nghệ ảo hóa; nguyên lý và mô hình điện toán đám mây; các thuật toán di trú máy ảo trong điện toán đám mây Mục đích là để cải thiện việc sử dụng các tài nguyên tính toán dựa trên QoS và giảm tiêu thụ năng lượng trong các trung tâm dữ liệu Các kết quả của đề tài được mô phỏng trong môi trường mô phỏng điện toán đám mây CloudSim Kết quả chứng minh rằng mô hình điện toán đám mây có nhiều tiềm năng lớn vì nó mang lại lợi ích đáng kể cho cả nhà cung cấp tài nguyên đám mây và người tiêu dùng Đồng thời, nó cũng chứng minh khả năng cải thiện hiệu quả năng lượng tiêu thụ cao theo các kịch bản khối lượng công việc động
Trang 7ABSTRACT
Cloud computing offers utility-oriented IT services to users worldwide Based
on a pay-as-you-go model, it allows storage of popular applications from many different users However, cloud data centers consume large amounts of electrical power resulting in high operational costs and emit large amounts of carbon dioxide (CO2) to the environment Therefore, we need solutions to green cloud computing can not only reduce operational costs but also reduce environmental impact
In this topic, presenting the cloud computing technology; virtualization technology; principles and cloud computing models; the virtual machine migration algorithm in cloud computing The aim is to improve the use of computational resources based on QoS and reduction of energy consumption in the data center The results of the study are modeled in the simulation environment CloudSim cloud The results demonstrate that cloud computing model has immense potential as it offers significant benefits for both resource providers and cloud consumers At the same time, it also demonstrated high ability in improving the efficiency of energy consumption scenarios dynamic workloads
Trang 8MỤC LỤC
LÝ LỊCH CÁ NHÂN i
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
TÓM TẮT iv
ABSTRACT v
MỤC LỤC vi
DANH MỤC HÌNH VẼ viii
DANH MỤC HÌNH BẢNG ix
DANH MỤC CÁC CHỮ VIẾT TẮT xi
Chương 1 GIỚI THIỆU 1
1.1 Lý do chọn đề tài: 1
1.2 Tình hình nghiên cứu gần đây 3
1.3 Mục tiêu của luận văn 6
1.4 Đối tượng và phạm vi nghiên cứu 7
1.5 Phương pháp nghiên cứu 7
Chương 2 TỔNG QUAN HỆ THỐNG ĐIỆN TOÁN ĐÁM MÂY VÀ DI TRÚ MÁY ẢO 8
2.1 Tổng quan về điện toán đám mây 8
2.1.1 Định nghĩa điện toán đám mây 8
2.1.2 Thiết kế lớp 9
2.1.3 Federation đám mây 11
2.2 Tổng quan về công nghệ ảo hóa 14
2.2.1 Tổng quan về công nghệ ảo hóa 14
2.2.2 Phân tầng trong kiến trúc ảo hóa 16
2.3 Tổng quan về di trú máy ảo trong điện toán đám mây 19
2.3.1 Mục tiêu của di trú: 20
2.3.2 Các kỹ thuật di trú máy ảo: 21
Chương 3 THUẬT TOÁN RA QUYẾT ĐỊNH DI TRÚ MÁY ẢO 25
3.1 Giới thiệu 25
3.2 Mô hình hệ thống 26
Trang 93.3 Kiến trúc CPU Multi-Core 28
3.4 Mô hình điện năng 28
3.5 Chi phí cho di trú máy ảo 29
3.6 Số liệu vi phạm SLA 30
3.7 Các thuật toán trong di trú máy ảo 31
3.7.1 Chọn máy ảo để di trú 32
3.7.2 Chọn máy chủ vật lý để di trú máy ảo đến 34
Chương 4 ĐỀ XUẤT THUẬT TOÁN CHỌN MÁY ẢO ĐỂ DI TRÚ CẢI TIẾN 36
4.1 Giới thiệu 36
4.2 Phân tích 37
4.3 Thuật toán chọn máy ảo để di trú được đề xuất 38
Chương 5 MÔ PHỎNG VÀ ĐÁNH GIÁ THUẬT TOÁN CHỌN MÁY ẢO ĐƯỢC ĐỀ XUẤT 40
5.1 Giới thiệu 40
5.2 Mô phỏng 41
5.2.1 Tham số hệ thống 41
5.2.2 Các kịch bản mô phỏng và kết quả 43
5.2.3 Phân tích và đánh giá kết quả mô phỏng 54
KẾT LUẬN VÀ KIẾN NGHỊ 55
Kết luận 55
Kiến nghị hướng nghiên cứu tiếp theo 56
Trang 10DANH MỤC HÌNH VẼ
Hình 1.1 Tổng quan về hệ thống 2
Hình 2.1 Kiến trúc phân tầng điện toán đám mây 10
Hình 2.2 Đám mây và mạng federated 12
Hình 2.3 Các lớp trong kiến trúc ảo hóa 16
Hình 2.4 Kịch bản cân bằng tải và consolidation máy chủ 21
Hình 3.1 Di trú máy ảo 26
Hình 3.2 Mô hình hệ thống 27
Hình 5.1 Biểu đồ so sánh số lượng máy ảo di trú của ba thuật toán 52
Hình 5.2 Biểu đồ so sánh số lượng vi phạm SLA của ba thuật toán 53
Hình 5.3 Biểu đồ so sánh điện năng tiêu thụ của ba thuật toán 53
Trang 11DANH MỤC HÌNH BẢNG
Bảng 2.1 Thời gian trung bình được thực hiện bởi di trú quick 22
Bảng 3.1 Điện năng tiêu thụ khi chọn server với các mức tải khác nhau 29
Bảng 4.1 Một số kịch bản trên host quá tải 37
Bảng 5.1 Giá trị tham số thiết lập đám mây 42
Bảng 5.2 Giá trị tham số thiết lập cấu hình các host 42
Bảng 5.3 Giá trị tham số thiết lập cấu hình các máy ảo 43
Bảng 5.4 Kết quả mô phỏng kịch bản 1-Cải tiến 43
Bảng 5.5 Kết quả mô phỏng kịch bản 1- Minimum Migration Time 43
Bảng 5.6 Kết quả mô phỏng kịch bản 1- Random 44
Bảng 5.7 Kết quả mô phỏng kịch bản 1 44
Bảng 5.8 Kết quả mô phỏng kịch bản 2-Cải tiến 44
Bảng 5.9 Kết quả mô phỏng kịch bản 2- Minimum Migration Time 44
Bảng 5.10 Kết quả mô phỏng kịch bản 2- Random 45
Bảng 5.11 Kết quả mô phỏng kịch bản 2 45
Bảng 5.12 Kết quả mô phỏng kịch bản 3-Cải tiến 45
Bảng 5.13 Kết quả mô phỏng kịch bản 3- Minimum Migration Time 45
Bảng 5.14 Kết quả mô phỏng kịch bản 3- Random 46
Bảng 5.15 Kết quả mô phỏng kịch bản 3 46
Bảng 5.16 Kết quả mô phỏng kịch bản 4-Cải tiến 46
Bảng 5.17 Kết quả mô phỏng kịch bản 4- Minimum Migration Time 46
Bảng 5.18 Kết quả mô phỏng kịch bản 4- Random 47
Bảng 5.19 Kết quả mô phỏng kịch bản 4 47
Bảng 5.20 Kết quả mô phỏng kịch bản 5-Cải tiến 47
Bảng 5.21 Kết quả mô phỏng kịch bản 5- Minimum Migration Time 47
Bảng 5.22 Kết quả mô phỏng kịch bản 5- Random 48
Bảng 5.23 Kết quả mô phỏng kịch bản 5 48
Bảng 5.24 Kết quả mô phỏng kịch bản 6-Cải tiến 48
Trang 12Bảng 5.25 Kết quả mô phỏng kịch bản 6- Minimum Migration Time 48
Bảng 5.26 Kết quả mô phỏng kịch bản 6- Random 49
Bảng 5.27 Kết quả mô phỏng kịch bản 6 49
Bảng 5.28 Kết quả mô phỏng kịch bản 7-Cải tiến 49
Bảng 5.29 Kết quả mô phỏng kịch bản 7- Minimum Migration Time 49
Bảng 5.30 Kết quả mô phỏng kịch bản 7- Random 50
Bảng 5.31 Kết quả mô phỏng kịch bản 7 50
Bảng 5.32 Kết quả mô phỏng kịch bản 8-Cải tiến 50
Bảng 5.33 Kết quả mô phỏng kịch bản 8- Minimum Migration Time 50
Bảng 5.34 Kết quả mô phỏng kịch bản 8- Random 51
Bảng 5.35 Kết quả mô phỏng kịch bản 8 51
Bảng 5.36 Số lượng máy ảo di trú 51
Bảng 5.37 Số lượng vi phạm SLA 51
Bảng 5.38 Điện năng tiêu thụ 52
Trang 13DANH MỤC CÁC CHỮ VIẾT TẮT
VMM Virtual Machine Monitor Phần mềm giám sát máy ảo
KVM Kernel-based Virtual Machine
SLA Service-Level Agreement Thỏa thuận cấp độ dịch vụ
NAS Network Attached Storage
CIS Cloud Information Service Dịch vụ thông tin đám mây IaaS Infrastructure as a Service Cơ sở hạ tầng như dịch vụ
dụng MIPS Millions Instructions Per Second Triệu chỉ thị trên giây
MBFD Modified Best Fit Decreasing
LLC Limited Lookahead Control
CDNs Content Delivery Networks Mạng phân phối nội dung DVFS Dynamic Voltage and Frequency
Scaling
HPC High Performance Computing Tính toán hiệu suất cao OTF Overload Time Fraction Tỷ lệ thời gian quá tải PDM Performance Degradation due to
Trang 14DPM Distributed Power Management Quản lý năng lượng phân
phối
IT Green Information Technologies Green Công nghệ thông tin thân
thiện với môi trường
Amazon EC2 Amazon Elastic Compute Cloud Nền tảng điện toán đám mây
của Amazon
của Mircrosoft
est estimated start time Thời gian bắt đầu dự kiến
eft(p) Estimated finish time of a task p Thời gian hoàn thành tác vụ p
tử xử lý
yêu cầu bởi tác vụ p
Trang 15mà không cần quan tâm đến cơ sở hạ tầng mức thấp Bằng cách kết hợp công nghệ
ảo hóa và di trú máy ảo giúp cho các mức độ tiện ích có thể được nâng cao và giảm chi phí đáng kể trong khi tốc độ phát triển của các ứng dụng được gia tăng
Sự gia tăng của điện toán đám mây đã dẫn đến việc thành lập các trung tâm
dữ liệu quy mô lớn trên toàn thế giới có hàng ngàn máy chủ tính toán Tuy nhiên, trung tâm dữ liệu đám mây tiêu thụ một lượng lớn năng lượng điện dẫn đến chi phí vận hành cao và thải ra lượng lớn khí carbon dioxide (CO2) đối với môi trường Hơn nữa, lượng khí thải carbon dioxide của ngành công nghiệp công nghệ thông tin hiện đang ước tính là 2% lượng khí thải toàn cầu, tương đương với lượng khí thải của ngành công nghiệp hàng không [19] và đáng kể góp phần vào hiệu ứng nhà kính Như dự kiến bởi Koomey [24], tiêu thụ năng lượng tại các trung tâm dữ liệu sẽ tiếp tục phát triển nhanh chóng trừ khi các giải pháp quản lý tài nguyên năng lượng hiệu quả tiên tiến được phát triển và áp dụng
Trang 16Global resource managers
Consumer, scientific and business applications
Virtualization layer(VMMs, local resources managers)
lý theo yêu cầu nguồn tài nguyên hiện tại của họ Tuy nhiên, quản lý hiệu quả nguồn
Trang 17tài nguyên trong đám mây là không dễ dàng vì các ứng dụng dịch vụ hiện tại thường
có khối lượng công việc rất khác nhau gây ra mô hình sử dụng tài nguyên động Do
đó, tập hợp các máy ảo có thể dẫn đến suy giảm hiệu suất khi một ứng dụng gặp phải một nhu cầu ngày càng tăng dẫn đến một sự gia tăng bất ngờ của việc sử dụng tài nguyên Nếu các yêu cầu tài nguyên của ứng dụng không được thực hiện, các ứng dụng có thể phải đối mặt với thời gian đáp ứng tăng lên Đảm bảo chất lượng của dịch vụ (QoS) xác định thông qua SLAs được thiết lập giữa các nhà cung cấp đám mây và khách hàng của họ là điều cần thiết cho môi trường điện toán đám mây Do
đó, các nhà cung cấp đám mây phải đối phó với các vấn đề cân bằng hiệu suất, giảm thiểu năng lượng tiêu thụ, trong khi vẫn đáp ứng các SLA
Từ nhu cầu thực tiễn đó, việc nghiên cứu các kỹ thuật chọn máy ảo để di trú trong điện toán đám mây giúp giải quyết được các vấn đề về nâng cao chất lượng dịch vụ(QoS), tiết kiệm điện năng tiêu thụ tại các trung tâm dữ liệu
1.2 Tình hình nghiên cứu gần đây
Một trong những công trình đầu tiên là quản lý điện năng được áp dụng trong trung tâm dữ liệu ảo hóa, được thực hiện bởi Nathuji và Schwan [35] Các tác giả đã
đề xuất một kiến trúc cho hệ thống quản lý tài nguyên của trung tâm dữ liệu, nó được chia thành hai chính sách cục bộ và toàn cục Ở cấp cục bộ hệ thống đưa ra các chiến lược quản lý điện năng của hệ điều hành khách Người quản lý toàn cục nhận thông tin về phân bổ nguồn tài nguyên hiện tại từ các nhà quản lý cục bộ và áp dụng chính sách của mình để quyết định vị trí máy ảo cần phải được điều chỉnh Tuy nhiên, các tác giả đã không đề xuất một chính sách cụ thể để quản lý tài nguyên tự động ở cấp
độ toàn cục
Trong [14], Kusic và cộng sự đã xác định các vấn đề quản lý điện năng trong môi trường không đồng nhất ảo hóa như là tối ưu hóa trình tự và giải quyết nó bằng cách sử dụng Limited Lookahead Control (LLC) Mục tiêu là để tối đa hóa lợi nhuận cho nhà cung cấp tài nguyên bằng cách giảm thiểu cả hai vấn đề tiêu thụ điện năng
và vi phạm SLA Bộ lọc Kalman được áp dụng để ước tính số lượng yêu cầu trong tương lai để dự đoán trạng thái tương lai của hệ thống và thực hiện tái phân bổ cần thiết Tuy nhiên, trái ngược với phương pháp phỏng đoán dựa trên mô hình đề xuất
Trang 18yêu cầu học tập dựa trên mô phỏng cho các điều chỉnh ứng dụng cụ thể, mà không thể được thực hiện bởi cơ sở hạ tầng như dịch vụ (IaaS) được cung cấp như Amazon EC2 Hơn nữa, do các mô hình phức tạp nên thời gian thực hiện của bộ điều khiển tối ưu hóa chỉ đạt đến 30 phút ngay cả đối với 15 máy chủ, nó không phù hợp với quy mô hệ thống lớn trong thực tế Ngược lại, cách tiếp cận dựa trên phỏng đoán, mà không yêu cầu mô phỏng dựa trên học tập trước khi triển khai ứng dụng và cho phép đạt được hiệu suất cao ngay cả đối với một quy mô lớn
Trong [40], Srikantaiah và cộng sự đã nghiên cứu các vấn đề về yêu cầu lập lịch cho nhiều tầng ứng dụng web trong hệ thống không đồng nhất ảo hóa để giảm thiểu tiêu thụ năng lượng, trong khi đáp ứng yêu cầu thực hiện Các tác giả đã nghiên cứu tác động của suy giảm hiệu suất sử dụng cao do các nguồn tài nguyên khác nhau khi khối lượng công việc được hợp nhất Để xử lý tối ưu hóa trên nhiều nguồn tài nguyên, các tác giả đã đề xuất phân tích các vấn đề đóng gói bin đa chiều như một thuật toán cho việc tập hợp khối lượng công việc Tuy nhiên, phương pháp đề xuất là loại khối lượng công việc và phụ thuộc vào ứng dụng Cardosa et al [31] đã đề xuất một cách tiếp cận đối với vấn đề phân bổ năng lượng hiệu quả của máy ảo trong các môi trường không đồng nhất ảo hóa Họ đã sử dụng các thông số min, max và tham
số chia sẽ của Xen’s VMM, đại diện cho mức tối thiểu, tối đa và tỷ lệ của CPU phân
bổ cho máy ảo chia sẻ cùng một tài nguyên Tuy nhiên, cách tiếp cận chỉ phù hợp với môi trường doanh nghiệp vì nó không hỗ trợ chặt chẽ SLAs và đòi hỏi phải có sự hiểu biết về các ưu tiên ứng dụng để xác định các tham số chia sẽ Hạn chế khác là việc phân bổ các máy ảo là không phù hợp tại thời gian chạy (phân bổ là tĩnh)
Trong [7], Verma và công sự đã trình bày các vấn đề về vị trí động của máy
ảo power-aware của các ứng dụng trong các hệ thống không đồng nhất ảo hóa là tối
ưu hóa liên tục: tại mỗi khung thời gian, vị trí của máy ảo được tối ưu hóa để giảm thiểu tiêu thụ điện năng và tối đa hóa hiệu suất Giống như trong [40], các tác giả đã
áp dụng để phân tích cho các vấn đề đóng gói bin với các biến kích thước của bin và chi phí Tương tự như [35], di trú live máy ảo được sử dụng để đạt được một vị trí mới tại mỗi khung thời gian Các thuật toán đề xuất nhưng không hỗ trợ SLAs: hiệu suất của các ứng dụng có thể bị suy giảm do sự thay đổi khối lượng công việc Trong
Trang 19nghiên cứu gần đây [6], Verma và cộng sự đã đề xuất phân chia chiến lược tập hợp máy ảo ở dạng tĩnh (hàng tháng, hàng năm), bán tĩnh (hàng ngày, hàng tuần) và tập hợp động (hàng phút, hàng giờ) Các tác giả đã tập trung vào các kỹ thuật tập hợp tĩnh và bán tĩnh, các loại tập hợp đó dễ dàng được thực hiện trong môi trường doanh nghiệp Gandhi và cộng sự [5] đã điều tra các vấn đề về phân bổ ngân sách năng lượng có sẵn của các máy chủ trong một khu mà máy chủ ảo hóa không đồng nhất, trong khi giảm thiểu thời gian đáp ứng trung bình Để điều tra tác động của các yếu
tố khác nhau về thời gian đáp ứng trung bình, một mô hình lý thuyết hàng đợi đã được giới thiệu, cho phép dự đoán về thời gian đáp ứng trung bình như một chức năng của các mối quan hệ power-to-frequency, tỷ lệ xuất hiện, ngân sách điện năng cao, Mô hình này được sử dụng để xác định việc phân bổ điện năng tối ưu cho tất
cả các cấu hình không đồng nhất
Trong [20], [21], Jung và cộng sự đã điều tra các vấn đề về tập hợp động máy
ảo đang chạy nhiều tầng ứng dụng web sử dụng di trú live, trong khi vẫn đáp ứng yêu cầu SLA Các yêu cầu SLA được mô hình hóa như ước tính trước thời gian đáp ứng cho từng loại giao dịch cụ thể cho các ứng dụng web Một vị trí máy ảo mới được sinh ra sử dụng đóng gói bin và kỹ thuật tìm kiếm độ chênh lệch Tuy nhiên, phương pháp này chỉ có thể được áp dụng cho một thiết lập ứng dụng web duy nhất
Do đó, không thể được sử dụng cho môi trường IaaS nhiều người thuê Zhu và cộng
sự [48] đã nghiên cứu một vấn đề tương tự như phân bổ nguồn tài nguyên tự động và lập kế hoạch công suất Họ đã đề xuất ba bộ điều khiển riêng mỗi bộ hoạt động ở quy mô thời gian khác nhau: quy mô thời gian dài nhất (từ giờ đến ngày); quy mô thời gian ngắn hơn (phút) và quy mô thời gian ngắn nhất (giây) Ba bộ điều khiển đặt khối lượng công việc tương thích lên các nhóm máy chủ, đáp ứng với điều kiện thay đổi của tái phân bổ máy ảo và phân bổ nguồn tài nguyên cho các máy ảo trong máy chủ để đáp ứng các SLA
Trong [42], Kumar và cộng sự đã đề xuất một cách tiếp cận tập hợp máy ảo động dựa trên ước tính của sự ổn định xác suất mà tái phân bổ máy ảo được đề xuất
sẽ vẫn có hiệu lực trong một thời gian tương lai Dự báo nhu cầu nguồn tài nguyên tương lai của các ứng dụng được thực hiện bằng cách sử dụng chức năng mật độ xác
Trang 20suất thời gian khác nhau Vấn đề là các tác giả cho rằng các thông số của phân phối, chẳng hạn như trung bình và độ lệch tiêu chuẩn Các tác giả cho rằng việc sử dụng nguồn tài nguyên sau phân phối là bình thường, trong khi nhiều nghiên cứu [34], [16], [23] đã chỉ ra rằng sử dụng tài nguyên của ứng dụng phức tạp hơn và không thể
sử dụng được mô hình phân bố xác suất đơn giản Berral và cộng sự [25] đã nghiên cứu các vấn đề tập hợp động máy ảo chạy các ứng dụng với thời gian được thiết lập trong các SLA Sử dụng kỹ thuật máy học họ đã tối ưu hóa sự kết hợp của tiêu thụ năng lượng và thực hiện SLA Phương pháp đề xuất được thiết kế cho môi trường cụ thể, chẳng hạn như High Performance Computing (HPC), đó là nơi mà các ứng dụng
có những hạn chế về thời hạn Vì vậy, một cách tiếp cận như vậy là không phù hợp cho các môi trường với khối lượng công việc khác nhau
1.3 Mục tiêu của luận văn
Mục tiêu của luận văn là nghiên cứu các kỹ thuật chọn máy ảo để di trú trong môi trường điện toán đám mây Các vấn đề cần nghiên cứu trong di trú máy ảo gồm:
Khi nào di trú máy ảo (1) di trú máy ảo từ máy chủ bị quá tải để tránh suy giảm hiệu suất dịch vụ; (2) di trú máy ảo từ máy chủ dưới tải để cải thiện việc
sử dụng các nguồn tài nguyên và giảm thiểu tiêu thụ năng lượng Một quyết định quan trọng là phải xác định thời gian tốt nhất để di trú máy ảo để giảm thiểu tiêu thụ năng lượng, trong khi vẫn đáp ứng các ràng buộc về QoS
Chọn máy ảo nào để di trú Một khi quyết định di trú máy ảo từ một máy chủ được thực hiện, nó là cần thiết để chọn một hoặc nhiều máy ảo từ danh sách máy ảo được phân bổ cho các máy chủ Vấn đề là xác định máy ảo nào để di trú mà có lợi cho hệ thống nhất
Nơi để các máy ảo di trú đến Xác định điểm đến tốt nhất cho các máy ảo hoặc các máy ảo chọn để di trú đến các máy chủ khác là một khía cạnh thiết yếu ảnh hưởng đến chất lượng dịch vụ và mức tiêu thụ năng lượng của hệ thống
Khi nào và máy chủ nào được bật/ tắt Để tối ưu hóa tiêu thụ năng lượng của
hệ thống và tránh vi phạm các yêu cầu QoS, nó là cần thiết để xác định hiệu quả khi nào thì các máy chủ nên bị ngừng hoạt động để tiết kiệm năng lượng
Trang 21khi nào thì kích hoạt để xử lý do gia tăng nhu cầu đối với các nguồn tài nguyên
Nghiên cứu cài đặt và đánh giá thuật toán chọn máy ảo để di trú dùng bộ thư viện CloudSim
Đề xuất thuật toán mới và thực nghiệm qua mô phỏng
1.4 Đối tượng và phạm vi nghiên cứu
Nghiên cứu công nghệ điện toán đám mây,
Nghiên cứu nguyên lý và mô hình điện toán đám mây,
Nghiên cứu các thuật toán xác định host quá tải, host dưới tải, host cho máy
ảo di trú tới, chọn máy ảo để di trú trong điện toán đám mây
Nghiên cứu môi trường mô phỏng điện toán đám mây CloudSim, bao gồm các thành phần cấu thành như: Trung tâm dữ liệu (Datacenter), máy chủ (host), máy ảo (Virtual machines), ứng dụng (application), người dùng, nguồn tài nguyên tính toán, thuật toán lập lịch, thuật toán xác định host quá tải, thuật toán xác định host dưới tải, thuật toán xác định vị trí mới cho máy ảo khi di trú, thuật toán chọn máy ảo để di trú
và các chính sách sắp xếp và cân bằng tải của hệ thống,
1.5 Phương pháp nghiên cứu
Tiến hành phân tích lý thuyết của các thuật toán di trú máy ảo, kết hợp thực nghiệm trong môi trường mô hình và mô phỏng điện toán đám mây CloudSim Từ những phân tích và thực nghiệm như trên đưa ra thuật toán đề xuất và đánh giá nó
Trang 22Chương 2
TỔNG QUAN VỀ HỆ THỐNG ĐIỆN
TOÁN ĐÁM MÂY VÀ DI TRÚ MÁY ẢO
2.1 Tổng quan về điện toán đám mây
2.1.1 Định nghĩa điện toán đám mây
Điện toán đám mây có thể được định nghĩa là "một loại hệ thống song song và phân phối bao gồm một tập hợp các máy tính được kết nối và ảo hóa được tự động cấp quyền và trình bày như là một hoặc nhiều tài nguyên máy tính thống nhất dựa trên các thỏa thuận cấp độ dịch vụ được thiết lập thông qua thương lượng giữa nhà cung cấp dịch vụ và người tiêu dùng "[36] Một số ví dụ về cơ sở hạ tầng điện toán đám mây là Microsoft Azure [13], Amazon EC2, Google App Engine và Aneka [10]
Một ý nghĩa của nền tảng điện toán đám mây là khả năng tự động điều chỉnh (quy mô tăng hoặc giảm) số lượng tài nguyên được cung cấp cho một ứng dụng để tham gia vào sự thay đổi theo nhu cầu của người dùng Khả năng này của các đám mây là đặc biệt hữu ích cho sự linh hoạt (tự động mở rộng quy mô) các ứng dụng, chẳng hạn như máy chủ web, phân phối nội dung và các mạng xã hội rất nhạy cảm với hành vi như vậy
Các ứng dụng này thường biểu hiện trong thời gian ngắn và có yêu cầu QoS khác nhau tùy thuộc vào thời gian tới hạn và các mẫu tương tác của người sử dụng (online/ offline) Do đó, sự phát triển của các kỹ thuật cung cấp tài nguyên động để đảm bảo rằng các ứng dụng đạt được QoS trong điều kiện thời gian ngắn là cần thiết
Mặc dù đám mây ngày càng được xem như là nền tảng có thể hỗ trợ cho các ứng dụng đàn hồi nhưng nó phải đối mặt với những hạn chế nhất định liên quan đến các vấn đề cốt lõi như quyền sở hữu, quy mô và cục bộ Ví dụ, một đám mây chỉ có thể cung cấp một số hạn chế về khả năng lưu trữ (các máy ảo và máy chủ tính toán) với các dịch vụ ứng dụng tại một trường hợp thời gian nhất định, do đó nhân rộng khả năng ứng dụng vượt ra ngoài một mức độ nhất định thì nó trở nên phức tạp Vì
Trang 23vậy, trong những trường hợp mà số lượng yêu cầu vượt quá khả năng của điện toán đám mây, ứng dụng lưu trữ trong một đám mây có thể thỏa thuận về tổng thể QoS cung cấp cho người sử dụng Một giải pháp cho vấn đề này là liên mạng nhiều đám mây như là một phần của federation và phát triển thế hệ tiếp theo của kỹ thuật cung cấp động có thể được hưởng lợi từ kiến trúc này Như federation của các đám mây phân phối theo địa lý có thể được hình thành dựa trên các thỏa thuận trước đó giữa
họ, để đối phó hiệu quả với sự thay đổi nhu cầu dịch vụ Cách tiếp cận này cho phép cung cấp các ứng dụng trên nhiều đám mây là thành viên của federation Điều này hỗ trợ hơn nữa trong việc thực hiện hiệu quả sử dụng SLA thông qua di trú trong suốt trong trường hợp dịch vụ ứng dụng đám mây liên bang
Một mô hình điện toán đám mây lai là một sự kết hợp của các đám mây riêng với đám mây công cộng Đám mây riêng và công cộng chủ yếu khác nhau về các loại quyền sở hữu và quyền truy cập mà họ hỗ trợ Truy cập vào các nguồn tài nguyên điện toán đám mây riêng bị hạn chế cho những người sử dụng thuộc tổ chức
sở hữu các đám mây Mặt khác, các nguồn tài nguyên điện toán đám mây công cộng
là có sẵn trên Internet cho bất kỳ người sử dụng quan tâm dưới mô hình
pay-as-you-go Do đó, các doanh nghiệp vừa và nhỏ và các chính phủ đã bắt đầu khám phá dịch
vụ cung cấp theo nhu cầu của đám mây công cộng cùng với cơ sở hạ tầng máy tính hiện tại của họ (đám mây riêng) để xử lý các sự thay đổi về thời gian trong nhu cầu dịch vụ của họ Mô hình này đặc biệt có lợi cho doanh nghiệp nhỏ và các ngân hàng cần sức mạnh tính toán lớn duy nhất tại một thời điểm cụ thể trong ngày (như xử lý back-office, phân tích giao dịch) Tuy nhiên, viết phần mềm và phát triển các kỹ thuật cung cấp ứng dụng cho một số mô hình điện toán đám mây như: công cộng, riêng tư, lai hoặc federated là một công việc phức tạp Có một số thách thức quan trọng liên quan đến cung cấp các ứng dụng trên đám mây: phát hiện dịch vụ, theo dõi, triển khai các máy ảo và các ứng dụng, cân bằng tải giữa những người dùng
2.1.2 Thiết kế lớp
Hình 2.1 cho thấy thiết kế lớp của kiến trúc điện toán đám mây Tài nguyên đám mây vật lý cùng với khả năng core middleware hình thành cơ sở cho việc cung cấp IaaS và PaaS User-level middleware nhằm cung cấp khả năng SaaS Lớp trên
Trang 24cùng tập trung vào các dịch vụ ứng dụng (SaaS) bằng cách sử dụng dịch vụ được cung cấp bởi các dịch vụ hạ tầng Dịch vụ PaaS/SaaS thường được phát triển và cung cấp bởi các nhà cung cấp dịch vụ bên thứ 3, những người khác nhau từ các nhà cung cấp IaaS[36]
Cloud applications Social computing, Enterprise, ISV, Scientific, CDNs,
Cloud programming: environments and tools Web 2.0 Interfaces, Mashups, Concurrent and Distributed Programming, Workflows, Libraries, Scripting
QoS Negotiation, Admission Control, Pricing, SLA Management, Monitoring, Execution Management, Metering, Accounting, Billing
Virtual Machine(VM), VM Management and Deployment
Apps Hosting Platforms
Hình 2.1 Kiến trúc phân tầng điện toán đám mây[43]
Cloud Application: Lớp này bao gồm các ứng dụng liên quan trực tiếp có sẵn
cho người dùng cuối Chúng ta xác định người sử dụng cuối là thực thể hoạt động
mà sử dụng các ứng dụng SaaS thông qua Internet Các ứng dụng này có thể được cung cấp bởi các nhà cung cấp đám mây (nhà cung cấp SaaS) và truy cập bởi người dùng cuối cùng hoặc thông qua một mô hình thuê bao hoặc dựa trên mô hình pay-per-use Ngoài ra, trong này lớp, người sử dụng triển khai các ứng dụng riêng của
họ Trong trường hợp trước đây, có những ứng dụng như Salesforce.com mà cung cấp mô hình kinh doanh trên đám mây (cụ thể là phần mềm quản lý quan hệ khách hàng) và các mạng xã hội Gần đây, có e-Science và ứng dụng e-Research và những mạng Content-Delivery
Trang 25User-level Middleware: Lớp này bao gồm các khung phần mềm như giao
diện Web 2.0 (Ajax, IBM Workplace) Cung cấp những môi trường lập trình và các công cụ dễ dàng tạo ra, triển khai và thực hiện các ứng dụng trong đám mây Cuối cùng, trong lớp này nhiều khung hỗ trợ phát triển các ứng dụng đa lớp, chẳng hạn như Spring và Hibernate, có thể được triển khai để hỗ trợ các ứng dụng chạy trong cấp trên
Core Middleware: Lớp này thực hiện các dịch vụ cấp độ nền tảng cung cấp
các môi trường thời gian chạy cho lưu trữ và quản lý dịch vụ ứng dụng User-Level Dịch vụ core ở lớp này bao gồm Dynamic SLA Management, Accounting, Bill, giám sát và quản lý Execution và Pricing Ví dụ nổi tiếng về các dịch vụ hoạt động ở lớp này là Amazon EC2, Google App Engine và Aneka Các chức năng tiếp xúc bởi lớp này được truy cập bởi cả hai dịch vụ SaaS (dịch vụ đại diện tại tầng trên cùng có trong hình 2.1) và IaaS (dịch vụ thể hiện ở lớp dưới cùng nhất trong Hình 2.1) Chức năng quan trọng mà cần phải được thực hiện ở lớp này bao gồm thông điệp, tìm ra dịch vụ và cân bằng tải Các tính năng này thường được thực hiện bởi các nhà cung cấp đám mây và cung cấp cho các nhà phát triển ứng dụng trả thêm phí Ví dụ, Amazon cung cấp cân bằng tải và giám sát dịch vụ (Cloudwatch) cho các nhà phát triển Amazon EC2/consumers Tương tự như vậy, các nhà phát triển xây dựng các ứng dụng trên đám mây Microsoft Azure có thể sử dụng NET Service Bus để thực hiện cơ chế chuyển thông điệp
System Level: Sức mạnh tính toán trong môi trường điện toán đám mây được
cung cấp bởi một tập hợp các trung tâm dữ liệu mà thường cài đặt với hàng trăm đến hàng ngàn máy chủ [1] Tại lớp này tồn tại nguồn tài nguyên vật lý lớn (lưu trữ các máy chủ và máy chủ ứng dụng) về sức mạnh của trung tâm dữ liệu Các máy chủ quản lý trong suốt bởi ảo hóa cấp cao nhất [26] dịch vụ và các bộ công cụ cho phép chia sẻ các khả năng của họ trong trường hợp ảo hóa của máy chủ Những máy ảo cô lập với nhau, do đó làm cho hành vi chịu lỗi và ngữ cảnh an ninh cô lập
2.1.3 Federation đám mây
Các nhà cung cấp điện toán đám mây hiện nay có một số trung tâm dữ liệu tại các địa điểm địa lý khác nhau trên Internet để tối ưu phục vụ nhu cầu khách hàng
Trang 26trên toàn thế giới Tuy nhiên, các hệ thống hiện tại không hỗ trợ cơ chế và chính sách phối hợp động load-shredding(băm nhỏ tải) trong những trung tâm dữ liệu khác nhau
để xác định vị trí tối ưu cho lưu trữ dịch vụ ứng dụng để đạt được mức độ QoS hợp
lý Hơn nữa, các nhà cung cấp dịch vụ điện toán đám mây là không thể dự đoán địa
lý phân phối của người dùng cuối tiêu thụ dịch vụ của họ, do đó sự phối hợp tải phải xảy ra tự động và phân phối dịch vụ phải thay đổi để đáp ứng với những thay đổi trong hành vi tải Hình 2.2 mô tả một kiến trúc điện toán đám mây như vậy bao gồm người tiêu dùng dịch vụ (các nhà cung cấp SaaS) brokering và các nhà cung cấp kết hợp dịch vụ để hỗ trợ hướng tiện ích(utility-driven) kết nối mạng của các đám mây [37] cung cấp ứng dụng và di chuyển khối lượng công việc
Enterprise Resource (Proxy)
Directory Bank Auctioneer Cloud Coordinator
Storage Cloud
VM VM
Pool node
VM VM
Cluster(VM Pool)
Cloud Coordinator
Publish Offers Compute Cloud
Storage Cloud
Cloud Coordinator
Compute Cloud
Cloud Exchange (CEx)
Cloud Broker 1
Request Capacity Negotiate/Bid
ưu hóa vị trí và quy mô dịch vụ, (ii) tăng cường xử lý tải cao điểm(peak-load) và khả năng mở rộng hệ thống động của mỗi đám mây thành viên bằng cách cho phép họ có được tự động thêm các nguồn tài nguyên từ federation Điều này giải phóng các nhà
Trang 27cung cấp đám mây từ nhu cầu thiết lập một trung tâm dữ liệu mới trong tất cả các vị trí và (iii) thích ứng với hư hỏng như thiên tai tự nhiên và bảo trì hệ thống thường xuyên là linh hoạt hơn cho các nhà cung cấp bằng cách di chuyển trong suốt các dịch
vụ của họ cho đám mây ở vùng khác trong liên đoàn, do đó tránh vi phạm SLA và phải bồi thường vi ước Do đó, federation của các đám mây không chỉ đảm bảo tính liên tục kinh doanh mà còn tăng mức độ tin cậy của các nhà cung cấp đám mây tham gia
Một trong những thành phần quan trọng của kiến trúc được trình bày trong hình 2.2 là Cloud Coordinator(điều phối viên) Thành phần này là khởi tạo bởi mỗi đám mây trong hệ thống có trách nhiệm là để thực hiện các hoạt động quan trọng sau đây: (i) xuất các dịch vụ điện toán đám mây, cả cơ sở hạ tầng và cấp nền tảng, đến federation, (ii) theo dõi tải trên các nguồn tài nguyên đám mây (máy ảo, dịch vụ điện toán) và tiến hành đàm phán với các nhà cung cấp đám mây khác trong federation để
xử lý tải cao đột ngột trong nhu cầu nguồn tài nguyên điện toán đám mây tại cục bộ
và (iii) giám sát thực hiện các ứng dụng trên vòng đời của nó và giám sát thỏa thuận SLAs được giao Các nhà môi giới(brokers) đám mây đại diện cho các nhà cung cấp SaaS xác định các nhà cung cấp dịch vụ đám mây phù hợp thông qua Cloud Exchange Hơn nữa, Cloud brokers cũng có thể thương lượng với Cloud tương ứng điều phối viên(Coordinators) cho phân bổ nguồn lực đáp ứng nhu cầu lưu trữ của QoS hoặc được lưu trữ các ứng dụng SaaS Cloud Exchange (CEx) hoạt động như một nhà sản xuất thị trường bằng cách gom lại dịch vụ điện toán đám mây (IaaS) và các nhà cung cấp SaaS CEx tập hợp các đòi hỏi cơ sở hạ tầng từ Cloud broker và đánh giá chúng dựa vào các nguồn cung cấp có sẵn hiện tại được xuất bản bởi các Cloud Coordinators
Các ứng dụng có thể được hưởng lợi từ cơ sở hạ tầng liên đám mây nói trên bao gồm mạng xã hội như Facebook và MySpace, và Content Delivery Networks (CDNs) Các trang web mạng xã hội phục vụ nội dung động cho hàng triệu người sử dụng, mà truy cập và tương tác mô hình rất khó dự đoán Nhìn chung, các trang web mạng xã hội được xây dựng sử dụng các ứng dụng web nhiều tầng như WebSphere
và những lớp ổn định như quan hệ cơ sở dữ liệu MySQL Thông thường, mỗi thành
Trang 28phần sẽ chạy trong một máy ảo khác nhau, có thể được lưu trữ trong trung tâm dữ liệu thuộc sở hữu của các nhà cung cấp điện toán đám mây khác nhau Ngoài ra, mỗi plug-in phát triển có quyền tự do lựa chọn nhà cung cấp điện toán đám mây cung cấp các dịch vụ phù hợp hơn để chạy plug-in Kết quả, một mạng xã hội điển hình ứng dụng web được hình thành bởi hàng trăm dịch vụ khác nhau, có thể được tổ chức bởi hàng chục trung tâm dữ liệu hướng đám mây(Cloud-oriented)trên toàn thế giới Bất
cứ khi nào có sự khác biệt ở vị trí thời gian và không gian của khối lượng công việc (mô hình sử dụng), mỗi thành phần ứng dụng phải mở rộng động để cung cấp chất lượng tốt cho người dùng trãi nghiệm
Các nhà khoa học cũng có thể tận dụng lợi thế của cơ chế như vậy bằng cách
sử dụng các nguồn tài nguyên đám mây để làm đoàn bẩy cho các ứng dụng throughput e-Science của họ, chẳng hạn như mô phỏng Monte-Carlo và Medical Image Registration Trong kịch bản này, những đám mây có thể được tăng cường để các nguồn tài nguyên cở bản hiện có dựa trên cluster và grid đáp ứng thời hạn nghiên cứu và các sự kiện quan trọng
high-2.2 Tổng quan về công nghệ ảo hóa
2.2.1 Tổng quan về công nghệ ảo hóa
Ảo hóa đã cách mạng hóa công nghệ trung tâm dữ liệu thông qua một tập hợp các kỹ thuật và các công cụ tạo điều kiện thuận lợi cho việc cung cấp và quản lý động trung tâm dữ liệu của cơ sở hạ tầng (IaaS) Ảo hóa có thể được định nghĩa là sự trừu tượng hóa các tài nguyên máy tính Cho phép tách biệt riêng người sử dụng và ứng dụng về những đặc tính phần cứng chuyên biệt của các hệ thống mà họ sử dụng
để thực hiện các công việc của máy tính
Ảo hóa là một bước tiến mạnh mẽ cho việc tối ưu hóa việc triển khai xây dựng một cách hiệu quả nguồn tài nguyên hệ thống bằng cách tách rời mối liên kết vốn có giữa phần cứng, phần mềm, dữ liệu, đường truyền, lưu trữ thành từng phần riêng biệt
Ở mức đơn giản nhất, ảo hóa cho phép bạn sử dụng ít nhất một máy tính hoạt động trong nhiều môi trường khác nhau trên một phần cứng duy nhất
Trang 29Công nghệ ảo hóa có thể cải thiện việc sử dụng tài nguyên máy chủ và làm giảm điện năng tiêu thụ ở các trung tâm dữ liệu Ảo hóa đưa ra một lớp trừu tượng giữa hệ điều hành và phần cứng Tài nguyên vật lý có thể được tách thành một số phần logic được gọi là máy ảo Mỗi máy ảo có thể chứa một hệ điều hành riêng tạo cho người dùng một cái nhìn của một nguồn tài nguyên vật lý chuyên dụng và đảm bảo hiệu suất
Ảo hóa cho phép tạo ra một số máy ảo trên một máy chủ vật lý và do đó, làm giảm số lượng phần cứng được sử dụng và cải thiện việc sử dụng các nguồn tài nguyên Khái niệm này bắt nguồn từ hệ điều hành máy tính lớn của IBM những năm
1960, nhưng đã được thương mại hóa cho các máy tính tương thích x86 chỉ trong những năm 1990 Một số công ty thương mại và các dự án mã nguồn mở cung cấp các gói phần mềm cho phép chuyển đổi sang máy tính ảo Tập đoàn Intel và AMD cũng đã xây dựng được cải tiến ảo hóa độc quyền cho tập lệnh của dòng vi xử lý x86
để hỗ trợ ảo hóa hardware-assisted
Trong số những lợi ích của ảo hóa là cải thiện lỗi và cô lập hiệu suất giữa các ứng dụng chia sẻ các nút tính toán tương tự (một máy ảo được xem như là một nguồn tài nguyên dành riêng cho người sử dụng), khả năng tương đối dễ dàng di trú máy ảo từ một máy chủ vật lý khác sử dụng di trú live hoặc offline Khả năng di trú máy ảo tại thời gian chạy cho phép các kỹ thuật tiết kiệm năng lượng hợp nhất máy
ảo động áp dụng ở cấp trung tâm dữ liệu
Sự gia tăng của ảo hóa có tiềm năng để đẩy mạnh việc mở rộng của các khái niệm về thiết bị đầu cuối máy chủ và máy trạm thin, mà cũng đã được sử dụng trong thực hành IT Green Trong khái niệm này, nhiều người dùng kết nối với một máy chủ trung tâm qua mạng sử dụng máy trạm thin Trong khi tất cả các máy tính theo yêu cầu của người sử dụng được thực hiện trên máy chủ vật lý chia sẻ, từ quan điểm người dùng, sự tương tác cũng tương tự như với một nguồn tài nguyên máy tính chuyên dụng Về vấn đề tiêu thụ năng lượng, lợi thế của máy trạm thin là tiêu thụ năng lượng ít hơn đáng kể so với một máy trạm thông thường Máy trạm thin bắt đầu đạt được phù hợp với việc áp dụng các phần mềm như một dịch vụ (SaaS), đó là một trong những mô hình dịch vụ của điện toán đám mây hoặc Virtual Desktop
Trang 30Infrastructures(VDI) thúc đẩy bởi các nhà cung cấp phần mềm ảo hóa như VMware View, Citrix Xen - Desktop, và Oracle Virtual Desktop Infrastructure
2.2.2 Phân tầng trong kiến trúc ảo hóa
Nạp công
việc 1
Hệ điều hành máy ảo
Nạp công việc 2
Hệ điều hành máy ảo
Nạp công việc 3
Hệ điều hành máy ảo
Nạp công việc N
Hệ điều hành máy ảo
TẦNG ẢO HÓA(VMM HOẶC HYPERISOR)
TẦNG VẬT LÝ MÁY CHỦ
Hình 2.3 Các lớp trong kiến trúc ảo hóa
Lớp ảo hóa nằm giữa phần cứng và hệ điều hành được thực hiện bởi một Virtual Machine Monitor (VMM) VMM kiểm soát đối với tài nguyên multiplexing
và quản lý việc phân bổ nguồn tài nguyên vật lý cho các máy ảo Có hai cách thức
mà một VMM có thể tham gia trong quản lý năng lượng:
1 Một VMM có thể hoạt động như một hệ điều hành power-aware: giám sát hiệu suất hệ thống tổng thể và phù hợp áp dụng DVFS hoặc một vài kỹ thuật DCD cho các thành phần hệ thống
2 Một VMM có thể tận dụng các chính sách quản lý điện năng áp dụng các
hệ điều hành khách bằng cách sử dụng kiến thức ở cấp ứng dụng và bản đồ quản lý điện năng do hệ điều hành của máy ảo khác nhau trên thực tế thay đổi trong trạng thái điện năng hoặc tiến hành giới hạn điện năng toàn hệ thống bằng phương pháp phối hợp
Phần dưới đây trình bày về ba trong những giải pháp công nghệ ảo hóa phổ biến nhất: Xen hypervisor, VMware và Kernel-based (KVM) Tất cả các hệ thống đều hỗ trợ quản lý điện năng Stoess và cộng sự [25], đề xuất một phương pháp sử
Trang 31dụng cả hai điều khiển điện năng toàn hệ thống và fine-grained application-specific quản lý điện được thực hiện bởi hệ điều hành khách
- The Xen Hypervisor
Xen hypervisor là một công nghệ ảo hóa mã nguồn mở nó được hợp tác và phát triển bởi cộng đồng Xen và các kỹ sư đến từ hơn 20 trung tâm dữ liệu của các nhà cung cấp giải pháp sáng tạo [33] Xen được cấp phép theo GNU General Public License (GPL2) và có sẵn miễn phí trong cả hai định dạng là đối tượng và nguồn Xen hỗ trợ cho quản lý điện năng cũng tương tự như những gì được cung cấp bởi Linux theo yêu cầu của bộ điều khiển Xen hỗ trợ ACPI P-states được cài đặt trong trình điều khiển cpufreq [18] Hệ thống định kỳ đo mức độ sử dụng CPU, xác định P- state thích hợp và các vấn đề platform-dependent để tạo ra sự thay đổi trong trạng thái điện năng phần cứng Tương tự như vậy với hệ thống con quản lý điện năng Linux, Xen có bốn bộ điều khiển:
Ondemand - lựa chọn tốt nhất P-state theo yêu cầu nguồn tài nguyên hiện tại
Userspace - thiết lập tần số CPU do người sử dụng
Performance- đặt đồng hồ tần số cao nhất
Powersave - đặt đồng hồ tần số thấp nhất
Ngoài ra P-State, Xen cũng kết hợp sự hỗ trợ cho C-states (trạng thái CPU) [18] Khi một CPU vật lý không có bất kỳ nhiệm vụ nào được giao, nó được chuyển sang C-state Khi một yêu cầu mới đến, CPU được chuyển trở lại trạng thái hoạt động Vấn đề là để xác định C-state vào: nhiều C-state cung cấp tiết kiệm năng lượng cao hơn chi phí của một quá trình chuyển đổi độ trễ cao hơn Tại thời điểm này, Xen theo mặc định chuyển CPU vào C- state đầu tiên, cung cấp độ chậm trễ chuyển ngắn nhất Tuy nhiên, người sử dụng có thể chỉ định một C- state vào Khi đó CPU sẽ bật khi nhận được tải, nó luôn luôn nhận được sự bất lợi về hiệu quả, tương ứng với thời gian chờ chính sách DCD cố định
Ngoài P- state và C- state, Xen cũng hỗ trợ di trú máy ảo offline và live, có thể được thừa hưởng bởi power-aware động, các thuật toán tập hợp máy ảo Di trú máy ảo được sử dụng để di chuyển một máy ảo giữa các máy chủ vật lý Di trú
Trang 32offline di chuyển một máy ảo từ một máy chủ khác bằng cách ngưng, sao chép nội dung bộ nhớ của máy ảo, và sau đó nối lại các máy ảo trên máy chủ đích Di trú live cho phép chuyển một máy ảo mà không có sự trì hoãn Từ phía người sử dụng di trú như vậy nên không dễ nhận thấy sự gián đoạn của dịch vụ họ đang dùng Để thực hiện một di trú live, cả hai máy chủ phải chạy Xen và các máy chủ đích phải có đủ nguồn tài nguyên (ví dụ như dung lượng bộ nhớ) để chứa các máy ảo sau khi di trú
Ở máy chủ đích Xen bắt đầu một trường hợp máy ảo mới hình thành một container cho máy ảo để được di trú Xen theo chu kỳ sao chép các trang bộ nhớ đến đích, liên tục làm mới các trang đã được cập nhật trên máy nguồn Khi mà các trang bộ nhớ không còn sửa đổi, nó dừng lại và sao chép các trang bộ nhớ còn lại Một khi quá trình được hoàn thành và máy ảo mới được bắt đầu
Để giảm thiểu chi phí di trú, các máy chủ thường được kết nối với một Network Attached Storage (NAS) hoặc giải pháp lưu trữ tương tự, trong đó loại bỏ được sự cần thiết phải sao chép nội dung đĩa Giai đoạn cuối cùng của việc di trú live (ví dụ, khi cả hai trường hợp bị đình chỉ) thường mất khoảng 50 mili giây Thông qua thí nghiệm của mình trên một thử nghiệm Xen, Lefe`vre và Orgerie [29] đã chỉ
ra rằng máy ảo di trú live có một tác động đáng kể đến mức tiêu thụ năng lượng Công nghệ di trú live đã tạo điều kiện để phát triển giữ gìn năng lượng mà phương pháp tiếp cận là tập hợp máy ảo động được đưa ra bởi các nhà nghiên cứu trên toàn thế giới
- Kernel-based Virtual Machine (KVM)
KVM là phần mềm ảo hóa mã nguồn mở thực hiện như một môđun của kernel Linux [4] Theo mô hình này, Linux hoạt động như một máy tính ảo, trong khi tất cả các máy ảo đều thường xuyên bị quản lý xử lý bởi bộ lập lịch Linux Cách tiếp cận này làm giảm sự phức tạp của việc thực hiện hypervisor, như lập lịch và quản lý bộ nhớ được xử lý bởi kernel Linux
KVM hỗ trợ S4 (ngủ đông) và S3 (ngủ/ đứng ) states điện năng S4 không cần bất kỳ sự hỗ trợ cụ thể từ KVM : trên ngủ đông, hệ điều hành khách dumps trạng thái
bộ nhớ vào một đĩa cứng và bắt đầu cung cấp năng lượng ra khỏi máy tính Hypervisor chuyển tín hiệu này vào termination quá trình thích hợp Trên khởi động
Trang 33kế tiếp, hệ điều hành đọc trạng thái bộ nhớ lưu từ đĩa, tiếp tục từ chế độ Hibernate và khởi tạo lại tất cả các thiết bị Trong trạng thái S3, bộ nhớ được giữ cung cấp điện năng và do đó các nội dung không cần phải được lưu vào đĩa Tuy nhiên, hệ điều hành khách phải lưu lại trạng thái của các thiết bị, như họ cần phải được phục hồi trên tiếp tục Trong quá trình khởi động kế tiếp, BIOS cần công nhận trạng thái S3 thay vì khởi tạo các thiết bị trực tiếp vào sự phục hồi của các trạng thái thiết bị lưu
Do đó, BIOS phải có hỗ trợ đặc biệt hoặc hành vi như vậy
ảo theo khối lượng công việc hiện tại và chính sách cân bằng tải
VMware DRS có một hệ thống phụ gọi là VMware Distributed Power Management (DPM) để giảm điện năng tiêu thụ bởi một pool của các máy chủ vật lý bằng cách tự động tắt máy chủ khi không có tải Các máy chủ được cung cấp trở lại khi có nhu cầu gia tăng đối với các nguồn tài nguyên VMware DPM sử dụng di trú live để phân bổ lại máy ảo và giữ số lượng tối thiểu của các máy chủ vật lý VMware ESX Server và VMware ESXi được sử dụng miễn phí, trong khi các thành phần khác của cơ sở hạ tầng VMware điều có giấy phép thương mại
2.3 Tổng quan về di trú máy ảo trong điện toán đám mây
Di trú máy ảo cho phép di chuyển các máy ảo từ máy chủ vật lý này sang máy chủ vật lý khác, nhưng vẫn đảm bảo không có bất kì sự gián đoạn nào hay cảm nhận thời gian downtime trong những phiên kết nối truy cập
Trang 34- Consolidation máy chủ:
Để giảm sự mở rộng máy chủ trong trung tâm dữ liệu, các thuật toán
consolidation máy chủ được yêu cầu Các thuật toán này là công nghệ tự động đóng
gói máy ảo với mục tiêu là cố gắng để đóng gói càng nhiều máy ảo càng tốt trên một máy chủ để cải thiện sử dụng tài nguyên hệ thống và những máy chủ sử dụng dưới tải có thể được tắt đi Consolidation máy chủ sẽ làm giảm điện năng tiêu thụ và do
đó làm giảm chi phí hoạt động tổng thể cho các trung tâm dữ liệu Di trú các máy ảo
có thể đạt được điều này Dựa trên các điều kiện về tải, máy chủ dưới tải sử dung và máy chủ quá tải sử dụng được xác định khi đó di trú máy ảo được kích hoạt để đóng gói chặt chẽ các máy ảo để tăng sử dụng tài nguyên tổng thể trên tất cả các máy chủ
và giải phóng tài nguyên máy chủ nếu có thể
- Hotspot & Coldspot mitigation:
Việc phát hiện các hotspots và coldspots luôn dựa trên ngưỡng được thiết lập bởi các chủ sở hữu các trung tâm dữ liệu hoặc dựa trên các thỏa thuận mức độ dịch vụ(SLA) theo quy định của khách hàng Thông thường, một giá trị sử dụng tài nguyên cao hơn gần tối đa được thiết lập như các ngưỡng trên và giá trị sử dụng tài nguyên rất thấp được thiết lập như là ngưỡng dưới Các máy chủ có giá trị sử dụng
Trang 35tài nguyên vượt quá ngưỡng trên được cho là đã hình thành hotspots và có giá trị sử dụng dưới ngưỡng thấp hơn được cho là có hình thành coldspots Những điều kiện này vốn đã được quan tâm trong việc consolidation máy chủ và thuật toán cân bằng tải nêu trên
Node 1 Node 2 Node 3
Node 1 Node 2 Node 3 Node 1 Node 2 Node 3
load balancing
consolidatio
Hình 2.4 Kịch bản cân bằng tải và consolidation máy chủ[2]
Hình 2.4 cho thấy hai điều kiện: cân bằng tải và consolidation các máy ảo dựa trên
di trú Trong trường hợp đầu tiên, một trong hai mục tiêu là để phân phối tải trọng đồng đều giữa các máy chủ, hoặc một máy ảo cần nhiều nguồn tài nguyên hơn và do
đó được chuyển đến một máy chủ khác Với việc consolidation máy chủ, máy ảo được di trú sang máy chủ khác để giảm sự mở rộng máy chủ
2.3.2 Các kỹ thuật di trú máy ảo:
Kỹ thuật di trú quick
Di trú quick là di trú các máy ảo giữa các máy chủ vật lý khác nhau trong cluster và thời gian di chuyển phụ thuộc vào số lượng bộ nhớ được gán cho máy ảo cùng với kết nối mạng giữa các máy chủ vật lý và lưu trữ chia sẻ Máy ảo với số lượng bộ nhớ lớn nhưng với kết nối mạng chậm sẽ mất nhiều thời gian để hoàn thành
di trú so với các máy ảo khác có số lượng bộ nhớ ít hơn trên mạng nhanh hơn Di trú với thời gian nhiều hơn 15-20 giây có thể không được xem xét như là khả thi trong
Trang 36một vài môi trường do người truy cập phải đối mặt với sự gián đoạn trong thời gian
đó Chúng ta có thể nhìn thấy trong bảng dưới đây thời gian trung bình được thực hiện bởi di trú quick để di chuyển một máy ảo từ máy chủ vật lý này sang máy chủ vật lý khác khi có kích thước bộ nhớ khác nhau
VM Memory 1 GbE iCSI 2Gb FC 4 Gb FC
Bảng 2.1 Thời gian trung bình được thực hiện bởi di trú quick[49]
Khi quá trình di trú quick được bắt đầu, một máy ảo được đặt trong trạng thái Saved Trong trạng thái Saved, một máy ảo được phát hành và đặt bộ nhớ của nó trên máy chủ nguồn và lưu trữ các nội dung của các trang bộ nhớ của nó vào đĩa Khi giai đoạn này đã được hoàn thành thì máy chủ đích sẽ tiếp quản quyền sở hữu máy
ảo đó và cho trở lại hoạt động Đặt máy ảo trong trạng thái Saved là khía cạnh tiêu tốn hầu hết thời gian của di trú
Kỹ thuật di trú máy ảo này có những hạn chế sau:
Sinh ra thời gian chết
Tổng thời gian di trú phụ thuộc vào kích thướt bộ nhớ máy ảo
Làm gián đoạn hoạt động của dịch vụ
Trang 37giảm dịch vụ và thời gian mà các dịch vụ là hoàn toàn không có Khi một máy ảo đang di trú, điều quan trọng là việc chuyển giao này xảy ra một cách cân bằng giữa các yêu cầu của cả hai giảm thiểu thời gian chết và tổng thời gian di trú
Ban đầu, cách tiếp cận pure stop-and-copy [11] đã được sử dụng cho việc di trú máy ảo Điều này liên quan đến việc ngăn chặn các máy ảo gốc, sao chép tất cả các trang bộ nhớ đến đích, và sau đó bắt đầu máy ảo mới Điều này có lợi thế về sự đơn giản nhưng thời gian chết dịch vụ là tỷ lệ thuận với số lượng bộ nhớ vật lý cấp phát cho máy ảo Điều này có thể dẫn đến sự gián đoạn không thể chấp nhận nếu các máy ảo đang chạy một dịch vụ live
Một lựa chọn khác là cách tiếp cận post-copy [9], [12], trong đó một pha ngắn stop-and-copy chuyển cấu trúc dữ liệu cần thiết đến đích VM đích sau đó được bắt đầu, và các trang khác được chuyển giao trên mạng theo yêu cầu Kết quả là thời gian chết ngắn hơn nhiều, nhưng sinh tổng thời gian di trú dài hơn, và trong thực tế, hiệu quả sau khi di trú có khả năng là không thể chấp nhận suy thoái cho đến khi một
bộ đáng kể của các trang đã được sự cố trên Cho đến thời điểm này, các máy ảo sẽ lỗi trên một tỷ lệ cao của các truy cập bộ nhớ của nó, mỗi người trong số này tạo ra một chuyển giao đồng bộ trên mạng
Pre-copy [8], [41] di trú lặp đi lặp lại bản sao các trang bộ nhớ từ máy chủ nguồn đến máy chủ đích, mà không bao giờ dừng lại việc thực hiện của các máy ảo đang được di trú Lặp đi lặp lại bản chất của thuật toán là do các trang web được truy cập liên tục, tức là các trang bộ nhớ được sửa đổi trong máy chủ nguồn Do đó, phải chuyển lại tất cả các trang bộ nhớ đã sửa đổi từ máy chủ nguồn cho máy chủ đích Nếu tỷ lệ điều chỉnh của trang bộ nhớ là rất cao, thời gian di chuyển sẽ tăng lên một giá trị rất cao Nhưng lợi thế của phương pháp này là tất cả các điều chỉnh được cung cấp lại cho các máy chủ đích Nó có thể được kích hoạt bất cứ lúc nào Mỗi máy ảo
sẽ có một số (hy vọng nhỏ) thiết lập các trang mà nó cập nhật rất thường xuyên và do
đó mà là ứng cử viên yếu cho di trú pre-copy
Trong các phương pháp khác, đó là một sửa đổi của tiếp cận pre-copy [17], một khuôn khổ được xây dựng bao gồm pha pre-processing trong pre-copy truyền thống dựa trên di trú live sao cho lượng dữ liệu truyền là giảm Cho tiền xử
Trang 38lý(preprocessing), họ đề xuất giải thuật dự đoán tập công việc Áp dụng các thuật toán đưa ra mà kết hợp LRU (Least Recently Used) cache với thuật toán cây splay,
hệ thống có thể làm giảm số lượng chuyển trang bộ nhớ
Trong một cách tiếp cận để tối ưu hóa di trú live máy ảo [22] dựa trên thuật toán pre-copy, nén bộ nhớ được sử dụng Hiệu suất di trú máy ảo được cải thiện rất nhiều bằng cách cắt giảm số lượng dữ liệu được chuyển giao Một thuật toán nén được thiết kế cho di trú live Trong các máy chủ nguồn, dữ liệu được chuyển giao trong mỗi vòng đầu tiên được nén bởi thuật toán Khi đến máy chủ đích, dữ liệu nén
sẽ được giải nén Thời gian nén là nút cổ chai thực hiện bổ sung thêm chi phí được giới thiệu bởi các hoạt động nén Nếu chi phí nén cao hơn thì di trú live máy ảo sẽ không nhận được bất kỳ lợi ích nào từ nó