Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)
Trang 3LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất ký công trình nào khác
TP.HCM, ngày 21 tháng 05 năm 2018 Học viên thực hiện luận văn
LÊ NGỌC HIẾU
Trang 4LỜI CẢM ƠN
Để tôi có thể hoàn thiện công trình nghiên cứu này, tôi xin trân trọng cảm ơn
thầy PGS.TS Trần Công Hùng, Học viện Công Nghệ Bưu Chính Viễn Thông cơ
sở Tp Hồ Chí Minh Thầy đã tận tình và giúp đỡ cho tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này Nếu không có sự hỗ trợ và thông cảm giúp
đỡ của thầy, thì tôi đã không thể hoàn tất luận văn này Một lần nữa tôi xin chân thành cảm ơn thầy và ghi ơn thầy suốt đời
Ngoài ra, tôi xin trân trọng cảm ơn quý Thầy Cô trong trường Học viện Công Nghệ Bưu Chính Viễn Thông cơ sở Tp Hồ Chí Minh, các thầy cô công tác tại phòng đào tạo, đặc biệt là cô Nguyễn Thị Phương Thảo, đã tận tình hướng dẫn tôi cùng các bạn học viên trên con đường học tập
Sau cùng, tôi xin gửi lời cảm ơn sâu sắc tới anh Nguyễn Xuân Phi, các bạn học viên cùng nhóm học tập đã ủng hộ, động viên và giúp đỡ tôi vượt qua khó khăn trong suốt quá trình thực hiện luận văn
TP.HCM, ngày 07 tháng 05 năm 2018 Học viên thực hiện luận văn
LÊ NGỌC HIẾU
Trang 5Mục lục
Lời cam đoan i
Lời cám ơn ii
Mục lục iii
Danh mục các thuật ngữ, các chữ viết tắt v
Danh mục các bảng vi
Danh mục các hình vii
MỞ ĐẦU 1
Chương 1 – CƠ SỞ LÝ LUẬN 4
1.1 Giới thiệu chung 4
1.2 Tổng quan về điện toán đám mây 4
1.2.1 Lịch sử ra đời của điện toán đám mây 4
1.2.2 Khái niệm điện toán đám mây 5
1.2.3 Các đặc điểm của điện toán đám mây 5
1.3 Tổng quan về cân bằng tải trên điện toán đám mây 10
1.3.1 Khái niệm cân bằng tải trên điện toán đám mây 10
1.3.2 Phân loại cân bằng tải 11
1.3.3 Đo lường cân bằng tải 12
1.3.4 Các chính sách của thuật toán cân bằng tải 13
1.3.5 Các mục tiêu của thuật toán cân bằng tải 14
1.3.6 Các thuật toán cân bằng tải hiện nay 14
1.4 Tổng quan về thuật toán dự báo ARIMA 17
1.4.1 Dữ liệu chuỗi thời gian 17
1.4.2 Tính dừng và tính mùa vụ 18
1.4.3 Nhận dạng mô hình 19
1.4.4 Kiểm tra chuẩn đoán mô hình 20
1.4.5 Các bước phát triển mô hình ARIMA 21
1.5 Kết luận chương 1 21
Chương 2 – CÁC CÔNG TRÌNH LIÊN QUAN 23
Trang 62.1 Các công trình trên thế giới 23
2.2 Các công trình trong nước 32
Chương 3 – THUẬT TOÁN ĐỀ XUẤT CẢI TIẾN 35
3.1 Giới thiệu chung 35
3.2 Mô hình nghiên cứu 35
3.3 Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng 37
3.4 Kết luận chương 3 39
Chương 4 – MÔ PHỎNG VÀ ĐÁNH GIÁ THUẬT TOÁN ĐỀ XUẤT CẢI TIẾN40 4.1 Giới thiệu chung 40
4.2 Môi trường mô phỏng thực nghiệm 40
4.3 Thực nghiệm và kết quả thực nghiệm 42
4.4 Kết luận chương 4 47
KẾT LUẬN VÀ KIẾN NGHỊ 48
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 49
PHỤ LỤC 50
Trang 7DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
QoS Quality of Service Chất lượng dịch vụ
IoTs Internet of Things Internet vạn vật
Cloud Cloud Environment Môi trường đám mây
PE Process Element Đơn vị xử lý
MIPS Millions Instructions Per Second Triệu xử lý trên giây
VMM Virtual Machine Monitor Theo dõi máy ảo
VM Virtual Machine Máy ảo
RT Response Time Thời gian đáp ứng
ARIMA Auto Regression Integrated
Moving Average
Tự hồi qui tích hợp trung bình trượt
Trang 8DANH SÁCH BẢNG
Bảng 4.1 Thông số cấu hình Datacenter ……… 41
Bảng 4.2 Cấu hình máy ảo ……… 41
Bảng 4.3 Cấu hình thông số các Request ……… 41
Bảng 4.4 Kết quả thực nghiệm mô phỏng với 3 máy ảo ……… 42
Bảng 4.5 Kết quả thực nghiệm mô phỏng với 4 máy ảo ……… 43
Bảng 4.6 Kết quả thực nghiệm mô phỏng với 5 máy ảo ……… 45
Trang 9DANH SÁCH HÌNH VẼ
Hình 1.1 Tổng thể của điện toán đám mây ……… 9 Hình 1.2 Phân loại thuật toán cân bằng tải ……… 12 Hình 1.3 Sơ đồ mô phỏng mô hình Box-Jenkins ……… 21 Hình 2.1 Phân loại các cách thức phân bổ nguồn tài nguyên trên cloud ………… 24 Hình 2.2 Sơ đồ mã giả thuật toán LBRS ……… 27 Hình 2.3 Sơ đồ mã giả thuật toán Min-Min ……… 31 Hình 2.4 Sơ đồ mã giả thuật toán LBMin-Min ……… 32 Hình 3.1 Mô hình cloud và yêu cầu người dùng có sử dụng cân bằng tải ……… 36 Hình 4.1 Biểu đồ so sánh thời gian đáp ứng dự báo của 3 máy ảo và ngưỡng …… 43 Hình 4.2 Biểu đồ so sánhthời gian đáp ứng dự báo trong trường hợp 3 máy ảo… 43 Hình 4.3 Biểu đồ so sánh thời gian đáp ứng dự báo của 4 máy ảo và ngưỡng … 44 Hình 4.4 Biểu đồ so sánhthời gian đáp ứng dự báo trong trường hợp 4 máy ảo 44 Hình 4.5 Biểu đồ so sánh thời gian đáp ứng dự báo của 5 máy ảo và ngưỡng … 45 Hình 4.6 Biểu đồ so sánhthời gian đáp ứng dự báo trong trường hợp 5 máy ảo … 46
Trang 10MỞ ĐẦU
Ngày nay, khái niệm IoT đã được nhắc đến và chính là xu thế của kỷ nguyên ngày nay trên toàn thế giới IoT theo Wikipedia là mạng lưới kết nối thiết bị trên Internet (Internet of Things) hay theo các chuyên gia Việt Nam thường gọi là Internet vạn vật, trong đó mỗi đồ vật, con người cung cấp một định danh riêng của mình, và vạn vật này có khả năng truyền tải, trao đổi thông tin dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác giữa người với người hay người với máy tính Theo dự báo của Cisco [1] thì đến năm 2020 sẽ có khoảng
50 tỷ đồ vật kết nối vào internet, trong đó 4 tỷ người kết nối với nhau, 4 ngàn tỷ doanh thu tính theo USD, hơn 25 triệu ứng dụng, hơn 25 tỷ hệ thống nhúng và hệ thống thông minh và 50 ngàn tỷ gigabytes dữ liệu được lưu trữ
Để đáp ứng được nhu cầu xu thế của IoT, công nghệ & kỹ thuật tương ứng cũng phát triển chóng mặt không kém, một yếu tố quan trọng đó là công nghệ đám mây hay còn được hiểu là điện toán đám mây, là xu thế tất yếu của công nghệ thông tin ngày nay Theo tài liệu học tập của US-CERT [2] thì điện toán đám mây (Cloud computing) là dịch vụ thuê bao, là nơi mà chúng ta có thể sử dụng mạng và không gian lưu trữ trên mạng và tất cả các tài nguyên trên mạng Nếu chúng ta sử dụng dịch vụ email thì hiện nay có rất nhiều như Google mail, HotMail, Yahoo mail… Đám mây đã thay đổi mọi thứ, giúp chúng ta có thể truy cập vào dữ liệu và những gì của ta bất cứ lúc nào hay bất cứ nơi nào Không những vậy, dịch vụ điện toán đám mây hỗ trợ tối đa về hạ tầng, nền tảng công nghệ và phần mềm tùy theo yêu cầu của chúng ta Với xu thế này, việc ta chú ý đến cách truy xuất tài nguyên, sử dụng tài nguyên hiệu quả, tiết kiệm năng lượng
là những vấn đề cần đặt ra cho điện toán đám mây
Để phát huy tốt nhất những gì đang có trên đám mây, việc tiết kiệm năng lượng trên điện toán đám mây là vô cùng cần thiết và quan trọng, giúp tăng hiệu suất làm việc cũng như tăng tuổi thọ của các thiết bị trong đám mây Theo bài báo về tiết kiệm năng lượng trong điện toán đám mây xanh (Green Cloud Computing) [3] thì môi trường của đám mây phải có những tiêu chuẩn đảm bảo chất lượng dịch vụ, đặc biệt là sử dụng hiệu quả nguồn năng lượng trong các trung tâm dữ liệu (data center), bài báo cũng đã nghiên cứu hơn 68 công trình
Trang 11nghiên cứu về tiết kiệm năng lượng và sử dụng hiệu quả nguồn năng lượng đó trên đám mây Tuy nhiên việc nghiên cứu luôn tiếp diễn để nhằm mục đích năng lượng tiết kiệm mỗi lúc một nhiều hơn, dịch vụ đảm bảo tốt hơn và hiệu quả tài nguyên hơn
Song song với tiết kiệm năng lượng trên đám mây, các tiêu chuẩn về chất lượng dịch vụ cũng được chú ý đến, là cơ sở đảm bảo chất lượng dịch vụ QoS của điện toán đám mây Theo [4] thì QoS của đám mây chủ yếu do việc phân bổ tài nguyên cho các ứng dụng chạy trên nó, đảm bảo chất lượng dịch vụ cung cấp cho khác hàng theo nhu cầu về không gian cũng như về hiệu năng đáp ứng, tính sẵn sàng và tính có thể tin cậy Cũng theo tài liệu này, thì QoS bao gồm các mô hình sau: mô hình tải (workload modeling), mô hình hệ thống (System modeling)
và các ứng dụng của các mô hình QoS Từ đây, ta có thể thấy cân bằng tải là một trong những yếu tố quan trọng trong đảm bảo chất lượng phục vụ trên cloud, và
là một trong những hướng nghiên cứu giúp cho cloud tốt hơn và phát triển hơn Nhằm nâng cao hiệu suất phục vụ của các dịch vụ điện toán đám mây, theo tài liệu [5] thì việc quản lý tài nguyên đối mặt với các vấn đề cơ bản bao gồm phân bổ tài nguyên, đáp ứng tài nguyên, kết nối tới tài nguyên, khám phá tài nguyên chưa sử dụng, ánh xạ các tài nguyên tương ứng, mô hình hóa tài nguyên, cung cấp tài nguyên và lập kế hoạch sử dụng các tài nguyên Trong đó, việc lập
kế hoạch cho sử dụng tài nguyên dựa trên các kết nối theo thời gian, và thời gian đáp ứng của dịch vụ Từ đó ta có thể nghiên cứu thời gian đáp ứng để đưa ra giải pháp cho việc phân bố, cân bằng tải của các tài nguyên Đây là một trong những hướng nghiên cứu còn nhiều triển vọng giúp cho công nghệ đám mây ngày một hoàn thiện và tiến bộ hơn
Chính vì những lý do đó luận văn này nghiên cứu chủ yếu như sau: Đề xuất
thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây, tiếng
Anh: A Response-Time Based Algorithm of Workload balancing in Cloud
Computing
Trang 12Nội dung chính của luận văn gồm 4 chương:
Chương 1: Cơ sở lý luận – Tổng quan về cân bằng tải trên điện toán đám mây Chương 2: Các công trình liên quan
Chương 3: Thuật toán đề xuất cải tiến
Chương 4: Mô phỏng và đánh giá thuật toán đề xuất cải tiến
Trang 13Chương 1: CƠ SỞ LÝ LUẬN - TỔNG QUAN VỀ CÂN BẰNG TẢI
TRÊN ĐIỆN TOÁN ĐÁM MÂY
1.1 Giới thiệu chung
Điện toán đám mây đã phát triển nhanh chóng và đạt được nhiều thành tựu to lớn như khả năng mở rộng và tính toán song song trên hệ thống tính toán lưới, từ đó giúp khách hàng chia sẻ tài nguyên triệt để và hữu ích nhất Đáp ứng được nhu cầu mỗi lúc một lớn của việc lưu trữ dữ liệu và xử lý dữ liệu ngày nay, các trung tâm dữ liệu (data center) đã một lúc một khổng lồ hơn, và đến hiện nay có thể lên tới hàng triệu máy chủ khắp toàn cầu Để đáp ứng nhu cầu người dùng cũng như giúp các nhà mạng sử dụng hiệu quả nhất nguồn tài nguyên của mình trên điện toán đám mây, việc giảm tải và cân bằng tải vô cùng quan trọng, giảm tiêu thụ năng lượng trên điện toán đám mây
Nhằm mục tiêu tìm hiểu về nền tảng điện toán đám mây, cân bằng tải trên điện toán đám mây, trong chương này trình bày về các vấn đề cơ sở lý thuyết nhằm tiếp cận tốt hơn mục tiêu nghiên cứu: đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây Các vấn đề cụ thể bao gồm:
(a) Tổng quan về điện toán đám mây
(b) Tổng quan về cân bằng tải trên điện toán đám mây
(c) Tổng quan về nâng cao hiệu suất, phân bố tài nguyên hiệu quả trên điện toán đám mây
(d) Tổng quan về thuật toán dự báo ARIMA trong khai thác dữ liệu
1.2 Tổng quan về điện toán đám mây (Cloud Computing)
1.2.1 Lịch sử ra đời của điện toán đám mây
Theo [6] , điện toán đám mây ra đời từ những năm 1950 khi máy chủ tính toán quy mô lớn (large-scale mainframe computers) được triển khai tại một số cơ sở giáo dục và tập đoàn lớn tại Mỹ Trong những năm 1960 – 1990, xuất hiện luồng tư tưởng coi máy tính hay tài nguyên công nghệ thông tin có thể được tổ chức như hạ tầng dịch vụ công cộng (public utility), đây là tiền đề lớn cho sự phát triên sau này của điện toán đám mây
Trang 14Amazon cung cấp nền tảng Amazon Web Services (AWS) vào năm 2006, đánh dấu việc thương mại hóa điện toán đám mây Từ đầu năm 2008, Eucalyptus được giới thiệu là nền tảng điện toán đám mây mã nguồn mở đầu tiên, tương thích với API của AWS Tính tới thời điểm hiện tại, có rất nhiều các sản phẩm điện toán đám mây được đưa ra như Google App Engine, Microsoft Azure, Nimbus
1.2.2 Khái niệm điện toán đám mây
Theo Wikipedia, Điện toán đám mây (tiếng Anh: cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm
về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó Theo tổ chức Xã hội máy tính IEEE "Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được lưu trữ tạm thời
ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, "
Theo tài liệu [6], Theo định nghĩa của Viện Quốc gia Tiêu chuẩn và Công nghệ
Mỹ (US NIST), điện toán đám mây là mô hình cho phép truy cập trên mạng tới các tài nguyên được chia sẻ (ví dụ: hệ thống mạng, máy chủ, thiết bị lưu trữ, ứng dụng
và các dịch vụ) một cách thuận tiện và theo nhu cầu sử dụng Những tài nguyên này
có thể được cung cấp một cách nhanh chóng hoặc thu hồi với chi phí quản lý tối thiểu hoặc tương tác tối thiểu với nhà cung cấp dịch vụ Cũng từ đây, [7] NIST đưa
ra mô hình điện toán đám mây mang năm đặc điểm cơ bản, ba mô hình dịch vụ
(Service Model) và bốn mô hình triển khai cài đặt (Deployment Models)
1.2.3 Các đặc điểm của điện toán đám mây
Theo Wikipedia, có thể kể đến một vài lợi ích cơ bản của điện toán đám mây như sau:
Trang 15Sử dụng các tài nguyên tính toán động (Dynamic computing resources): Các tài
nguyên được cấp phát cho doanh nghiệp đúng như những gì doanh nghiệp muốn một cách tức thời Thay vì việc doanh nghiệp phải tính toán xem có nên mở rộng hay không, phải đầu tư bao nhiêu máy chủ thì nay doanh nghiệp chỉ cần yêu cầu
"Hey, đám mây, chúng tôi cần thêm tài nguyên tương đương với 1 CPU 3.0 GHz, 128GB RAM…" và đám mây sẽ tự tìm kiếm tài nguyên rỗi để cung cấp cho bạn
Giảm chi phí: Doanh nghiệp sẽ có khả năng cắt giảm chi phí để mua bán, cài
đặt và bảo trì tài nguyên Rõ ràng thay vì việc phải cử một chuyên gia đi mua máy chủ, cài đặt máy chủ, bảo trì máy chủ thì nay bạn chẳng cần phải làm gì ngoài việc xác định chính xác tài nguyên mình cần và yêu cầu
Giảm độ phức tạp trong cơ cấu của doanh nghiệp: Doanh nghiệp sản xuất hàng
hóa mà lại phải có cả một chuyên gia IT để vận hành, bảo trì máy chủ thì quá tốn kém Nếu khoán ngoài được quá trình này thì doanh nghiệp sẽ chỉ tập trung vào việc sản xuất hàng hóa chuyên môn của mình và giảm bớt được độ phức tạp trong
cơ cấu
Tăng khả năng sử dụng tài nguyên tính toán: Một trong những câu hỏi đau đầu
của việc đầu tư tài nguyên (ví dụ máy chủ) là bao lâu thì nó sẽ hết khấu hao, tôi đầu
tư như thế có lãi hay không, có bị outdate về công nghệ hay không Khi sử dụng tài nguyên trên đám mây thì bạn không còn phải quan tâm tới điều này nữa
Theo NIST [7], điện toán đám mây bao gồm những đặc điểm như sau:
- Khả năng tự phục vụ theo yêu cầu: người dùng có thể tự cung cấp khả năng
tính toán như thời gian máy chủ và khả năng lưu trữ của mạng, theo yêu cầu một cách tự động mà không cần con người hiệu chỉnh với các thiết bị cung cấp dịch vụ
- Khả năng truy cập mạng diện rộng: có thể truy cập mạng ở bất kỳ đâu thông
qua các cơ chế tiêu chuẩn mà có thể đáp ứng các nền tảng khác nhau của người dùng (ví dụ điện thoại di động, máy tính bảng, máy tính cá nhân, máy tính bàn…)
- Khả năng sử dụng chung các tài nguyên: các tài nguyên của nhà cung cấp
dịch vụ được đặt chung và dùng chung để phục vụ nhiều khách hàng cùng lúc sử dụng mô hình đa-lều (multi-tenant model), với cấu trúc vậy lý khác
Trang 16nhau và tài nguyên ảo linh động khác nhau được cấp phát và cấp phát lại dựa vào nhu cầu người dùng Có sự độc lập về bố trí vật lý các máy chủ, do
đó khách hàng không thể nhận biết được đang sử dụng dịch vụ của máy chủ nào và vị trí chính xác của nguồn tài nguyên đang dùng, nhưng có thể biết được ở mức cao hơn như vùng miền, quốc gia hay ở trung tâm dữ liệu nào Nguồn tài nguyên ở đây bao gồm lưu trữ dữ liệu, khả năng xử lý, bộ nhớ đệm, và băng thông mạng
- Tính uyển chuyển và có thể co giãn một cách nhanh chóng của tài nguyên:
khả năng linh động được cung cấp một cách uyển chuyển và tự động, có thể tăng hoặc giảm nhanh chóng thích ứng với nhu cầu Đối với người dùng thì tính uyển chuyển thấy rõ ở khả năng không giới hạn và được phục vụ bất cứ lúc nào
- Các dịch vụ có thể đo lường được: các hệ thống đám mây luôn tự động kiểm
soát và hiệu chỉnh tài nguyên sử dụng bằng khả năng đo lường và điều chỉnh của mình tương ứng với các mức cung cấp dịch vụ khác nhau (Ví dụ như lưu trữ, xử lý dữ liệu, băng thông và các tài khoản người dùng đang hoạt động) Việc sử dụng tài nguyên luôn được theo dõi và đo lường, kiểm soát,
và ghi lại báo cáo, cung cấp đầy đủ hết cho cả nhà cung cấp dịch vụ lẫn khách hàng
Các mô hình dịch vụ [7]: Các nhà cung cấp dịch vụ điện toán đám mây cung cấp
các dịch vụ của họ theo ba mô hình cơ bản:
- Cơ sở hạ tầng như một dịch vụ (IaaS - Infrastructure as a Service): Khả
năng cung cấp cho người dùng các dịch vụ như tính toán xử lý, lưu trữ, mạng, và các nguồn tài nguyên cơ bản về điện toán mà người dùng có thể triển khai và chạy các phần mềm ảo bao gồm cả hệ điều hành và các ứng dụng Khách hàng không quản lý và kiểm soát hạ tầng chạy bên dưới đám mây nhưng có kiểm soát hệ điều hành, lưu trữ, triển khái các ứng dụng, và
có thể bị hạn chế kiểm soát các thành phần mạng
- Nền tảng như một dịch vụ (PaaS - Platform as a Service): Dịch vụ này cung
cấp người dùng có thể triển khai cài đặt vào môi trường hạ tầng đám mây
Trang 17theo yêu cầu hoặc các ứng dụng được yêu cầu sẵn nhằm sử dụng cho các ngôn ngữ lập trình, các thư viện, các dịch vụ, và các công cụ mà nhà cung cấp dịch vụ có Người dùng không quản lý hay kiểm soát hạ tầng mạng của đám mây như mạng, máy chủ, hệ điều hành, hay lưu trữ, nhưng sẽ kiểm soát các ứng dụng được cài đặt và triển khai, có khả năng cấu hình môi trường ứng dụng
- Phần mềm như một dịch vụ (SaaS - Software as a Service): Dịch vụ này
cung cấp cho người dùng sử dụng các ứng dụng chạy trên hạ tầng đám mây Các ứng dụng có thể được truy cập ở bất kỳ đâu bằng bất kỳ thiết bị nào thông qua giao diện người dùng như trình duyệt web Người dùng không quản lý hay kiểm soát mạng hạ tầng đám mây như mạng, máy chủ, hệ điều hành, lưu trữ hay ngay cả các ứng dụng cá nhân, và chỉ được cấp quyền sử dụng tương ứng với cấu hình đã có
Trong đó IaaS là cơ bản nhất và mỗi mô hình cao hơn tóm tắt từ các chi tiết của những mô hình thấp hơn Trong năm 2012, mạng lưới như một dịch vụ (NaaS - Network as a Service) và giao tiếp như một dịch vụ (CaaS - Communications as a Service) đã chính thức thêm vào bởi Hiệp hội viễn thông quốc tế (International Telecommunication Union) như là một phần của các mô hình điện toán đám mây cơ bản, các loại hình dịch vụ được công nhận của hệ sinh thái đám mây viễn thông
Các mô hình triển khai cài đặt [7]:
- Mô hình đám mây riêng (Private cloud): Hạ tầng của đám mây được cung
cấp cho sử dụng độc quyền cho tổ chức đơn lẻ nào đó bao gồm nhiều người dùng (có thể là một doanh nghiệp) Nó có thể là sở hữu của tổ chức đó, được chính tổ chức đó quản lý, vận hành hoặc cũng có thể do một bên thứ ba phối hợp quản lý
- Mô hình đám mây cộng đồng (Community cloud): hạ tầng đám mây được
cung cấp cho sử dụng độc quyền cho cộng đồng người dùng nào đó của các
tổ chức mà có các mối liên quan với nhau (ví dụ như nhiệm vụ chung, yêu cầu bảo mật, chính sách hay các vấn đề liên quan đến pháp luật) Mô hình này được sở hữu, quản lý và vận hành bởi một hoặc nhiều tổ chức trong cộng động, bên thứ ba hay sự phối hợp giữa các bên
Trang 18- Mô hình đám mây công cộng (Public cloud) : Hạ tầng đám mây được cung
cấp sử dụng rộng rãi công cộng Có thể được sở hữu, quản lý và vận hành bởi một doanh nghiệp, trung tâm nghiên cứu hay các tổ chức của chính phủ, hay sự phối hợp giữa các bên
- Mô hình đám mây lai (Hybrid cloud): hạ tầng đám mây là một tổ hợp của
hai hoặc nhiều hạ tầng đám mây khác nhau (đám mây riêng tư, đám mây công cộng hay cộng đồng) và tạo ra một thực thể duy nhất, và được gôm lại với nhau theo tiêu chuẩn chung và công nghệ giống nhau nhằm giúp cho dữ liệu và ứng dụng hoạt động tốt
Hình 1.1: Tổng thể của điện toán đám mây
Nguồn: Bài giảng về điện toán đám mây, Carnergie Mellon University in Qatar
Ảo hóa trên đám mây (Vitualization) [8]: có nghĩa là không thực, nhưng nó cung
cấp mọi dịch vụ như thực thể Ảo hóa có thể xem là một phần mềm được cài đặt vào một máy mà thực thi các chương trình khác nhau như những máy thực Thông qua ảo hóa mà người dùng có thể sử dụng các ứng dụng khác nhau, các dịch vụ khác nhau của cloud, đây chính là phần chủ đạo của điện toán đám mây Có hai loại
ảo hóa:
- Ảo hóa hoàn toàn (full virtualization): là dạng ảo hóa trong đó toàn bộ máy được cài đặt trên một máy khác, tạo ra máy ảo Máy ảo này cung cấp tất cả
Trang 19các chức năng của máy thật Được sử dụng khi máy thật không ở trạng thái không tải, và người dùng phải xài máy ảo
- Ảo hóa song song (para virtualization): là dạng ảo hóa mà phần cứng có thể cho phép nhiều hệ điều hành chạy trên một máy đơn; đồng thời cho phép sử dụng hiệu quả các nguồn tài nguyên của hệ thống như bộ nhớ và bộ xử lý
1.3 Tổng quan cân bằng tải trên điện toán đám mây (Workload balancing in Cloud Computing) [8]
1.3.1 Khái niệm về cân bằng tải trên điện toán đám mây
Điện toán đám mây giúp chúng ta chia sẽ dữ liệu và cung cấp nhiều nguồn tài nguyên cho người dùng Người dùng chỉ cần chi trả cho những gì họ sử dụng Chính vì thế điện toán đám mây lưu trữ dữ liệu và phân phối tài nguyên trong một môi trường mở Khối lượng dữ liệu lưu trữ trên đám mây mỗi lúc một tăng nhanh trên môi trường mở này Chính vì thế, việc cân bằng tải là thách thức lớn nhất trên điện toán đám mây Cân bằng tải giúp phân phối tải một cách linh động thông qua các nút mạng nhằm đảm bảo không có nốt nào bị quá tải Điều này làm cho tối ưu được nguồn tài nguyên, cải thiện khả năng hoạt động của hệ thống Đã có rất nhiều thuật toán được đưa ra nhằm cân bằng tải và tối ưu nguồn tài nguyên Có rất nhiều loại tải được sử dụng trên điện toán đám mây như bộ nhớ, CPU (bộ xử lý) và tải trên mạng Cân bằng tải được xem là quá trình tìm ra các nút mạng bị quá tải và từ
đó chuyển sang các nốt khác đang tải ít hoặc không tải
Theo tài liệu [3], trên điện toán đám mây việc cân bằng tải được sử dụng để phân phối các tải hoạt động lớn sang các tải hoạt động ít hơn để nâng cao hiệu suất làm việc và tận dụng tối đa tài nguyên của cloud Trong môi trường đám mây, cân bằng tải đòi hỏi phân bổ lại các tải đang hoạt động liên tục giữa tất cả các nốt:
- Cân bằng tải giúp cho đám mây đạt được việc phân bổ tài nguyên tốt nhất, hỗ trợ tính linh động, khả năng mở rộng cao tránh bị hiện tượng cổ chai
- Cân bằng tải là kỹ thuật phân phối trên mạng các nguồn tài nguyên bằng cách cung cấp các luồng tối ưu với thời gian đáp ứng thấp nhất Cân bằng tải sẽ phân chia thông lượng giữa các máy chủ, từ đó dữ liệu có thể được gửi và nhận mà không
bị trì hoãn
Trang 20- Trong môi trường đám mây, có rất nhiều thuật toán đã giảm tải lưu lượng, phân phối lại lưu lượng Đa số các thuật toán này đều có thể ứng dụng vào môi trường cloud với các trường hợp cụ thể khác nhau Trong môi trường điện toán đám mây, các thuật toán cân bằng tải có thể được chia thành 02 nhóm chính: nhóm thứ nhất là BMHA (thuật toán phân bổ Batch mode Heuristic, hay tạm dịch là thuật toán phân bổ Heuristic theo cơ chế từng đợt), loại thứ hai là thuật toán Online Mode Heuristic (tạm dịch là phân bổ Heuristic theo cơ chế trực tuyến) Các công việc trong BMHA được phối hợp với nhau khi dữ liệu được gửi tới hệ thống Thuật toán BMHA sẽ thực hiện sau một khoảng thời gian cố định
- Một ví dụ của nhóm thuật toán BMHA là thuật toán First Comr First Served (FCFS), thuật toán Round Robin (RR), Thuật toán Min Min và Max Min Đối với nhóm thuật toán Online Mode Heuristic, tất cả các công việc sẽ thực hiện khi dữ liệu tới hệ thống Môi trường cloud là một hệ thống không đồng nhất và tốc độ xử
lý của các bộ xử lý sẽ thay đổi khác nhau một cách nhanh chóng và dễ dàng Nhóm thuật toán Online có vẻ như thích hợp hơn và cho kết quả tốt hơn môi trường cloud
- Việc dự đoán và ước lượng được tải cần thiết là vô cùng quan trọng, cần phải
so sánh với tất cả các tải, tính ổn định tương đối của các hệ thống khác nhau, hiệu suất làm việc của các hệ thống mục tiêu, tương tác giữa các nốt và các công việc cần làm để truyền đi trong quá trình xây dựng một thuật toán cân bằng tải Vấn đề quan trọng nữa đó là lựa chọn các nốt mà trong đó có nhiều loại khác nhau Tải CPU, dung lượng bộ nhớ tổng hợp lại để tính toán ra tải chung toàn máy
- Một đại diện dễ thấy nhất là Website, nếu không có cân bằng tải, người dùng website khổng lồ sẽ dễ dàng nhận ra các vấn đề về tải như chậm, bị hết thời gian hay thời gian đáp ứng dài
1.3.2 Phân loại cân bằng tải [8]
Các thuật toán cân bằng tải được chia thành 02 nhóm chính là :
- Nhóm dựa vào trạng thái của hệ thống (depending on system state): nhóm này chia thành 02 nhóm con là nhóm tiếp cận tĩnh (Static), và nhóm tiếp cận động (Dynamic)
- Nhóm dựa vào người khởi tạo quá trình xử lý (depending on who initiated the process): nhóm này chia thành 03 nhóm con là nhóm khởi tạo do người
Trang 21gửi (sender Initiated), nhóm khởi tạo do người nhận (Reciever Initiated), và nhóm khởi tạo do cả hai (Symmetric)
Nhưng nhìn chung, thì các thuật toán cân bằng tải chủ yếu tập trung vào trạng thái
hệ thống và gồm 02 nhóm chính là thuật toán cân bằng tải tĩnh, và thuật toán cân bằng tải động:
- Tiếp cận tĩnh (static approach): tức là các thuật toán cân bằng tãi tĩnh , chia lưu lượng thành các phần bằng nhau giữa các máy chủ
- Tiếp cận động (dynamic approach): chủ yếu xem xét đến các quyết định đưa
ra để cân băng tải Hướng tiếp cận này phù hợp rộng rãi cho các hệ thống phân tán như đám mây Theo hướng này, ta có thể phân loại như sau:
o Tiếp cận tập trung (Centralized approach): chỉ có 1 nốt chịu trách nhiệm quản lý và phân phối cho toàn hệ thống, các nốt còn lại không làm nhiệm vụ này
o Tiếp cận phân tán (Distributed approach): Mỗi nốt độc lập sẽ xây dựng cho mình một véc tơ tải (load vector) Vector này sẽ thu thập các thông tin từ các nốt khác Các quyết định sẽ được đưa ra cục bộ bằng cách sử dụng các vector này Và tiếp cận này rất phù hợp cho đám mây
Hình 1.2: Phân loại thuật toán cân bằng tải [8]
Trang 221.3.3 Đo lường trong cân bằng tải
- Thông lượng (Throughput): Được sử dụng để tính toán tất cả các tác vụ mà đã hoàn tất thực thi Nếu thông lượng lớn thì hiệu suất làm việc của hệ thống sẽ được cải thiện
- Dung sai lỗi (Fault Tolerance): Có nghĩa là hồi phục sau sự cố Cân bằng tải cần có kỹ thuật tính toán ra dung sai lỗi tốt nhất
- Thời gian di dời (Migration Time): là tổng thời gian cần thiết để di dời các tác
vụ hay tài nguyên từ nốt này sang nốt khác Thời gian này cần được tối thiểu hóa để nâng cao hiệu suất làm việc của hệ thống
- Thời gian đáp ứng (Response Time): Là khoảng thời gian trung bình mà thuật toán cân bằng tải trả lời một tác vụ trong hệ thống Thông số này cần được tối thiểu hóa để nâng cao hiệu suất hệ thống
- Khả năng mở rộng (Scalability): Là khả năng của thuật toán cân bằng tải, có thể xử lý cùng lúc số lượng nốt nhất định trong hệ thống Thông số này cần được cải thiện để hệ thống đạt hiệu năng tốt hơn
1.3.4 Các chính sách của thuật toán cân bằng tải
Có rất nhiều chính sách được sử dụng trong các thuật toán cân bằng tải, bao gồm:
- Chính sách về thông tin (Information policy): là chính sách sẽ định nghĩa các loại thông tin nào được yêu cầu và làm thế nào để lấy được loại thông tin đó Chính sách này cũng định nghĩa rõ về thời gian thu thập các thông tin này
- Chính sách về trigger: chính sách này sẽ định nghĩa khoảng thời gian thực thi các hành động về cân bằng tải và bắt đầu kiểm soát tải
- Chính sách về các loại tài nguyên (Resource type policy): chính sách này định nghĩa các loại, kiểu tài nguyên mà luôn sẵn sàng phục vụ trong quá trình cân bằng tải
- Chính sách về khu vực (location policy): chính sách này sử dụng tất cả các kết quả của chính sách loại tài nguyên, từ đó được dùng để tìm ra các đối tượng thích hợp cho máy chủ hay cho người nhận
- Chính sách về chọn lựa (selection policy): chính sách này được dùng để tìm ra các tác vụ nào được truyền từ nốt quá tải sang nốt trống
Trang 231.3.5 Các mục tiêu chính của thuật toán cân bằng tải
- Hiệu quả chi phí (Cost effectiveness): Cân bằng tải sẽ giúp hệ thống hoạt động hiệu suất cao với chi phí thấp
- Khả năng mở rộng & tính linh hoạt (Scalability and flexibility): Kích thước tổng thể của hệ thống có cân bằng tải sẽ thay đổi theo thời gian Thuật toán sẽ giúp
hệ thống xử lý các vấn đề này Chính vì vậy, thuật toán cũng có tính linh hoạt và khả năng mở rộng
- Tính ưu tiên (Priority): Sắp xếp ưu tiên các tác vụ hoặc các nguồn tài nguyên cần phải xử lý trước vì vậy, tác vụ nào có độ ưu tiên cao hơn sẽ có cơ hội được thực thi trước
1.3.6 Các thuật toán cân bằng tải hiện nay
Có rất nhiều thuật toán cân bằng tải giúp giải quyết thông lượng tốt và giảm thời gian đáp ứng trên môi trường cloud Mỗi thuật toán đều có những lợi ích riêng:
- Thuật toán phân bố tác vụ dựa trên LB (Task Scheduling based on LB):
Thuật toán này chủ yếu bao gồm 02 cơ chế phân bổ tác vụ tương ứng hai mức khác nhau nhằm mục đích đáp ứng yêu cầu động của người dùng Thuật toán này sử dụng tối ưu tài nguyên Cân bằng tải bằng cách ánh xạ các tác vụ đầu tiên tới các máy ảo và ánh xạ tất cả các máy ảo tới các tài nguyên của hệ thống Thuật toán này đã cải thiện được thời gian đáp ứng, sử dụng tài nguyên tốt và khá tối ưu
- Thuật toán cân bằng tải cơ hội (Opportunistic Load Balancing – OLB):
OLB cố gắng giữ cho các nốt mạng ở trạng thái làm việc, từ đó không quan tâm tới tải của mỗi máy OLB sẽ giao tác vụ không có thứ tự đến các nốt hữu ích Điểm hay ở đây là khá đơn giản và giữ được cân bằng tải nhưng những thay đổi nhỏ và ngắn ít được xem xét, từ đó tạo ra tổng thời gian hoàn tất có thể rất lớn
- Thuật toán Round Robin (RR): Thuật toán này phân chia tất cả các quá trình
xử lý chia đều cho các bộ xử lý Trong mỗi quá trình xử lý được phân chia cho bộ xử lý theo thứ tự vòng Robin Việc phân phối tải giữa các bộ xử lý là như nhau Các xử lý khác nhau sẽ có thời gian xử lý khác nhau Thông
Trang 24thường một số nốt sẽ ở trạng thái tải nặng và các nốt còn lại được duy trì ở trạng thái chờ Đối với các Web-Server sử dụng giao thức http để gửi yêu cầu cũng tương tự với thuật toán RR
- Thuật toán ngẫu nhiên hóa (Randomized): Thuật toán này là xác suất tự
nhiên, một quá trình xử lý được xử lý bởi nốt n với xác suất p Khi các quá trình xử lý có tải bằng nhau thì thuật toán này làm việc tốt Vấn đề xảy ra khi tải khác nhau, thuật toán sẽ không xử lý tốt
- Thuật toán Min-Min: bắt đầu với một tập các tác vụ chưa được phân công
Tìm ra thời gian nhỏ nhất hoàn tất các tác vụ Sau đó trong khoảng thời gian nhỏ nhất này, giá trị nhỏ nhất được lấy ra Sau đó các tác vụ có thời gian nhỏ nhất được lên kế hoạch trên các máy Sau đó, thực thi lại cho các tác vụ khác trên các máy khác, lập đi lập lại
- Thuật toán Max-Min: thuật toán này gần giống với Min-Min, điểm khác biệt
chính là đầu tiên tìm ra thời gian thực thi ngắn nhất, sau đó những giá trị tối
đa được chọn lựa ra từ khoảng thời gian tối đa để thực thi tất cả các tác vụ Sau khi thời gian tối đa được tìm ra, những tác vụ được phân vào các máy được chọn ra sẵn Sau đó thời gian thực thi lại được cập nhật cho tất cả các tác vụ trên máy tính đó, điều này chỉ hoàn tất khi thêm thời gian thực thi vào dãy thời gian thực thi của các tác vụ khác trên máy Và sau cùng là tất cả các tác vụ đều được xóa khỏi danh sách
- Thuật toán hành vi Tìm kiếm của đàn Ong (Honeybee Foraging Behavior):
Đây là thuật toán lấy ý tưởng từ tự nhiên về cách tự tổ chức Thuật toán này
sẽ đạt được cân bằng tải toàn cục thông qua các hành động của máy chủ ở cục bộ Hiệu suất làm việc của hệ thống sẽ được cải thiện nếu hệ thống có nhiều yếu tố đa dạng Vấn đề chính là thông lượng sẽ không tăng nếu như kích thước tăng Khi các quần thể dịch vụ đa dạng sẽ phù hợp với thuật toán này
- Thuật toán gom cụm động (Active Clustering): thuật toán này sẽ gom nhóm
các nốt mạng có cùng kiểu loại và cho chúng cùng hoạt động Nó làm việc theo kỹ thuật cân bằng tải tự hợp nhất (self-aggregation), trong đó có thể tự cân bằng tải trong hệ thống Hệ thống sẽ điều chỉnh tối ưu bằng cách phân
Trang 25phối tác vụ tương đương nhau bằng các dịch vụ tương đương Hiệu suất làm việc của hệ thống được cải thiện thấy rõ khi tài nguyên được cải thiện Trong đó, thông lượng được cải thiện rõ nhất
- Thuật toán so sánh và cân bằng (Compare & Balance): thuật toán này tìm
cách đạt được điều kiện cân bằng và kiểm soát các tải không cân bằng Thuật toán này sử dụng xác suất (số lượng máy ảo chạy trên một host và toàn bộ hệ thống cloud), host được lựa chọn ngẫu nhiên để kiểm tra và so sánh tải Nếu tải của host đang xét lớn hơn các host đã được xét, thì sẽ chuyển tải bớt qua các nốt mạng khác Các host đều thực thi như vậy Thuật toán này được thiết kế và thực thi nhằm giảm thời gian di chuyển các máy
ảo bằng cách sử dụng
- Thuật toán Lock-free (Lock-free multiprocessing solution for LB): thuật toán
đưa ra giải pháp nhằm tránh sử dụng cùng lúc các bộ nhớ đệm, bằng cách khóa các vùng nhớ để duy trì các phiên làm việc của người dùng Hoạt động này được điều chỉnh bởi nhân Giải pháp này sẽ nâng cao hiệu suất làm việc trong cân bằng tải với môi trường chạy đa nhân và có nhiều luồng chạy cùng lúc xử lý các tải
- Thuật toán đàn kiến (Ant Colony Optimization): là thuật toán dựa trên cách
tiếp cận đa tác nhân để tìm ra cách tối ưu các vấn đề Ví dụ: vấn đề nhân viên bán hàng đi du lịch (Travelling Salesman Problem) và vấn đề phân bổ bậc hai (Quadratic Assignment Problem) Thuật toán này được lấy ý tưởng
từ việc quan sát đàn kiến Hành vi của các chú kiến đã chỉ ra có rất nhiều con đường sống sót đế về căn cứ
- Thuật toán thời gian đáp ứng ngắn nhất đầu tiên (Shortest Response Time
First): ý tưởng của thuật toán này là đi thẳng về phía trước Các quá trình xử
lý được phân chia độ ưu tiên và cho phép thực thi Những xử lý nào có độ
ưu tiên giống nhau sẽ được đưa vào thứ tự FCFS
- Thuật toán lấy mẫu ngẫu nhiên (Based Random Sampling): thuật toán này
dựa trên việc xây dựng đồ thị với sự liên kết giữa các nốt trong đồ thị, mỗi nốt là một máy tính trong hệ thống cloud Các cạnh giữa các nốt bao gồm 02
Trang 26loại là cạnh vào và cạnh ra, được dùng để mô tả các tải của hệ thống và nguồn tài nguyên của các nốt Đây là một thuật toán tốt trong cân bằng tải
1.4 Tổng quan về thuật toán dự báo ARIMA
Theo [9], ARIMA là thuật toán dựa trên thống kê, là thuật toán tự hồi quy tích hợp trung bình trượt (Auto Regression Integrated Moving Average), được phát triển
từ mô hình hồi quy ARMA (Auto Regression Moving Avera) Đây là mô hình phát triển trên số liệu chuỗi thời gian đã biết và dự báo số liệu trong tương lai gần
1.4.1 Dữ liệu chuỗi thời gian [10]
Dữ liệu thời gian thực hay chuỗi thời gian là một chuỗi các giá trị của một đại lượng nào đó được ghi nhận là thời gian Bất cứ dữ liệu chuỗi thời gian nào cũng được tạo ra bằng một quá trình ngẫu nhiên
Các giá trị của chuỗi thời gian của đại lượng X được kí hiệu là X 1 , X 2 , X 3 ,…,
X t ,… , X n với X là giá trị của X tại thời điểm t
Một dãy số liệu thực tế cụ thể như giá bắp cải từng tháng là kết quả của một quá trình ngẫu nhiên Đối với dữ liệu chuỗi thời gian, chúng ta có những khái niệm về tổng thể và mẫu như sau:
- Quá trình ngẫu nhiên là một tổng thể
- Số liệu thực tế sinh ra từ quá trình ngẫu nhiên là mẫu
Chuỗi thời gian bao gồm 4 thành phần:
- Thành phần xu hướng dài hạn (long –term trend component): Thành phần
này dùng để chỉ xu hướng tăng hay giảm của đại lượng X trong thời gian dài Về mặt đồ thị thành phần này có thể biểu diễn bởi một đường thẳng hay một đường cong trơn
- Thành phần mùa (seasional component): Thành phần này dùng để chỉ xu
hướng tăng hay giảm của đại lượng X tính theo mùa trong năm (có thể tính theo tháng trong năm) Ví dụ : Lượng tiêu thụ chất đốt sẽ tăng vào mùa đông
và giảm vào mùa hè, ngược lại, lượng tiêu thụ xăng sẽ tăng vào mùa hè và giảm vào mùa đông
Trang 27- Thành phần chu kỳ (cyclical component): Thành phần này chỉ sự thay đổi
của đại lượng X theo chu kỳ Thành phần này khác thành phần mùa ở chỗ chu kỳ của đại lượng X kéo dài hơn 1 năm Để đánh giá thành phần này các giá trị của chuỗi thời gian được quan sát hàng năm Ví dụ, Lượng dòng chảy đến hồ Trị An từ năm 1959 – 1985
- Thành phần bất thường (irregular component): Thành phần này dùng để chỉ
sự thay đổi bất thường của các giá trị trong chuỗi thời gian Sự thay đổi này không thể dự đoán bằng các số liệu kinh nghiệm trong quá khứ, về mặt bản chất thành phần này không có tính chu kỳ
1.4.2 Tính dừng và tính mùa vụ
a Tính dừng của dữ liệu (Stationary)
Nếu mỗi chuỗi thời gian gọi là dừng thì trung bình, phương sai, đồng phương sai (tại các độ trễ khác nhau) sẽ giữ nguyên không đổi dù cho chúng được xác định vào thời điểm nào đi nữa
Trung bình: E(Y t )=const (Kỳ vọng không đổi theo thời gian)
Phương sai: Var(Y t )=const (Phương sai không đổi theo thời gian)
Đồng phương sai: Covar(Y t ,Y t-k )=g k (Đồng phương sai chỉ phụ thuộc khoảng cách của độ trễ mà không phụ thuộc thời điểm tính đồng phương sai đó, không phụ
thuộc t)
Để xem một chuỗi thời gian có dừng hay không, ta có thể sử dụng Đồ thị của Y t
theo thời gian, Đồ thị tự tương quan mẫu (Sample Auto Correlation), hay kiểm định bước ngẫu nhiên (kiểm định Dickey-Fuller)
Nếu chuỗi Y t không dừng, ta có thể lấy sai phân bậc 1 Khi đó chuỗi sai phân
bậc 1 (W t ) sẽ có thể dừng Sai phân bậc 1: W t =Y t -Y t-1
Nếu chuỗi sai phân bậc 1 (W t) không dừng, ta có thể lấy sai phân bậc 2 Khi đó
chuỗi sai phân bậc 2 có thể dừng Sai phân bậc 2: V t =W t -W t-1
b Hàm tự tương quan và hàm tự tương quan mẫu
Hàm tự tương quan (ACF) ở độ trễ k được ký hiệu là ρ k được định nghĩa như sau:
Trang 28Trong đó:
- p k không có thứ nguyên
- p k có giá trị từ -1 đến 1
c Tính mùa vụ
Nếu sai phân bậc 2 mà chưa dừng, có thể chuỗi Y t có yếu tố mùa vụ (Nếu có
yếu tố mùa vụ, tức là chuỗi vẫn chưa dừng)
Nếu cứ sau m thời đoạn, SAC lại có giá trị cao Khi đó Y t có tính mùa vụ với
chu kỳ m thời đoạn Phương pháp đơn giản nhất để khử tính mùa vụ là lấy sai phân
thứ m
Z t =Y t -Y t-m
1.4.3 Nhận dạng mô hình [10]
Mô hình ARIMA (hay còn gọi là phương pháp Box-Jenkin)
Nhận dạng mô hình tức là xác định p, d, q trong ARIMA(p,d,q), Do mô hình Box-Jenkins chỉ mô tả chuỗi dừng hoặc những chuỗi đã sai phân hóa, nên mô hình ARIMA(p,d,q) thể hiện những chuỗi dữ liệu không dừng, đã được sai phân (ở đây,
d chỉ mức độ sai phân)
Khi chuỗi thời gian dừng được lựa chọn (hàm tự tương quan ACF giảm đột ngột hoặc giảm đều nhanh), chúng ta có thể chỉ ra một mô hình dự định bằng cách nghiên cứu xu hướng của hàm tự tương quan ACF và hàm tự tương quan từng phần PACF Theo lý thuyết, nếu hàm tự tương quan ACF giảm đột biến và hàm tự tương quan từng phần PACF giảm mạnh thì chúng ta có mô hình tự tượng quan Nếu hàm
tự tương quan ACF và hàm tự tương quan từng phần PACF đều giảm đột ngột thì chúng ta có mô hình hỗn hợp
Về mặt lý thuyết, không có trường hợp hàm tự tương quan ACF và hàm tự tương quan từng phần cùng giảm đột ngột Trong thực tế, hàm tự tương quan ACF
và hàm tự tương quan từng phần PACF giảm đột biến khá nhanh Trong trường hợp này, chúng ta nên phân biệt hàm nào giảm đột biến nhanh hơn, hàm còn lại được xem là giảm đều Do đôi lúc sẽ có trường hợp giảm đột biến đồng thời khi quan sát biểu đồ hàm tự tương quan ACF và hàm tự tương quan từng phần PACF, biện pháp
Trang 29khắc phục là tìm vài dạng hàm dự định khác nhau cho chuỗi thời gian dừng Sau đó, kiểm tra độ chính xác mô hình tốt nhất
p: dựa vào SPAC
q: dựa vào SAC
d: dựa vào số lần lấy sai phân để làm cho chuỗi dừng
Mô hình ARIMA(1, 1, 1) :
y(t) – y(t-1) = a 0 + a 1 (y(t-1) – y(t-2) + e(t) + b 1 e(t-1))
Hoặc z(t) = a 0 + a 1 z(t-1) + e(t) + b 1 e(t-1),
Với z(t) = y(t) – y(t-1) ở sai phân đầu tiên: d = 1
Tương tự ARIMA(1,2,1) : h(t) = a 0 + a 1 z(t-1) + e(t) + b 1 e(t-1)
Với h(t) = z(t) – z(t-1) ở sai phân thứ ha : d = 2 (d lớn hơn 2 rất ít được sử
dụng)
1.4.4 Kiểm tra chuần đoán mô hình
Mô hình ARIMA tốt có RMSE nhỏ và sai số là nhiễu trắng: Sai số có phân phối chuẩn, và đồ thị SAC giảm nhanh về 0
Tìm kiếm mô hình ARIMA phù hợp là một quá trình thử và sai
Trang 30Hình 1.3: Sơ đồ mô phỏng mô hình Box-Jenkins [6]
1.4.5 Các bước phát triển mô hình ARIMA
Theo [10], phương pháp Box – Jenkins bao gồm các bước chung:
- Xác định mô hình: Mô hình ARIMA chỉ được áp dụng đối với chuỗi dừng,
mô hình có thể trình bày theo dạng AR, MA hay ARMA Phương pháp xác định mô hình thường được thực hiện qua nghiên cứu chiều hướng biến đổi của hàm tự tương quan ACF hay hàm tự tương quan từng phần PACF
- Chuỗi ARIMA không dừng: cần phải được chuyển đồi thành chuỗi dừng
trước khi tính ước lượng tham số bình phương tối thiểu Việc chuyển đổi này được thực hiện bằng cách tính sai phân giữa các giá trị quan sát dựa vào giả định các phần khác nhau của các chuỗi thời gian đều được xem xét tương tự, ngoại trừ các khác biệt ở giá trị trung bình Nếu việc chuyển đổi này không thành công, sẽ áp dụng tiếp các kiểu chuyển đổi khác (chuyển đồi logarithm chẳng hạn)
Trang 31- Ước lượng tham số: tính những ước lượng khởi đầu cho các tham số a 0 ,
a 1 … a p , b 1 … b q của mô hình dự định Sau đó xây dựng những ước lượng sau cùng bằng một quá trình lặp
- Kiểm định độ chính xác: Sau khi các tham số của mô hình tổng quát đã xây
dựng, ta kiểm tra mức độ chính xác và phù hợp của mô hình với dữ liệu
Chúng ta kiểm định phần dư (Y t –Y^t) và có ý nghĩa cũng như mối quan hệ
các tham số Nếu bất cứ kiểm định nào không thỏa mãn, mô hình sẽ nhận dạng lại các bước trên được thực hiện lại
- Dự báo: Khi mô hình thích hợp với dữ liệu đã tìm được, ta sẽ thực hiện dự báo tại thời điểm tiếp theo t Do đó, mô hình ARMA(p,q)
y(t+1) = a 0 + a 1 y(t) + … + a p y(t – p + 1) + e(t+1) + b 1 e(t) + … + b q e( t – q + 1)
1.5 Kết luận chương 1
Điện toán đám mây là làm việc với các phần mềm, truy xuất dữ liệu và các dịch
vụ lưu trữ, và tất cả những tác vụ trên không đòi hỏi người dùng cuối phải có kiến thức hay hiểu biết về cấu hình vật lý cũng như vị trí địa lý của các máy chủ và trung tâm dữ liệu Trong việc lưu trữ dữ liệu trên cloud, cân bằng tải là một vấn đề mấu chốt và trọng tâm Nó giúp giải quyết các vấn đề về tối ưu nguồn tài nguyên và từ
đó giúp cho hiệu năng hệ thống cloud một tốt hơn Đã có rất nhiều thuật toán về cân bằng tải được đưa ra và có các chiến lược trong cân bằng tải khác nhau, nhằm đạt được mục tiêu hiệu quả nhất
Thông qua việc tìm hiểu về các kỹ thuật trong điện toán đám mây, các vấn đề liên quan đến cân bằng tải và chất lượng dịch vụ, cũng như thuật toán dự báo ARIMA, luận văn này áp dụng các lý thuyết trên làm cơ sở tiếp cận tốt nhất để có được nền tảng vững vàng cho công việc nghiên cứu và thực nghiệm
Trang 32Chương 2: CÁC CÔNG TRÌNH LIÊN QUAN
2.1 Các công trình trên thế giới
“Recent advancements in resource allocation techniques for cloud computing environment: a systematic review” [11]
Vào năm 2016, Syed Hamid Hussain Madni cùng các cộng sự đã nghiên cứu và đánh giá các kỹ thuật phân phối tài nguyên trên môi trường cloud Trong bài báo
“Recent advancements in resource allocation techniques for cloud computing environment: a systematic review”, các tác giả đã chỉ ra rằng có 02 nhân tố trong môi trường đám mây là nhà cung cấp cloud và người sử dụng cloud Bên cạnh đó thì các nhà cung cấp dịch vụ cloud nắm giữ trên tay rất nhiều nguồn tài nguyên nằm rải rác ở các trung tâm dữ liệu, và cho người dung thuê hay mướn các tài nguyên theo tiêu chí dung bao nhiêu trả bấy nhiêu nhằm mục đích tối đa hóa lợi nhuận cho nhà cung cấp Mặt khác người dung cloud có nhiều ứng dụng khác nhau với các tải làm việc khác nhau và thuê nguồn tài nguyên cloud để chạy các ứng dụng đó với chi phí thấp nhất Một trong những vấn đề nhức nhối trên điện toán đám mây là quản lý nguồn tài nguyên với mô hình IaaS Quản lý tài nguyên bao gồm phân bổ nguồn tài nguyên, đáp ứng tài nguyên, kiểm soát tài nguyên, khám phá tài nguyên mới, ánh xạ các tài nguyên, mô hình hóa tài nguyên, cung cấp và lên kế hoạch sử dụng tài nguyên Bài báo đã nghiên cứu và chỉ ra các thông số nhằm nâng cao khả năng hoạt động của hệ thống cloud
Bài báo này cũng chỉ ra tầm quan trọng của việc phân bổ nguồn tài nguyên trên đám mây, phải có chính sách phân bổ tài nguyên, chiến lược và thuật toán nhằm phân phối và chuyển các nguồn tài nguyên nhằm hỗ trợ tốt nhất cho cả nhà cung cấp lẫn người dùng
Trang 33Hình 2.1: Phân loại các cách thức phân bổ nguồn tài nguyên trên cloud
Về cân bằng tải, là một phương pháp phân bổ nguồn tài nguyên, các tác giả cũng nhấn mạnh về cách tiếp cận này Việc phân bổ các máy ảo, tối ưu hóa nguồn tài nguyên và chính sách cân bằng tải đóng vai trò vô cùng quan trọng trong IaaS Tác giả bài báo đã đề cập tới hai thuật toán chính là thuật toán phân bổ các VMs và thuật toán phân bổ các cloudlet Cả hai thuật toán này đều được thiết kế, cài đặt và
mô phỏng trên CloudSim Mục tiêu là giảm thiểu chi phí của việc cung cấp các máy
ảo, mà vẫn đáp ứng đầy đủ nhu cầu người dung Trong đó, có Amazon EC2, đã áp dụng các thuật toán này và thực nghiệm với dự án Boinc
“A Workload Balanced Approach for Resource Scheduling in Cloud Computing” [12]
Theo tài liệu [12], Tác giả bài báo “A Workload Balanced Approach for Resource Scheduling in Cloud Computing” Ritu Kapur, Ấn Độ, năm 2015 đã đưa
ra một giải pháp tiếp cận cân bằng tải làm việc dựa trên các tiêu chí về QoS Bài báo này tác giả đã sử dụng thuật toán Load Balanced Resource Scheduling (LBRS) để nâng cao chất lượng phục vụ trên Cloud Kết quả thực nghiệm đã có những hiệu quả tốt hơn