Luận văn tựa đề: Nghiên Cứu Kỹ Thuật Cân Bằng Tải Trong Điện Toán Đám Mây được Võ Văn Khang thực hiện và nộp nhằm thoả một trong các yêu cầu tốt nghiệp Thạc sĩ ngành Khoa Học Máy Tính.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
-VÕ VĂN KHANGTên đề tài luận văn :
NGHIÊN CỨU KỸ THUẬT CÂN BẰNG TẢI
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 2Luận văn tựa đề: Nghiên Cứu Kỹ Thuật Cân Bằng Tải Trong Điện Toán
Đám Mây được Võ Văn Khang thực hiện và nộp nhằm thoả một trong các yêu cầu
tốt nghiệp Thạc sĩ ngành Khoa Học Máy Tính
Chủ tịch Hội đồng
GS.TSKH HOÀNG VĂN KIẾM
Cố Vấn Hiệu Trưởng Trường Đại Học
Quốc Tế Hồng Bàng
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 3LÝ LỊCH CÁ NHÂN
Tôi tên là: Võ Văn Khang Sinh ngày: 1982 Nơi Sinh: Long An Tốt nghiệp THPT tại Trường THPT Vĩnh Hưng – Long An, năm 2000
Quá trình công tác:
Từ năm 2004 đến 2006 làm việc tại Trường dạy nghề ITEE – Tp.HCM
Từ năm 2006 đến nay làm việc tại Trường Trung Cấp Âu Việt – Tp.HCM Địa chỉ liên lạc : 331/38/37F Phan Huy Ích, P14, Q.Gò Vấp, Tp.HCM
Điện thoại : 0907.306.863 – 0963.038.079
Email : khangvo@auviet.edu.vn
Trang 4LỜI CAM ĐOAN
Tôi cam đoan rằng luận văn này : “Nghiên Cứu Kỹ Thuật Cân Bằng Tải 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 08 tháng 07 năm 2014 Tác giả luận văn
Võ Văn Khang
Trang 5LỜI CẢM ƠN
Trong suốt quá trình học tập, nghiên cứu và thực hiện đề tài luận văn thạc
sĩ, ngoài những cố gắng và nỗ lực của bản thân, tôi đã nhận được sự hướng dẫn, giúp đỡ quý báu của quý thầy cô, cùng với sự động viên, khích lệ và ủng hộ của các đồng nghiệp, bạn bè và gia đình Với lòng kính trọng và biết ơn sâu sắc tôi xin được
bày tỏ lời cảm ơn chân thành tới:
Ban giám hiệu, Viện đào tạo sau đại học, đã tạo mọi điều kiện thuận lợi giúp đỡ tôi trong quá trình học tập và hoàn thành luận văn
Tôi xin chân thành cảm ơn tiến sĩ Nguyễn Hồng Sơn, người thầy kính mến
đã hết lòng giúp đỡ, dạy bảo, động viên và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình học tập và hoàn thành luận văn tốt nghiệp Tôi xin gửi lời tri ân đến thầy, đối với những điều mà thầy đã dành cho tôi trong suốt thời gian qua
Tôi xin chân thành biết ơn toàn thể quý thầy cô Khoa công nghệ thông tin, Viện đào tạo sau đại học, Trường đại học quốc tế Hồng Bàng đ ã tận tình truyền đạt những bài học cũng như những kiến thức quý báu trong quá trình học tập
và thực hiện đề tài này
Xin chân thành cảm ơn quý thầy cô trong hội đồng chấm luận văn đã cho tôi những đóng góp quý báu để hoàn chỉnh luận văn này
Tôi xin bày tỏ lòng biết ơn đến lãnh đạo Trường Trung Cấp Âu Việt, đặc biệt là anh em trong khoa CNTT và tất cả các đồng nghiệp đã hỗ trợ và tạo điều kiện tốt nhất để tôi học tập và nghiên cứu đề tài một cách tốt nhất
Tôi xin chân thành cảm ơn mọi người trong gia đình tôi, đã tạo điều kiện, động viên khích lệ tôi trong những lúc khó khăn để tôi học tập và thực hiện đề tài
Mặc dù đã cố gắng hết sức, song do thời gian và kinh nghiệm nghiên cứu khoa học còn hạn chế nên không thể tránh khỏi những thiếu sót Tôi rất mong nhận được sự góp ý của quý thầy cô cùng bạn bè đồng nghiệp để kiến thức của mình ngày một hoàn thiện hơn
Tp.Hồ Chí Minh, tháng 7 năm 2014 Người thực hiện luận văn
Võ Văn Khang
Trang 6TÓM TẮT
Điện toán đám mây là xu hướng hội tụ của nhiều thành tựu về nghiên cứu phát triển và ứng dụng công nghệ mới; các quan điểm về ứng dụng công nghệ thông tin hiện nay trên thế giới Tầm quan trọng của nó đã được nhấn mạnh trong một báo cáo gần đây từ trường đại học Berkeley: “Điện toán đám mây, giấc mơ lâu nay của máy tính như là một tiện ích có khả năng chuyển đổi một phần lớn ngành công nghiệp công nghệ thông tin, làm mềm thậm chí còn hấp dẫn hơn như một dịch vụ” [16]
Một kỹ thuật góp phần quan trọng giúp điện toán đám mây được triển khai thành công đó là cân bằng tải Nó giải quyết được các vấn đề về chiến lược phân
bổ, sự tận dụng tài nguyên tính toán một cách có hiệu quả Khi nói đến cân bằng tải người ta thường nghĩ đến làm thế nào phân phối khối lượng công việc giữa các nút tính toán sau cho công bằng, ít gây ra sự lãng phí và tận dụng tài nguyên hiệu quả nhất Trong mô hình điện toán đám mây, thành phần Broker chịu trách nhiệm trung gian đàm phán giữa nhà cung cấp SaaS và nhà cung cấp dịch vụ đám mây
Nó đại diện cho nhà cung cấp SaaS tìm kiếm nhà cung cấp dịch vụ đám mây phù hợp và đảm nhiệm đàm phán trực tuyến để cấp phát nguồn tài nguyên hay dịch vụ
có thể đáp ứng yêu cầu QoS của ứng dụng Với vai trò điều phối, Broker thực hiện các chiến lược cân bằng tải để phân phối yêu cầu xử lý của người dùng đến nguồn tài nguyên tính toán sau cho có hiệu quả nhất Nhằm nghiên cứu các kỹ thuật cân bằng tải đang được áp dụng hiện nay trong điện toán đám mây, luận văn sẽ thực hiện các thuật toán cân bằng tải tại thành phần Broker Muốn làm được điều này cần một môi trường có thể mô hình và mô phỏng đầy đủ các thành phần của điện toán đám mây như là Datacenter, máy ảo, Broker và các chính sách cung cấp nguồn tài nguyên Để vượt qua thách thức đó tác giả nghiên cứu môi trường mô hình và mô phỏng điện toán đám mây CloudSim để thực nghiệm Dựa trên kết quả đạt được tác giả sẽ phân tích, đánh giá hiệu quả của các thuật toán cân bằng tải hiện nay; đồng thời phát hiện hạn chế từ đó có những đề xuất thuật toán cân bằng tải cải tiến
Trang 8MỤC LỤC
TRANG PHỤ BÌA
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 SÁCH HÌNH VẼ ix
DANH SÁCH BẢNG xi
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT xiii
CHƯƠNG 1: GIỚI THIỆU 1
1.1 Lý do chọn đề tài 1
1.2 Công trình nghiên cứu gần đây về cân bằng tải điện toán đám mây 3
1.2.1 Cải thiện thời gian đáp ứng: 3
1.2.2 Vấn đề tiêu thụ năng lượng 3
1.2.3 Vấn đề di trú máy ảo 4
1.3 Mục tiêu luận văn 4
1.4 Tổ chức luận văn 4
CHƯƠNG 2: CÂN BẰNG TẢI TRONG ĐIỆN TOÁN ĐÁM MÂY 6
2.1 Tổng quan về điện toán đám mây 6
2.2 Tổng quan về cân bằng tải trong điện toán đám mây 7
2.2.1 Giới thiệu kỹ thuật cân bằng tải 7
2.2.2 Mục đích cân bằng tải 8
2.2.3 Cân bằng tải trong điện toán đám mây 9
2.2.4 Đo lường cân bằng tải trong điện toán đám mây 10
2.3 Các thuật toán cân bằng tải đang được ứng dụng hiện nay 11
2.3.1 Cân bằng tải tĩnh 13
2.3.2 Cân bằng tải động 14
Trang 92.3.3 Vấn đề trong cân bằng tải động 15
2.4 So sánh giữa kỹ thuật cân bằng tĩnh và cân bằng tải động[11] 16
2.4.1 Bản chất 16
2.4.2 Liên quan phí tổn 16
2.4.3 Tận dụng tài nguyên 17
2.4.4 “Thrashing” hay tiến trình “Dumping” 17
2.4.5 Trạng thái “Woggling” 17
2.4.6 Khả năng tiên đoán 18
2.4.7 Khả năng thích ứng 18
2.4.8 Độ tin cậy 18
2.4.9 Thời gian đáp ứng 18
2.4.10 Khả năng ổn định 18
2.4.11 Liên quan sự phức tạp 19
2.4.12 Chi phí phát triển 19
2.5 Kết luận 20
CHƯƠNG 3: CÁC THUẬT TOÁN CÂN BẰNG TẢI TIÊU BIỂU 21
3.1 Cân bằng tải trong điện toán đám mây 21
3.2 Thuật toán Round-Robin 22
3.3 Thuật toán Weighted Round-Robin 22
3.4 Thuật toán Active Monitoring Load Balancer 23
3.4.1 Mô tả thuật toán [7],[24] 23
3.4.2 Thuật toán 23
3.4.3 Đánh giá 24
CHƯƠNG 4: DỀ XUẤT THUẬT TOÁN CÂN BẰNG TẢI CẢI TIẾN 25
4.1 Giới thiệu 25
4.2 Mô hình cân bằng tải trong điện toán đám mây 29
4.3 Đề xuất thuật toán cải tiến 30
4.3.1 Ý tưởng cải tiến 30
4.3.2 Phân tích hệ thống 30
4.3.3 Cơ sở tính toán cho giải thuật cải tiến 35
4.3.4 Thiết kế thuật toán 38
Trang 104.3.5 Mô phỏng và đánh giá thuật toán cải tiến 40
4.4 Kết luận: 68
CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 69
DANH MỤC TÀI LIỆU THAM KHẢO 70
PHỤ LỤC 73
GIỚI THIỆU VỀ THƯ VIỆN MÔ PHỎNG CLOUDSIM 73
1 Giới thiệu 73
2 Môi trường mô hình mô phỏng CloudSim 73
2.1 Những thuận lợi trong việc nghiên cứu CloudSim 73
2.2.Mô hình hóa đám mây 74
2.3.Thiết kế và thực hiện của CloudSim 75
2.4.Framework lõi CloudSim 78
2.5.Giao tiếp giữa các thực thể 80
Trang 11DANH SÁCH HÌNH VẼ
Hình 2.1 Mô hình điện toán đám mây 7
Hình 2.2 Môi trường điện toán đám mây và cân bằng tải 9 Hình 2.3 Phân loại thuật toán cân bằng tải 11Hình 2.4 Mô hình cân bằng tải ở một nút xử lý 13Hình 2.5 Chiến lược di trú tải trong cân bằng tải động 14Hình 2.6 Tương tác giữa các thành phần của thuật toán cân bằng tải động 15Hình 4.1 Ảnh hưởng các chính sách cung cấp khác nhau đối với sự thực thi
Hình 4.2 Mô hình IaaS điện toán đám mây thông qua thành phần
DatacenterBroker
29
Hình 4.3 Sơ đồ luồng giao tiếp giữa Datacenter với các đối tượng 31
Hình 4.4 Sơ đồ các thành phần trong DatacenterBroker 34Hình 4.5 Lược đồ thuật toán cân bằng tải 39Hình 4.6 Biểu đồ so sánh thời gian đáp ứng trung bình của hai thuật toán
theo chính sách lập lịch Spaceshare-Spaceshare 46Hình 4.7 Biểu đồ so sánh thời gian xử lý dữ liệu trung bình của hai thuật
toán theo chính sách lập lịch Spaceshare-Spaceshare 46Hình 4.8 Biểu đồ so sánh thời gian đáp ứng trung bình của hai thuật toán
theo chính sách lập lịch Timeshare-Spaceshare 51 Hình 4.9 Biểu đồ so sánh thời gian xử lý dữ liệu trung bình của hai thuật
toán theo chính sách lập lịch Timeshare-Spaceshare
52
Trang 12Hình 4.10 Biểu đồ so sánh thời gian đáp ứng trung bình của hai thuật toán
theo chính sách lập lịch Spaceshare-Timeshare 57 Hình 4.11 Biểu đồ so sánh thời gian xử lý dữ liệu trung bình của hai thuật
toán theo chính sách lập lịch Spaceshare-Timeshare
57
Hình 4.12 Biểu đồ so sánh thời gian đáp ứng trung bình của hai thuật toán
theo chính sách lập lịch Timeshare -Timeshare 63
Hình 4.13 Biểu đồ so sánh thời gian xử lý dữ liệu trung bình của hai thuật
toán theo chính sách lập lịch Timeshare -Timeshare 64
Hình 4.14 Biểu đồ so sánh thời gian đáp ứng trung bình giữa bốn chính
Hình 4.15 Biểu đồ so sánh thời gian xử lý trung bình giữa bốn chính sách
Hình PL1: Sơ đồ thiết kế lớp CloudSim 77
Hình PL2: Sơ đồ lớp Framework lõi CloudSim 79
Hình PL3: Luồng giao tiếp giữa các thực thể Cloudsim 81
Trang 13DANH SÁCH BẢNG
Bảng 2.1 So sánh giữa cân bằng tải tĩnh và cân bằng tải động 18 Bảng 4.1 Giá trị tham số thiết lập mô phỏng 41 Bảng 4.2 Tham số thiết lập cấu hình các máy ảo 41 Bảng 4.3 Kết quả thực nghiệm trên thuật toán Active Monitoring Load Balancer –
30 theo chính sách lập lịch SpaceShare-SpaceShare 42 Bảng 4.4 Kết quả thực nghiệm của thuật toán cải tiến-30, theo chính sách lập lịch SpaceShare-SpaceShare
44
Bảng 4.5 Bảng so sánh kết quả thực nghiệm giữa hai thuật toán( Thời gian đáp ứng trung bình và thời gian xử lý trung bình của hai thuật toán) theo chính sách lập lịch Spaceshare-Spaceshare 45 Bảng 4.6 Kết quả thực nghiệm trên thuật toán Active Monitoring Load Balancer –
30 theo chính sách lập lịch TimeShare-SpaceShare 48 Bảng 4.7 Kết quả thực nghiệm của thuật toán cải tiến-30, theo chính sách lập lịch
Bảng 4.8 Bảng so sánh kết quả thực nghiệm giữa hai thuật toán( Thời gian đáp ứng trung bình và thời gian xử lý trung bình của hai thuật toán) theo chính sách lập lịch Timeshare-Spaceshare 49 Bảng 4.9 Kết quả thực nghiệm trên thuật toán Active Monitoring Load Balancer –
Trang 14trung bình và thời gian xử lý trung bình của hai thuật toán) theo chính sách lập lịch Spaceshare-Timeshare 54 Bảng 4.12 Kết quả thực nghiệm trên thuật toán Active Monitoring Load Balancer –
30 theo chính sách lập lịch TimeShare -TimeShare 59 Bảng 4.13 Kết quả thực nghiệm của thuật toán cải tiến-30, theo chính sách lập lịch
Trang 15DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
CIS Cloud Information Service Dịch vụ thông tin đám mây CloudSim Bộ thư viện mô phỏng CloudSim QoS Quality of Service Chất lượng dịch vụ
IaaS Infrastructure as a Service Cơ sở hạ tầng như là dịch vụPaaS Platform as a Service Nền tảng như là dịch vụ
SaaS Software as a Service Phần mềm như là dịch vụ
MIPS Millions Instructions Per Second Triệu chỉ thị trên giây
MI Millions Instructions Triệu chỉ thị
PE Processing Element Phần tử xử lý
VM Virtual Machine Máy ảo
CC Cloud Computing Điện toán đám mây
FIFO First In First Out Vào trước ra trước
IT Green Information Technologies Green Công nghệ thông tin thân thiện
với môi trường Core Lõi xử lý của CPU
Amazon EC2 Amazon Elastic Compute Cloud Nền tảng điện toán đám mây của
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
Trang 16CHƯƠNG 1: GIỚI THIỆU
Hiện nay, khi nhu cầu sử dụng nguồn tài nguyên chung, sử dụng các dịch
vụ thông qua hệ thống mạng nội bộ hoặc trên internet ngày càng lớn, thì việc làm sao đáp ứng được nhu cầu thực tế đó một cách hiệu quả về thời gian, chất lượng dịch vụ và hiệu quả kinh tế Để đáp ứng nhu cầu đó thì tháng 6/2007 mô hình “điện toán đám mây”(Cloud Computing) được đưa ra và được công ty Amazon đẩy mạnh nghiên cứu và triển khai Ngay sau đó, với sự tham gia của các công ty lớn: Microsoft, Google, IBM… thúc đẩy Cloud Computing phát triển mạnh mẽ
“Điện toán đám mây” (ĐTĐM - Cloud Computing) luôn được Gartner xếp trong nhóm đầu tiên các công nghệ chiến lược từ năm 2010 đến nay “Điện toán đám mây là mô hình điện toán cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên tính toán (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng; đồng thời cho phép kết thúc sử dụng dịch
vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các giao tiếp với nhà cung cấp”, đồng thời người dùng chỉ phải trả chi phí cho phần tài nguyên thực sự sử dụng (pay-by-use)
Để đáp ứng được yêu cầu trên thì việc thiết lập một thuật toán cân bằng tải hiệu quả và làm thế nào sử dụng nguồn tài nguyên điện toán đám mây một cách có hiệu quả nhất là mục đích cuối cùng của điện toán đám mây muốn đạt đến
Nên tác giả chọn đề tài: “nghiên cứu kỹ thuật cân bằng tải trong điện
toán đám mây” đi sâu nghiên cứu các kỹ thuật cân bằng tải đang được áp dụng
hiện nay, đồng thời đề xuất cải tiến kỹ thuật cân bằng tải và thực hiện cho khung IaaS trong môi trường mô hình và mô phỏng điện toán đám mây CloudSim, chẳng hạn cho trung tâm dữ liệu để cân bằng tải các yêu cầu giữa các máy ảo có sẵn một cách có hiệu quả và đạt được các thông số hiệu năng tốt nhất của hệ thống như thời gian đáp ứng và thời gian xử lý dữ liệu
Cân bằng tải trong điện toán đám mây là một tiến trình gán lại tổng tải tới một nút tính toán riêng biệt trong hệ thống để tận dụng hiệu quả nguồn tài
Trang 17nguyên tính toán và cải thiện thời gian đáp ứng công việc Đồng thời, loại bỏ tình trạng tải nặng ở một số nút tính toán trong khi những nút tính toán khác trong tình trạng tải nhẹ, bằng cách di chuyển tải từ nút có tải nặng sang nút có tải nhẹ hơn Mục tiêu của kỹ thuật cân bằng tải hướng đến là cải thiện các tham số hiệu năng hệ thống như là: (1) tối thiểu thời gian đáp ứng, (2) tận dụng tài nguyên tính toán, (3) nâng cao thông lượng, (4) khả năng chịu lỗi tốt, (5) cải thiện khả năng mở rộng hệ thống, (6) tối thiểu thời gian di trú công việc, (7) tối thiểu chi phí có liên quan do
di chuyển công việc và (8) giảm tiêu thụ năng lượng cùng với khí thải Carbon Dioxide Do đó mà không có một kỹ thuật cân bằng tải nào có khả năng đáp ứng tốt được tất cả các tham số hiệu năng đám mây
Ngày nay cân bằng tải trong điện toán đám mây là một thách thức lớn đối với các nhà nghiên cứu và nhà cung cấp dịch vụ đám mây dựa trên công nghiệp trên thế giới Việc thiết lập một thuật toán cân bằng tải hiệu quả đáp ứng được hiệu năng hệ thống và làm thế nào sử dụng nguồn tài nguyên điện toán đám mây một cách có hiệu quả nhất là mục đích cuối cùng của điện toán đám mây muốn đạt đến [7] Ở nước ta hiện nay các công trình nghiên cứu về cân bằng tải trong điện toán
đám mây cũng còn hạn chế Vì vậy, luận văn “nghiên cứu kỹ thuật cân bằng
tải trong điện toán đám mây” sẽ đi sâu nghiên cứu các kỹ thuật cân bằng tải
đang được áp dụng hiện nay; đồng thời đề xuất cải tiến một kỹ thuật cân bằng tải động và thực hiện cho khung IaaS trong môi trường mô hình và mô phỏng điện toán đám mây CloudSim Chẳng hạn cho trung tâm dữ liệu để cân bằng tải các yêu cầu giữa các máy ảo có sẵn một cách có hiệu quả và đạt được thông số thời gian đáp ứng tốt nhất có thể
CloudSim là bộ toolkit mô hình và mô phỏng các kịch bản điện toán đám mây Nó cho phép người dùng đánh giá các chiến lược mới trong việc sử dụng đám mây như là các chính sách, thuật toán lập lịch, chính sách sắp xếp và cân bằng tải, CloudSim cung cấp các đặc điểm mới sau đây: (1) hỗ trợ mô hình và mô phỏng môi trường điện toán đám mây qui mô lớn, bao gồm trung tâm dữ liệu, trên một nút tính toán đơn nhất; (2) một nền tảng mô hình đám mây, môi giới dịch
vụ, chính sách phân bổ và cung cấp; (3) hỗ trợ mô phỏng các kết nối mạng giữa các phần tử mô phỏng hệ thống; (4) mô phỏng môi trường liên kết đám mây, nguồn
Trang 18tài nguyên liên mạng của cả hai đám mây private cloud và đám mây public cloud
Môi trường mô phỏng điện toán đám mây CloudSim, đã được một nhóm thuộc khoa khoa học máy tính và công nghệ phần mềm, trường đại học Melbourne, Australia nghiên cứu và phát triển Từ đó đến nay trên thế giới đã có nhiều đề tài nghiên cứu khoa học sử dụng CloudSim mô phỏng thực nghiệm, giúp các nhà khoa học nghiên cứu về điện toán đám mây xây dựng, chứng minh các cơ sở lý thuyết Đồng thời triển khai các kết quả nghiên cứu vào trong môi trường thực tế và đã mang lại nhiều thành công Ở nước ta hiện nay, nghiên cứu về CloudSim còn là vấn đề mới mẽ trong các đề tài khoa học Vì vậy, việc nghiên cứu CloudSim sẽ mở ra hướng tiếp cận mới trong nghiên cứu và phát triển điện toán đám mây
mây
1.2.1 Cải thiện thời gian đáp ứng:
Các nhà nghiên cứu hiện nay tập trung cải thiện thời gian đáp ứng để cân bằng tải trong điện toán đám mây Những công trình nghiên cứu hầu hết thực hiện trong môi trường CloudSim Trong [18], Warstein nhấn mạnh rằng một mô hình
để tìm ra máy ảo phù hợp trong một chu kỳ thời gian rất ngắn khi có bất kỳ yêu cầu nào đến Ông cho rằng máy ảo có tải ít nhất sẽ được chọn xử lý yêu cầu và Id của máy đó sẽ được gởi tới bộ điều khiển datacenter để phân bổ yêu cầu xử lý
Trong [13], giáo sư Meenakshi đã thực nghiệm trong môi trường CloudSim, phân tích sự khác nhau của các thuật toán cân bằng tải máy ảo, đánh giá hiệu quả các thuật toán dựa trên thời gian đáp ứng Một thuật toán cân bằng tải mới đã được đề xuất để đạt được thời gian đáp ứng tốt nhất của mỗi nguồn tài nguyên Theo thực nghiệm này giáo sư Meenakshi và các cộng sự kết luận rằng nếu chọn một máy ảo hiệu quả khi đó nó ảnh hưởng hiệu suất tổng thể đám mây và cũng làm giảm thời gian đáp ứng trung bình
1.2.2 Vấn đề tiêu thụ năng lượng
Trong [12], Nidhi đã đưa hai yếu tố đó là tiêu thụ năng lượng và khí thải carbon để đạt được vấn đề tính toán xanh trong điện toán đám mây Cân bằng tải trong việc tiết kiệm năng lượng, các số liệu như tiêu thụ năng lượng của tất cả các
Trang 19nguồn tài nguyên cũng đã được xem xét Cân bằng tải giúp tránh tình trạng quá nóng bằng cách cân bằng khối lượng công việc trên tất cả các nút của đám mây, do đó làm giảm tiêu thụ năng lượng Lượng khí thải carbon cũng được tính toán trên tất cả các nguồn tài nguyên của hệ thống Tiêu thụ năng lượng và khí thải carbon đi song hành, càng có nhiều năng lượng được tiêu thụ, lượng khí thải carbon
sẽ càng cao
1.2.3 Vấn đề di trú máy ảo
Trong [9], Jinhua trình bày một chiến lược cân bằng tải nguồn tài nguyên máy ảo dựa trên thuật toán di truyền Dựa trên lịch sử dữ liệu và trạng thái hiện tại của hệ thống, thuật toán di truyền này tính trước các ảnh hưởng mà nó sẽ có trên toàn bộ hệ thống, khi triển khai các nguồn tài nguyên dịch vụ máy ảo cần thiết tại mỗi nút vật lý Sau đó chọn một giải pháp ít ảnh hưởng nhất, thông qua giải pháp này nó đạt được cân bằng tải tốt nhất và giảm hoặc tránh di trú động Chiến lược này giải quyết vấn đề mất cân bằng tải, chi phí di trú cao bởi các thuật toán truyền thống sau khi lập lịch Kết quả thực nghiệm chứng minh phương pháp này
có thể hiện thực cân bằng tải và sử dụng nguồn tài nguyên hợp lý cả khi tải hệ thống ổn định và biến đổi
Luận văn xác định mục tiêu chính là (1) nghiên cứu kỹ thuật cân bằng tải hiện nay trong điện toán đám mây trên cơ sở đó đề xuất cải tiến thuật toán cân
bằng tải động Active Monitoring Load Balancer [7],[13] để đạt được thời gian
đáp ứng yêu cầu xử lý tốt hơn Đánh giá hiệu quả của đề xuất cải tiến này trong môi trường mô hình và mô phỏng điện toán đám mây CloudSim; Đồng thời (2) nghiên cứu hướng tiếp cận mới về điện toán đám mây thông qua môi trường CloudSim
Luận văn này được xây dựng với nội dung gồm 5 chương như sau đây:
MỞ ĐẦU
CHƯƠNG 1: GIỚI THIỆU
CHƯƠNG 2: CÂN BẰNG TẢI TRONG ĐIỆN TOÁN ĐÁM MÂY CHƯƠNG 3: CÁC THUẬT TOÁN CÂN BẰNG TẢI TIÊU BIỂU
Trang 20CHƯƠNG 4: DỀ XUẤT THUẬT TOÁN CÂN BẰNG TẢI CẢI TIẾN CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ
CHƯƠNG 2: Trình bày cơ sở lý thuyết tổng quan về cân bằng tải, mục tiêu của cân bằng tải trong điện toán đám mây; đo lường để đánh giá hiệu quả của kỹ thuật cân bằng tải; các thuật toán cân bằng tải và các chiến lược cân bằng tải hiện nay
CHƯƠNG 3: Trình bày mô hình cân bằng tải trong điện toán đám mây, những hạn chế của các kỹ thuật cân bằng tải hiện nay Tập trung phân tích, đánh giá thuật toán cân bằng tải động Active Monitoring Load Balancer Trên cơ sở đó phát hiện hạn chế và có đề xuất thuật toán cải tiến để cải thiện thời gian đáp ứng tốt hơn Mô phỏng thực nghiệm đề xuất cải tiến được thực hiện trên môi trường CloudSim, từ đó đánh giá, kết luận
CHƯƠNG 4: Trình bày ý tưởng, phân tích, thiết kế giải thuật và tiến hành thực hiện mô phỏng thuật toán cân bằng tải cải tiến Dựa vào kết quả mô phỏng đi đến đánh giá kết quả của thuật toán cân bằng tải cải tiến so với thuật toán cân bằng tải động Active Monitoring Load Balancer về hiệu năng điện toán đám mây như là thời gian đáp ứng, thời gian xử lý dữ liệu
CHƯƠNG 5: Phần kết luận và kiến nghị trình bày kết luận của luận văn và các kiến nghị định hướng nghiên cứu tiếp theo
Trang 21CHƯƠNG 2: CÂN BẰNG TẢI TRONG ĐIỆN TOÁN ĐÁM
MÂY
Khái niệm điện toán đám mây(Cloud Computing)
Tác giả thấy rằng định nghĩa của NIST là rõ ràng với cách nhìn bao quát:
“Cloud Computing”(CC) là mô hình điện toán cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên tính toán (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng, đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các giao tiếp với nhà cung cấp”
Theo đó, mô hình chính là cho phép sử dụng dịch vụ theo yêu cầu demam service); cung cấp khả năng truy cập dịch vụ qua mạng rộng rãi từ máy tính
(on-để bàn, máy tính xách tay tới thiết bị di động (broad net-work access); với tài nguyên tính toán động, phục vụ nhiều người (resource pooling for multi-tenanci), năng lực tính toán phần mềm dẻo, đáp ứng nhanh với nhu cầu thấp tới cao (rapid elasticity) Mô hình CC cũng đảm bảo việc sử dụng các tài nguyên được “đo” để nâng cấp dịch vụ quản trị và tối ưu được tài nguyên, đồng thời người dùng chỉ phải trả chi phí cho phần tài nguyên đã sử dụng (pay-by-use)
Trang 22Hình 2.1 Mô hình điện toán đám mây
2.2.1 Giới thiệu kỹ thuật cân bằng tải
Cân bằng tải là kỹ thuật phân phối khối lượng công việc đồng đều giữa hai hoặc nhiều máy tính, kết nối mạng, CPU, ổ cứng, hoặc các nguồn lực phân tán
to lớn trên mạng, để có thể tận dụng có hiệu quả các nguồn lực, tối đa hóa thông lượng, cải thiện thời gian đáp ứng và thời gian xử lý dữ liệu; Đồng thời tránh tình trạng quá tải một số nút tính toán trong khi những nút khác được nạp tải nhẹ khi có nhiều yêu cầu xử lý cần được đáp ứng Kỹ thuật cân bằng tải hiện nay chủ yếu tập trung vào hai kỹ thuật là cân bằng tải tĩnh và cân bằng tải động
Kỹ thuật cân bằng tải tĩnh không thu thập thông tin trạng thái hiện tại hệ thống Những yếu tố được đo lường trước khi gán công việc cho một nút tính toán như thời gian đến, qui mô nguồn tài nguyên, thời gian thực thi và giao tiếp các tiến trình
Kỹ thuật cân bằng tải động trong tự nhiên không xem xét trạng thái trước đó hoặc hành vi của hệ thống, nó chỉ phụ thuộc vào hành vi hiện tại của hệ thống
Trang 23Những yếu tố quan trọng khi xem xét phát triển kỹ thuật cân bằng tải động là ước lượng tải, so sánh tải, khả năng ổn định của hệ thống khác nhau, hiệu suất của hệ thống, tương tác giữa các nút, tính chất của công việc được chuyển giao Tải này
có thể được xem xét trong các thuật ngữ của tải CPU, số lượng bộ nhớ sử dụng,
độ trễ hoặc tải trên mạng Khi một khối lượng tải cho trước được đệ trình cho bất
kỳ cụm nút Tải cho trước này có thể được thực thi hiệu quả nếu nguồn tài nguyên sẵn có được sử dụng hiệu quả Do đó phải có một cơ chế để lựa chọn các nút có các nguồn tài nguyên Lập lịch là một thành phần hay cơ chế chịu trách nhiệm chọn một nút hay cụm nút Cơ chế này sẽ xem xét trạng thái cân bằng tải Vì vậy, lập lịch cần các thuật toán cân bằng tải để giải quyết vấn đề như vậy Trong thực tế, cân bằng tải ảnh hưởng bởi ba yếu tố chính [20]: (1) Môi trường muốn cân bằng tải, (2) Bản chất của tải của nó, (3) Công cụ cân bằng tải sẵn có
2.2.2 Mục đích cân bằng tải
Mục đích của kỹ thuật cân bằng tải là cải thiện hiệu năng của toàn bộ
hệ thống một cách cơ bản; giảm thiểu thời gian chờ của công việc; có một kế hoạch
dự phòng trong trường hợp hệ thống bị lỗi thậm chí một phần; duy trì sự ổn định
và thích ứng sự biến đổi trong tương lai của hệ thống; đảm bảo những công việc nhỏ không bị đói trong thời gian dài; đồng thời cũng phải đảm bảo hạn chế tình trạng một nút có tải nặng trong khi những nút khác chỉ chịu tải nhẹ [15],[20] Vì vậy, nhiều kỹ thuật cân bằng tải đã được phát triển trong nhiều năm qua nhưng không có một kỹ thuật nào là thích hợp cho tất cả các ứng dụng, các hệ thống tính toán phân tán Việc lựa chọn một kỹ thuật cân bằng tải tương ứng phụ thuộc thông
số các ứng dụng cũng như các thông số phần cứng Hình 2.2 trình bày mô hình cân bằng tải trong điện toán đám mây
Trang 24Hình 2.2 Môi trường điện toán đám mây và cân bằng tải [20] 2.2.3 Cân bằng tải trong điện toán đám mây
Ngày nay, với sự phát triển rộng khắp của Internet và các ứng dụng trực tuyến đang được rất nhiều người truy cập Do đó, lưu lượng quá lớn làm cho hệ thống máy chủ của một tổ chức không thể đáp ứng nổi yêu cầu truy cập bùng nổ
và các yêu cầu tính toán lớn Bên cạnh đó, sự phát triển mạnh mẽ của cơ sở hạ tầng mạng tốc độ cao, năng lực xử lý của các máy chủ ngày càng mạnh mẽ đã dẫn đến
sự ra đời của các hệ thống phân tán Nên cần thiết tập hợp cơ sở hạ tầng mạng, khả năng xử lý của hệ thống máy chủ, các hệ thống phân tán dựa trên nền tảng công nghệ ảo hóa thông qua môi trường Internet thành một hệ thống điện toán đám mây có thể cung cấp cơ sở hạ tầng như một dịch vụ IaaS, nền tảng như là một dịch vụ PaaS, phần mềm như một dịch vụ SaaS
Cân bằng tải trong điện toán đám mây là một phương pháp để phân phối
Trang 25khối lượng công việc khắp một hoặc cụm nút tính toán, hay giữa các nguồn lực tính toán đồ sộ trên mạng được phân tán khắp mọi nơi trên Internet Ngày nay, việc triển khai trung tâm dữ liệu qui mô lớn dựa trên cơ sở hạ tầng mạng và phần cứng tính toán lớn với khả năng xử lý mạnh mẽ Cân bằng tải và kiến trúc cân bằng tải truyền thống sử dụng các máy chủ để thực hiện Nhưng cân bằng tải trong điện toán đám mây khác với suy nghĩ trước đây về sự thực hiện và kiến trúc Nó được mở rộng hơn về quy mô, có thể là cân bằng giữa các Datacenter, nút tính toán lớn, cụm nút tính toán hay giữa các đám mây với nhau
2.2.4 Đo lường cân bằng tải trong điện toán đám mây
Các kỹ thuật cân bằng tải trong điện toán đám mây hiện nay xem xét các tham số khác nhau như hiệu suất, thời gian đáp ứng, khả năng mở rộng, thông lượng, sử dụng tài nguyên, khả năng chịu lỗi, thời gian di trú và chi phí liên quan Nhưng đối với cân bằng tải nhằm mục đích tiết kiệm năng lượng khi đó lượng khí thải carbon cũng được xem xét đến [20]
Liên quan đến phí tổn: xác định phí tổn liên quan trong khi thực hiện thuật toán cân bằng tải Nó bao gồm các chi phí do di chuyển các tác vụ, liên bộ xử lý, liên tiến trình Điều này nên giảm thiểu để kỹ thuật cân bằng tải có thể làm việc hiệu quả
Thông lượng: được sử dụng để tính toán số lượng các tác vụ mà sự thực thi các tác vụ này đã được hoàn thành Nó nên tăng lên để cải thiện hiệu năng hệ thống Hiệu năng: được dùng để kiểm tra hiệu quả của hệ thống Nó phải được cải thiện với chi phí hợp lý, tức là giảm thời gian đáp ứng trong khi vẫn giữ được độ trễ có thể chấp nhận được
Sự tận dụng nguồn tài nguyên: được dùng để kiểm tra mức độ sử dụng nguồn tài nguyên sẵn có Nó nên được tối ưu để cân bằng tải hiệu quả
Khả năng mở rộng: là khả năng của một thuật toán để thực hiện cân bằng tải cho một hệ thống với bất kỳ hữu hạn các nút Đo lường này nên được cải thiện Thời gian đáp ứng: là lượng thời gian thực hiện để đáp ứng bởi một thuật toán cân bằng tải cụ thể trong một hệ thống phân tán Tham số này nên được
Trang 26tối thiểu
Khả năng chịu lỗi: khả năng của một thuật toán để thực hiện thống nhất cân bằng tải mặc dù một hay nhiều nút nào đó hoặc liên kết bị lỗi Cân bằng tải phải
là kỹ thuật chịu lỗi tốt
Thời gian di trú: là thời gian di trú các công việc hoặc tài nguyên từ nút này tới nút khác Nó nên được tối thiểu để tăng cường hiệu năng của hệ thống
Khí thải carbon: tính toán khí thải Carbon Dioxide của tất cả các nguồn tài nguyên tính toán trong hệ thống Tiêu thụ năng lượng và khí thải Carbon Dioxide
đi song hành, càng có nhiều năng lượng tiêu thụ, lượng khí thải carbon càng cao
Vì thế để cân bằng tải năng lượng hiệu quả, nó cần được giảm
Trong hệ thống điện toán đám mây mỗi nút tính toán có khả năng xử lý khối lượng công việc khác nhau Khối lượng công việc được phân phối đến chúng và được xử lý có thể dẫn đến trường hợp sau: tất cả các công việc được xử lý bởi cùng một nút và việc phân phối này có thể làm cho hệ thống bị quá tải Sự quá tải này
là do một số nút tính toán phải xử lý nhiều công việc trong khi những những nút khác trong tình trạng tải nhẹ hoặc không tải và do đó hiệu năng hệ thống bị giảm sút
Khi bắt đầu nghiên cứu kỹ thuật cân bằng tải trong điện toán đám mây một trong những cách tiếp cận là làm thế nào để chia sẽ tải cho các nút tính toán Người
ta giả định rằng các tiến trình được chia thành các tác vụ nhỏ Yêu cầu tính toán của các tác vụ và tốc độ của bộ xử lý được biết Chi phí xử lý các tác vụ trên các nút được biết, chi phí truyền thông giữa mỗi cặp tác vụ được biết Yêu cầu nguồn tài nguyên và các nguồn lực sẵn có trên các nút tính toán được biết và việc gán lại các tác vụ là không thể Ý tưởng cơ bản của cách tiếp cận này là tìm kiếm sự phân công tối ưu để đạt được mục đích tối thiểu chi phí truyền thông trên mạng, thời gian hoàn thành của các tác vụ được nhanh chóng, mức độ xử lý song song cao, tận dụng hiệu quả các nguồn tài nguyên tính toán
Trang 27Một cách tiếp cận nữa là “cân bằng tải”, nói chung kỹ thuật cân bằng tải được phân thành 2 loại chính đó là cân bằng tải phụ thuộc vào trạng thái hệ thống
và phụ thuộc vào người khởi tạo tiến trình Trong loại đầu tiên chia thành hai loại
là cân bằng tải tĩnh và cân bằng tải động Đối với phụ thuộc vào người khởi tạo tiến trình có thể chia thành ba loại là được khởi tạo bởi người gởi, được khởi tạo bởi người nhận và dựa trên đối xứng Cân bằng tải động có thể phân hai loại như phân tán và không phân tán [21] Trường hợp phân tán được phân thành hai loại hợp tác và phi hợp tác Trong hợp tác, các nút làm việc side-by-side để đạt được một mục đích chung là cải thiện tổng thể thời gian đáp ứng, Trong phi hợp tác, mỗi nút làm việc độc lập để hướng tới một mục đích là cải thiện thời gian đáp ứng của một tác vụ cục bộ Trong loại không phân tán, hoặc một nút hoặc một nhóm các nút thực hiện tác vụ cân bằng tải Thuật toán cân bằng tải động không phân tán có thể có hai hình thức: tập trung và bán phân tán Trong hình thức đầu, thuật toán cân bằng tải chỉ được thực thi bởi một nút đơn lẻ, nút trung tâm, trong
cả hệ thống Trong hình thức bán phân tán, các nút của hệ thống được phân chia thành các cụm và việc cân bằng tải ở mỗi cụm là hình thức tập trung Nút trung tâm ở mỗi cụm được bầu chọn ở mỗi cụm bởi kỹ thuật bầu cử thích hợp, nó theo dõi việc cân bằng tải cụm đó Hình 2.8 biểu diễn phân loại tư duy thuật toán cân bằng tải
Hình 2.3 Phân loại thuật toán cân bằng tải [21]
Trang 282.3.1 Cân bằng tải tĩnh
Trong cân bằng tải tĩnh các tiến trình được giao cho bộ xử lý ở thời điểm biên dịch theo hiệu năng của các nút tính toán Một khi các tiến trình được giao, không gán lại ở thời gian chạy, qui tắc được lập trình trước và không thay đổi Số lượng công việc ở mỗi nút là cố định trong cân bằng tải tĩnh Cân bằng tải tĩnh không thu thập bất kỳ thông tin về các nút Việc phân phối công việc cho các nút tính toán dựa trên các yếu tố sau: thời gian đến, qui mô nguồn lực sẵn có, thời gian thực thi và phân phối giao tiếp các tiến trình Vì các yếu tố cần được đo trước khi gán, đây là lý do tại sao cân bằng tải tĩnh còn được gọi thuật toán xác suất Như vậy, không có sự di trú công việc ở thời gian chạy [11] Thuật toán được biết như một thí dụ điển hình cho loại cân bằng tải tĩnh là Round-Robin và một kỹ thuật phân phối tốt hơn được cải tiến được là Weighted Round-Robin Hình 2.4 cho thấy sơ đồ cân bằng tải tĩnh trong đó các tác vụ đến hàng đợi “hàng đợi chuyển giao” Một công việc được chuyển giao cho một nút ở xa hoặc có thể được gán tới hàng đợi “hàng đợi ngưỡng” từ hàng đợi “hàng đợi chuyển giao” Khi một công việc được gán tới hàng đợi “hàng đợi ngưỡng”, nó không thể được di trú tới bất kỳ nút nào Một công việc đến tại nút bất kỳ hoặc xử lý bởi nút đó hoặc chuyển sang một nút khác để xử lý từ xa thông qua mạng truyền thông
Hình 2.4 Mô hình cân bằng tải ở một nút xử lý [11]
Trang 29nó bao gồm các nút với tốc độ khác nhau, tốc độ liên kết truyền thông khác nhau, kích cở bộ nhớ khác nhau, và tải bên ngoài có thể biến đổi do bội số Số lượng các chiến lược cân bằng tải đã được phát triển và phân loại từ trước đến nay để hệ thống đạt được hiệu suất cao [11][14] Hình 2.5 biểu diễn một kỹ thuật cân bằng tải động đơn giản để chuyển công việc từ tải nặng tới nút có tải nhẹ hơn
Hình 2.5 Chiến lược di trú tải trong cân bằng tải động [11]
Trang 30 Chính sách và chiến lược trong cân bằng tải động:
Hình 2.6 Tương tác giữa các thành phần của thuật toán cân bằng tải động [20]
Hình 2.5 trình bày các thành phần trong cân bằng tải động Có bốn chính sách:
Chính sách chuyển giao: một phần của thuật toán cân bằng tải động chọn lựa một công việc để chuyển giao từ một nút cục bộ tới nút ở xa dựa vào chính sách chuyển giao hay chiến lược chuyển giao
Chính sách lựa chọn: nó xác định bộ xử lý liên quan đến trao đổi tải
Chính sách vị trí: một phần của thuật toán cân bằng tải lựa chọn một nút đích cho một tác vụ được chuyển giao dựa vào chính sách vị trí hoặc chiến lược
vị trí
Chính sách thông tin: Một phần của thuật toán cân bằng tải chịu trách nhiệm tập hợp thông tin về các nút trong hệ thống dựa vào chính sách thông tin hoặc chiến lược thông tin
2.3.3 Vấn đề trong cân bằng tải động
Thiết kế thuật toán cân bằng tải động những vấn đề sau được xem xét [11]:
a Phân công công việc cho nút tính toán phải theo tình trạng hiện tại của hệ thống
b Việc tính toán tải nói lên làm thế nào để tính toán khối lượng công việc của
Trang 31một nút cụ thể trong hệ thống
c Chuyển giao công việc, xác định liệu một công việc sẽ được thực thi ở cục
bộ hay từ xa
d Trạng thái hệ thống nói lên liệu một nút bị quá tải hay tải nhẹ
e Phân công ưu tiên nói lên liệu sự ưu tiên thực thi của tiến trình cục bộ và
từ xa ở một nút cụ thể
f Trao đổi thông tin tải hệ thống giữa các nút Chính sách thông tin bao gồm các bước sau: (1) Yêu cầu: Bộ xử lý bắt đầu tập hợp thông tin tải của các nút khác khi hoạt động cân bằng tải bắt đầu (2) Định kỳ: Bộ xử lý thông báo thông tin tải của chúng theo một khoảng thường xuyên giữa hai
sự kiện tới các nút khác (3) Chuyển trạng thái: khi một bộ xử lý chuyển trạng thái của nó, nó lập tức thông báo tới nút khác qua thông điệp truyền
g Giới hạn di trú xác định tần số truyền đó là bao nhiêu thời gian một tiến trình có thể di trú từ một nút tới một nút khác
2.4.1 Bản chất
Trong cân bằng tải tĩnh khối lượng công việc được giao cho bộ xử lý ở thời điểm biên dịch, tiến trình không thay đổi hoặc gán lại ở thời gian chạy Ngược lại, đối với cân bằng tải động khối lượng công việc được gán tại thời gian chạy Thuật toán cân bằng tải tĩnh chỉ sử dụng thông tin về hành vi trung bình của hệ thống, nó
bỏ qua trạng thái hiện tại hoặc tải của các nút trong hệ thống Trong khi đó cân bằng tải động cần phải tập hợp thông tin của hệ thống trước khi thực thi, nghĩa là công việc được giao phụ thuộc vào tải của hệ thống tại thời gian chạy Do đó mà thuật toán cân bằng tải tĩnh đơn giản hơn rất nhiều so với thuật toán cân bằng tải động Cân bằng tải động có thể cho hiệu suất tốt hơn đáng kể[11]
2.4.2 Liên quan phí tổn
Trong thuật toán cân bằng tải tĩnh sự phân phối lại các tác vụ là không thể và không có phí tổn liên quan đến thời gian chạy Nhưng một ít phí tổn có thể xảy
Trang 32ra do truyền thông trên mạng Trong trường hợp thuật toán cân bằng tải động việc phân công lại các vụ được thực hiện trong thời gian chạy vì thế có phí tổn đáng kể được tính đến Do đó, rõ ràng là cân bằng tải tĩnh có số lượng ít phí tổn hơn so với cân bằng tải động
2.4.3 Tận dụng tài nguyên
Mặc dù thời gian đáp ứng là tối thiểu trong cân bằng tải tĩnh, nhưng nó có khả năng tận dụng nguồn tài nguyên nghèo nàn Bởi vì, có một điều không thực tế khi tất cả các công việc đệ trình đến bộ xử lý tương ứng cùng thời điểm Điều đó
có nghĩa là có một khả năng lớn một số bộ xử lý sẽ chờ sau khi hoàn thành công việc được gán cho chúng, một số bộ xử lý còn lại vẫn bận do không có chính sách phân công lại công việc Trong cân bằng tải động, kể từ khi có chính sách tái phân công công việc tồn tại ở thời gian chạy, khả năng hoàn thành tất cả các công việc gần như cùng một lúc Vì vậy, cân bằng tải động sử dụng nguồn tài nguyên tốt hơn so với cân bằng tải tĩnh
2.4.4 “Thrashing” hay tiến trình “Dumping”
Thuật ngữ “Thrashing” biểu thị phí tổn cao quá mức và hiệu suất xuống cấp nghiêm trọng hoặc sự sụp đổ gây ra bởi quá nhiều phân trang “Thrashing” chắc chắn làm cho thiếu không gian bộ nhớ thành một số dư của thời gian xử lý Một bộ xử lý được gọi là “thrashing” nếu nó đang dành nhiều thời gian để di chuyển các công việc hơn thực thi bất kỳ công việc có ích Bởi vì mức độ di chuyển ít hơn, bộ xử lý sẽ bị “thrashing” ít hơn Vì thế cân bằng tải tĩnh không phải bị “tharshing” nhưng cân bằng tải động gánh chịu một “thrashing” đáng kể
do tiến trình di chuyển trong thời gian chạy
2.4.5 Trạng thái “Woggling”
Nó tương ứng với trạng thái thay đổi thường xuyên bởi bộ xử lý giữa mức thấp và cao Nó là một yếu tố làm giảm hiệu suất của hệ thống
Trang 332.4.6 Khả năng tiên đoán
Khả năng tiên đoán là khả năng có thể dự đoán hành vi của một thuật toán Hành vi của một thuật toán cân bằng tải tĩnh có thể dự đoán trước, bởi vì mọi thứ được biết trước khi biên dịch Ngược lại, hành vi của thuật toán cân bằng tải động là không thể dự đoán trước, vì tất cả mọi thứ được thực hiện tại thời gian chạy
2.4.7 Khả năng thích ứng
Khả năng thích ứng xác định liệu một thuật toán sẽ điều chỉnh bởi chính nó với sự thay đổi trạng thái hệ thống Cân bằng tải tĩnh không có khả năng thích ứng với sự thay đổi của môi trường Nhưng cân bằng tải động có khả năng đó
2.4.8 Độ tin cậy
Độ tin cậy liên quan với khả năng chịu lỗi của hệ thống, nếu một nút tính toán bị lỗi, hệ thống vẫn sẽ làm việc mà không có bất kỳ lỗi nào Cân bằng tải tĩnh không đáng tin cậy, vì không có khả năng thích ứng với sự thay đổi của một trạng thái hệ thống Nhưng cân bằng tải động có sự thích ứng mạnh, nên cân bằng tải động đáng tin cậy hơn
2.4.9 Thời gian đáp ứng
Thời gian đáp ứng đo lường bao nhiêu thời gian được thực hiện bởi một hệ thống áp dụng một thuật toán cân bằng tải đặc biệt để đáp ứng một công việc Cân bằng tải tĩnh có thời gian đáp ứng ngắn hơn, bởi vì bộ xử lý tham gia đầy đủ vào
xử lý do không có công việc chuyển giao Nhưng cân bằng tải động có thời gian đáp ứng lớn bởi vì bộ xử lý không thể tham gia đầy đủ vào xử lý do sự hiện diện của chính sách chuyển giao công việc
2.4.10 Khả năng ổn định
Cân bằng tải tĩnh ổn định hơn vì mọi thứ được biết trước khi biên dịch và chuyển giao khối lượng công việc được thực hiện Nhưng cân bằng tải động không phải là quá ổn định như cân bằng tải tĩnh bởi vì nó liên quan cả thời điểm biên dịch phân công công việc và phân phối khối lượng công việc khi cần thiết
Trang 342.4.11 Liên quan sự phức tạp
Thuật toán cân bằng tải tĩnh dễ dàng xây dựng trong khi thuật toán cân bằng tải động thì không dễ để phát triển, bởi vì không có gì được biết trước Mặc dù cân bằng tải động là phức tạp, nhưng những lợi ích của nó nhiều hơn là sự phức tạp
2.4.12 Chi phí phát triển
Càng phức tạp ngụ ý chi phí phát triển thuật toán càng lớn Vì thế, thuật toán cân bằng tải tĩnh chịu chi phí ít hơn so với thuật toán cân bằng tải động So sánh thuật toán cân bằng tải động và cân bằng tải động được tổng kết trong bảng 2.1 sau :
Trang 35Bảng 2.1 So sánh giữa cân bằng tải tĩnh và cân bằng tải động [11]
Thuật toán cân bằng tải Cân bằng tải tĩnh Cân bằng tải động
1 Bản chất Khối lượng công việc được giao ở
thời điểm biên dịch
Khối lượng công việc được giao ở thời gian chạy
2 Liên quan phí tổn Ít phí tổn do
truyền thông trên mạng
Phí tổn cao hơn do tiến trình phân phối lại
4 Thrashing bộ xử lý Không thrashing Thrashing đáng kể
5 Trạng thái woggling Không woggling Woggling đáng kể
6 Khả năng dự đoán Dễ dự đoán Khó dự đoán
7 Khả năng thích ứng Ít thích ứng Thích ứng nhiều hơn
8 Khả năng tinh cậy Ít Nhiều
9 Thời gian đáp ứng Ngắn Dài hơn
10 Khả năng ổn định Nhiều hơn Ít hơn
11 Sự phức tạp Ít Nhiều hơn
12 Chi phí Ít Nhiều hơn
2.5 Kết luận
Chương này trình bày cơ sở lý thuyết tổng quát về cân bằng tải trong điện toán đám mây hiện nay Các kỹ thuật cân bằng tải đang được áp dụng hiện nay, chủ yếu là hai loại: phụ thuộc vào trạng thái hệ thống và phụ thuộc vào người gởi tiến trình Trong đó nhấn mạnh hai kỹ thuật cân bằng tải tĩnh và cân bằng tải động
mà luận văn tập trung nghiên cứu, các tiêu chí so sánh đánh giá hiệu quả giữa hai
kỹ thuật này
Trang 36CHƯƠNG 3: CÁC THUẬT TOÁN CÂN BẰNG TẢI TIÊU BIỂU
3.1 Cân bằng tải trong điện toán đám mây
Vấn đề cốt lõi trong điện toán đám mây ra hiện nay là làm thế nào sử dụng các nguồn tài nguyên tính toán một cách có hiệu quả nhất và xây dựng một thuật toán cân bằng tải hiệu quả, đó là mục tiêu cuối cùng của nhà nghiên cứu và nhà phát triển công nghiệp dựa trên điện toán đám mây muốn hướng đến Cân bằng tải đảm bảo rằng không có các nguồn tài nguyên hiện có ở trạng thái rỗi trong khi nguồn tài nguyên khác đang bị quá tải Đo lường để đánh giá hiệu quả của kỹ thuật cân bằng tải trong điện toán đám mây hiện nay tập trung xem xét, phân tích, đánh giá các tiêu chí khác nhau như tăng hiệu suất của mỗi nút tính toán, giảm thời gian đáp ứng, khả năng mở rộng, cải thiện thông lượng, tối đa sử dụng nguồn tài nguyên, tăng khả năng chịu lỗi, giảm thiểu thời gian di trú, đảm bảo những công việc nhỏ không đói trong thời gian dài, giảm thiểu phí tổn liên quan, và hiệu quả năng lượng cũng là vấn đề cần phải được tính đến Vì vậy để đạt được một kỹ thuật cân bằng tải tối ưu tất cả các tham số hiệu năng hệ thống điện toán đám mây là một vấn đề không dễ đạt được Do đó không có một kỹ thuật cân bằng tải nào có khả năng đáp ứng một cách có hiệu quả cho tất cả các ứng dụng, mà phải tùy theo điều kiện cụ thể để có một giải pháp áp dụng phù hợp và hiệu quả Vấn
đề này đã được trình bày chi tiết trong chương 2
Cân bằng tải trong mô hình phân phối tải bởi thành phần DatacenterBroker, như được trình bày trong hình 4.1, là chọn máy ảo để phân phối các tác vụ đến được yêu cầu bởi người dùng theo hai phương thức: (1) không quan tâm đến bất kỳ
sự hiểu biết về trạng thái hiện tại của hệ thống khi phân phối tải, (2) dựa trên sự hiểu biết về trạng thái các thành phần hiện tại của hệ thống khi phân phối tải Hai yếu tố quan trọng ảnh hưởng trạng thái hệ thống trong cân bằng tải của thành phần DatacenterBroker cần phải quan tâm là tải và công suất của máy ảo Trong kỹ thuật cân bằng tải chọn máy ảo để phân phối tải đến theo phương thức không quan tâm đến trạng thái hệ thống đó là cân bằng tải tĩnh Round-Robin, và một kỹ thuật phân phối tải được cải tiến tốt hơn là Weighted Round-Robin Ngược lại, chiến lược
Trang 37tập hợp thông tin về trạng thái hệ thống để chọn máy ảo phân phối tải đến được áp dụng trong kỹ thuật cân bằng tải động như Active Monitoring Load Balancer Trong chương này chọn kỹ thuật cân bằng tải động Active Monitoring Load Balancer để kiểm tra, phân tích, đánh giá hiệu suất các thuật toán cân bằng tải tĩnh
và thuật toán cân bằng tải động trong môi trường đám mây mà năng lực xử lý của các máy ảo là không đồng nhất
Thuật toán cân bằng tải Round-Robin cố gắng phân phối tải đến các máy ảo theo thứ tự vòng tròn luân phiên công bằng Ý tưởng của Round-Robin là tất cả các máy ảo trong danh sách FIFO điều nhận được tải như nhau theo thứ tự vòng tròn mà không cần quan tâm đến năng lực xử lý của chúng khi phân phối tải đến Điều này sẽ là hiệu quả đối với một hệ thống mà tất cả các máy ảo có năng lực
xử lý như nhau Nhưng cũng chính điều này có thể dẫn đến việc một máy ảo có công suất lớn hơn những máy ảo còn lại phải đợi để được phân bổ tải tiếp theo khi
mà nó đã xử lý xong tải Trong khi những máy khác phải bận xử lý các tác vụ trên
nó với tình trạng tải nặng, đối với hệ thống mà năng lực xử lý của mỗi máy ảo
là khác nhau Như vậy, thời gian đáp ứng của yêu cầu xử lý không đạt được hiệu quả cao đối với các máy ảo có năng lực xử lý khác nhau trong hệ thống và có thể dẫn đến sự đói trên các máy ảo có năng lực xử lý mạnh hơn các máy ảo còn lại
Thuật toán Weighted Round-Robin thực hiện ưu điểm phân phối vòng tròn luân phiên của thuật toán Round-Robin và cách phân bổ tải ưu tiên hơn dựa vào năng lực của mỗi máy ảo được thể hiện bằng một trọng số của nó Các yêu cầu xử lý hay ứng dụng dịch vụ được phân phối đến máy ảo theo thứ tự vòng tròn luân phiên Nhưng nó còn kết hợp khả năng xử lý của từng máy ảo dựa trên “trọng số” Do đó máy ảo có năng lực xử lý mạnh hơn sẽ được phân bổ nhiều yêu cầu
xử lý hơn so với những máy ảo còn Vì thế nó thắc phục được điểm hạn chế của thuật toán Round Robin là trong trường hợp máy ảo có năng lực xử lý mạnh
Trang 38nhất không phải chờ yêu cầu xử lý hoặc xử lý rất ít Hay nói cách khác là có thể loại bỏ được vấn đề sự đói, giúp cải thiện thời gian đáp ứng yêu cầu một cách tốt hơn Tuy nhiên, vấn đề chính trong chính sách cân bằng tải tĩnh của hai thuật toán Round-Robin và Weighted Round-Robin phải đối mặt là chúng không xem xét những yêu cầu cân bằng tải nâng cao như là thời gian xử lý cho mỗi yêu cầu riêng
lẻ Ở mỗi thời điểm phân phối các yêu cầu cho máy ảo, hai kỹ thuật này không dựa vào thông tin trạng thái tải của mỗi máy ảo, mà nó chỉ dựa vào thông tin biết trước khi phân phối tải
3.4.1 Mô tả thuật toán
Chính sách cân bằng tải trong thuật toán này cố gắng duy trì tải công bằng trên tất cả các máy ảo sẵn có[7],[24] Thuật toán duy trì thông tin về mỗi máy
ảo và số lượng yêu cầu hiện tại được cấp phát tới máy ảo Khi một yêu cầu cấp phát một máy ảo đến, DatacenterBroker sẽ xác định máy ảo có tải ít nhất Nếu có nhiều hơn một, xác định đầu tiên được chọn Sau khi DatacenterBroker xác định id máy ảo, DatacenterBroker gởi yêu cầu tới máy ảo được xác định bởi id
đó và cập nhật tăng số cấp phát Cloudlet cho máy ảo Khi DatacenterBroker nhận đáp ứng từ Cloudlet nó giảm số cấp phát cho máy ảo đi một
3.4.2 Thuật toán
Bước 1: Khởi tạo DatacenterBroker duy trì một bảng chỉ mục của các máy
ảo và số lượng yêu cầu hiện tại được phân bổ tới máy ảo Tại thời điểm bắt đầu tất cả máy ảo chưa được cấp phát
Bước 2: Khi một yêu cầu phân bổ một máy ảo mới đến DatacenterBroker, nó
phân tích bảng chỉ mục và xác định máy ảo có tải ít nhất Nếu có nhiều hơn một, xác định đầu tiên được chọn
Bước 3: DatacenterBroker xác định id máy ảo
Bước 4: DatacenterBroker gởi yêu cầu tới máy ảo được xác định bởi id
đó
Bước 5: DatacenterBroker cập nhật bảng chỉ mục tăng số cấp phát cloudlet
Trang 39cho máy ảo có ID đã xác định lên một
Bước 6: Khi máy ảo hoàn thành xử lý Cloudlet và DatacenterBroker nhận
đáp ứng cloudlet Nó cập nhật bảng chỉ mục bằng cách giảm số cấp phát cho máy ảo đi một
Bước 7: Tiếp tục từ bước 2
3.4.3 Đánh giá
Yêu cầu xử lý trong thuật toán cân bằng tải động này được phân phối lại ở thời gian thực thi phụ thuộc vào trạng thái của hệ thống, đó là tải của mỗi máy ảo Tại mỗi thời điểm phân phối, tải sẽ được chuyển từ máy ảo có tải nặng tới máy
ảo có tải nhẹ hơn Do đó hạn chế được tình trạng thắt cổ chai, máy ảo có năng lực
xử lý mạnh nhất được gán nhiều tải hơn máy ảo có năng lực xử lý yếu hơn Nên cải thiện thời gian đáp ứng một cách đáng kể
Tuy nhiên, Thuật toán còn có điểm hạn chế và chưa hiệu quả nếu chỉ dựa vào tải hiện tại của máy ảo để phân bổ Cloudlet mới Mặc dù trong thuật toán Active Monitoring Load Balancer máy ảo mạnh nhất được phân bổ nhiều tải hơn máy
ảo có năng lực xử lý yếu hơn Nhưng nếu vào từng thời điểm chỉ xét tải của từng máy ảo để đưa ra quyết định phân bổ Cloudlet là chưa đủ Nguyên do, trong một
số trường hợp chưa thể khẳng định được rằng máy ảo có tải nặng hơn sẽ mất nhiều thời gian xử lý Cloudlet tiếp theo đến và thời gian đáp ứng chậm hơn so với máy ảo có tải nhẹ hơn Trong một hệ thống mà khả năng xử lý của mỗi máy ảo là không đồng nhất, và chiều dài của mỗi Cloudlet là tùy ý, thì có khả năng khả năng tổng thời gian hoàn thành xử lý hàng đợi của máy ảo có nhiều cloudlet hơn là nhỏ hơn tổng thời gian hoàn thành xử lý hàng đợi của máy ảo có ít cloudlet Bởi vì máy đang chứa nhiều cloudlet nhưng công suất xử lý mạnh hơn nhiều lần so với máy có ít cloudlet thì hoàn toàn có thể kết thúc xử lý công việc sớm hơn Vì vậy, việc lựa chọn máy ảo có tải ít hơn để đưa ra quyết định phân bổ Cloudlet tiếp theo
sẽ không đạt hiệu quả trong một số trường hợp
Trang 40CHƯƠNG 4: ĐỀ XUẤT THUẬT TOÁN CÂN BẰNG TẢI CẢI
ảo sẵn có để xử lý Vấn đề đặt ra là làm thế nào phân phối các yêu cầu đó để thời gian đáp ứng yêu cầu nhỏ nhất, làm thế nào để quyết định số lượng và đặc điểm của các máy ảo xử lý các yêu cầu này Trong một trường hợp khác, cơ sở hạ tầng điện toán đám mây để xử lý các yêu cầu có thể được chia sẽ giữa các Datacenter khác nhau của cùng hoặc khác nhà cung cấp dịch vụ Vậy làm thế nào để phân phối các yêu cầu giữa chúng để thời gian thực thi được tối thiểu Trong trường hợp này, các nhà cung cấp dịch vụ khác nhau có thể tính phí khác nhau cho các nguồn tài nguyên, và để giải quyết vấn đề này cần phải được xem xét cùng với thuật toán cân bằng tải
Do đó, để thực hiện các chính sách cân bằng tải phụ thuộc vào cách chúng
ta muốn thực hiện ở mức nào Chẳng hạn như, nếu chúng ta muốn Datacenter cân bằng tải các host vật lý liên quan đến máy ảo, tức là chính sách cung cấp phân
bổ host cho máy ảo, như chính sách phân bổ một host có ít core xử lý được sử dụng nhất cho một máy ảo, cân bằng tải ở mức này gọi là ở mức Host Nếu chúng ta muốn cân bằng tải của các máy ảo đang chạy ứng dụng, tức là mỗi máy
ảo chia các nguồn tài nguyên nhận được từ Host cho các tác vụ hay dịch vụ ứng dụng đang chạy trên chúng, cân bằng tải ở mức này gọi là mức máy ảo [3],[7] Trong phạm vi của luận văn sẽ tập trung nghiên cứu kỹ thuật cân bằng tải ở mức máy ảo, chính sách lập lịch được thực hiện bởi máy ảo sử dụng là time-shared hoặc space-share và chính sách lập lịch là time-shared hoặc space-share cho tác vụ Mục tiêu là đề xuất cải tiến thuật toán Active Monitoring Load Balancer nhằm cải thiện thời gian đáp ứng xử lý yêu cầu hay dịch vụ ứng dụng cho bốn