Với mỗi hướng tiếp cận, luận án nghiên cứu các phương pháp học máy và khai phá dữ liệu tương ứng để cải thiện hiệu năng cân bằng tải trong mơi trường điện tốn đám mây.. Trang 7 DANH MỤC
Giới thiệu
Điện toán đám mây đã trở thành một phần thiết yếu trong hạ tầng công nghệ thông tin nhờ vào tính linh hoạt và khả năng điều chỉnh dịch vụ theo nhu cầu người dùng Công nghệ này cho phép mở rộng hoặc thu gọn tài nguyên một cách thuận tiện, đồng thời tối ưu hóa hiệu suất làm việc và sử dụng tài nguyên Điều này đảm bảo rằng các dịch vụ được cung cấp với chất lượng cao và kịp thời Trong quá trình tối ưu hóa hiệu năng của điện toán đám mây, phân phối tải là yếu tố quan trọng, đảm bảo các hoạt động trên môi trường đám mây diễn ra mượt mà và an toàn.
Trong lĩnh vực điện toán đám mây, quản lý cân bằng tải là một thách thức lớn, yêu cầu khả năng xử lý nhanh chóng và hiệu quả các yêu cầu từ người dùng Cân bằng tải cần linh hoạt trong việc phân phối yêu cầu đến các nốt hoạt động, đảm bảo tải trọng được chia sẻ đồng đều để tránh tình trạng quá tải cho bất kỳ nốt nào và tối ưu hóa việc sử dụng tài nguyên.
Mục tiêu nghiên cứu
Mục tiêu của luận án là đề xuất và xây dựng các phương pháp nâng cao hiệu năng cân bằng tải trong điện toán đám mây, dựa trên ý tưởng tiếp cận SWOT Luận án tập trung vào việc ứng dụng và phát triển các thuật toán trí tuệ nhân tạo, đặc biệt là các thuật toán học máy, để xử lý và phân tích dữ liệu liên quan đến cân bằng tải.
3.2 Các mục tiêu cụ thể
Phân tích hiệu năng cân bằng tải trên cloud thông qua công cụ SWOT giúp xác định các vấn đề quan trọng Từ đó, có thể đưa ra hai hướng tiếp cận: tiếp cận từ bên trong để tối ưu hóa hệ thống hiện tại và tiếp cận từ bên ngoài nhằm áp dụng các công nghệ mới Mục tiêu cuối cùng là phát triển các thuật toán nâng cao hiệu suất cân bằng tải, đảm bảo sự ổn định và hiệu quả cho hệ thống cloud.
Đề xuất xây dựng một phương pháp ứng dụng các thuật toán học máy vào bộ cân bằng tải nhằm nâng cao hiệu năng trên điện toán đám mây Cải tiến một số thuật toán cân bằng tải phổ biến hiện nay, bộ cân bằng tải sẽ được phát triển dựa trên phương pháp dự báo các thông số theo thời gian như thời gian đáp ứng và thời gian xử lý, từ đó tối ưu hóa hiệu suất hoạt động trong môi trường điện toán đám mây.
Đề xuất xây dựng phương pháp dự báo deadlock trên bộ cân bằng tải nhằm nâng cao hiệu năng và tránh tình trạng deadlock Phương pháp này tập trung vào việc phân tích hành vi người dùng, bao gồm độ ưu tiên trong xử lý các tác vụ và yêu cầu của họ Từ đó, thuật toán cân bằng tải sẽ phân bổ tài nguyên một cách hiệu quả nhất, cải thiện hiệu suất hoạt động trong môi trường điện toán đám mây.
Phương pháp nghiên cứu
Phương pháp luận trong nghiên cứu này tập trung vào việc khảo sát và phân tích các yếu tố quan trọng ảnh hưởng đến hiệu năng cân bằng tải, từ đó đề xuất các thuật toán nhằm nâng cao hiệu suất cân bằng tải toàn diện Bằng cách áp dụng phân tích SWOT trong môi trường điện toán đám mây, nghiên cứu đánh giá và phát triển một mô hình có khả năng cải thiện hiệu suất của cân bằng tải trên nền tảng này Để đánh giá hiệu quả của các phương pháp và thuật toán đã đề xuất, nghiên cứu sử dụng các phương pháp toán học, mô phỏng và giả lập thực nghiệm, nhằm xây dựng mô hình mô phỏng và phân tích kết quả đạt được.
Những đóng góp chính của luận án
Phân tích cân bằng tải bằng công cụ SWOT và từ đó lấy ý tưởng nhằm đưa ra
Để nâng cao hiệu năng cân bằng tải trên điện toán đám mây, có hai hướng tiếp cận chính: từ bên trong và bên ngoài Đầu tiên, cần phát triển các kỹ thuật và thuật toán mới như MCCVA, APRTA và RCBA, kết hợp với các kỹ thuật học máy để cải thiện hiệu suất cân bằng tải Cụ thể, thuật toán APRTA sử dụng thời gian phản hồi để tối ưu hóa, trong khi MCCVA và RCBA tập trung vào thời gian xử lý (makespan) Thứ hai, việc dự báo deadlock và khả năng xảy ra deadlock trong môi trường cloud cũng cần được nghiên cứu, với thuật toán PDOA giúp kiểm soát tài nguyên hiệu quả hơn Cuối cùng, từ góc độ người dùng, thuật toán k-CTPA khai thác hành vi và độ ưu tiên của người dùng để tối ưu hóa quá trình cân bằng tải, nâng cao hiệu suất từ tiếp cận bên ngoài.
Cấu trúc của luận án
Cấu trúc chính của luận án bao gồm bốn phần chính, được tổ chức thành bốn chương, bên cạnh phần giới thiệu, mục lục, phần kết luận và phần tài liệu tham khảo.
Chương 1 cung cấp cái nhìn tổng quan về điện toán đám mây và vấn đề cân bằng tải trong môi trường này Nội dung bao gồm các khái niệm cơ bản về cân bằng tải cùng với các thuật toán điển hình hiện có Ngoài ra, chương cũng giới thiệu một số thuật toán học máy và thuật toán cân bằng tải phổ biến hiện nay Dựa trên nền tảng này, luận án đề xuất phát triển các thuật toán học máy và phân tích dữ liệu nhằm nâng cao hiệu quả của quá trình cân bằng tải trong môi trường điện toán đám mây.
Chương 3 giới thiệu các thuật toán đề xuất cho bộ cân bằng tải, tập trung vào việc cải tiến các thuật toán phổ biến và áp dụng học máy cũng như phân tích dữ liệu nhằm nâng cao hiệu suất trên môi trường đám mây Luận án đã phát triển bốn thuật toán CBT mới là MCCVA, APRTA, RCBA và ITA, tương ứng với các công trình công bố [CT1], [CT2], [CT7] và [CT3].
Chương 4 giới thiệu các thuật toán đề xuất từ góc độ bên ngoài, tập trung vào việc xây dựng bộ cân bằng tải kết hợp với kiểm soát và dự báo deadlock trong môi trường cloud Giải pháp cân bằng tải được phân tích dựa trên hành vi người dùng, bao gồm việc xác định độ ưu tiên của các tác vụ và yêu cầu Qua việc phân tích các thông số của request, các thuật toán phân lớp được áp dụng để tối ưu hóa quyết định phân bổ xử lý, nhằm sử dụng tài nguyên cloud một cách hiệu quả nhất Kết quả của tiếp cận này là hai thuật toán PDOA và k-CTPA, tương ứng với các công trình công bố [CT4 & CT5] và [CT6].
GIỚI THIỆU VỀ ĐỀ TÀI
TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
Điện toán đám mây, hay còn gọi là điện toán dựa trên máy chủ ảo, là một hệ thống tính toán phục vụ theo yêu cầu, cho phép chia sẻ tài nguyên, dữ liệu và phần mềm qua Internet Người dùng không cần quan tâm đến vị trí của cơ sở dữ liệu mà họ truy cập, giúp mọi thứ diễn ra một cách minh bạch và dễ dàng Dịch vụ điện toán đám mây có thể được truy cập thông qua trình duyệt web, ứng dụng di động hoặc máy tính Tính hiệu quả sử dụng của người dùng được nâng cao nhờ phần mềm và cơ sở dữ liệu lưu trữ trên server ảo tại các trung tâm dữ liệu, nơi chứa đựng server và các thiết bị hỗ trợ, đảm bảo sự sẵn có và ổn định cao Các trung tâm dữ liệu còn được đánh giá dựa trên khả năng mở rộng, tính linh hoạt và hệ thống làm mát.
Trong điện toán đám mây, có ba mô hình triển khai chính: đám mây công cộng, đám mây riêng tư và đám mây lai Đám mây công cộng cung cấp tài nguyên và dịch vụ mở cho mọi người, có thể miễn phí hoặc tính phí Ngược lại, đám mây riêng tư phục vụ cho một tổ chức cụ thể với các biện pháp bảo mật như tường lửa Đám mây lai kết hợp cả hai mô hình, cho phép sử dụng dịch vụ công cộng và riêng tư Ngoài ra, mô hình đám mây cộng đồng cho phép nhiều tổ chức chia sẻ tài nguyên Về các mô hình dịch vụ, ba loại phổ biến là IaaS (Cơ sở hạ tầng như một Dịch vụ), PaaS (Nền tảng như một Dịch vụ), và SaaS (Phần mềm như một Dịch vụ).
Phần mềm như một Dịch vụ (SaaS) đáp ứng đa dạng nhu cầu của người dùng, từ việc cung cấp tài nguyên máy chủ cho đến các nền tảng phát triển ứng dụng và phần mềm sẵn sàng sử dụng.
Hình 1.1:Mô hình điện toán đám mây [37]
Trong những năm gần đây, điện toán đám mây đã trở thành xu hướng công nghệ hàng đầu, với sự phát triển mạnh mẽ từ các tập đoàn công nghệ lớn như Google, Amazon và Microsoft Mô hình điện toán đám mây cung cấp giải pháp công nghệ thông tin qua Internet, giúp giảm thiểu chi phí đầu tư vào nhân sự và cơ sở hạ tầng, đồng thời rút ngắn thời gian triển khai Điện toán đám mây tích hợp tài nguyên tính toán và dịch vụ đa dạng, cho phép truy cập linh hoạt từ nhiều thiết bị và chia sẻ tài nguyên giữa nhiều khách hàng Nhờ vào kỹ thuật ảo hóa, các nhà cung cấp dịch vụ có thể tạo ra môi trường ứng dụng phần mềm hoàn chỉnh, đảm bảo tính độc lập và đáng tin cậy Mô hình này không chỉ mang lại lợi ích cho người dùng mà còn mở ra nhiều cơ hội nghiên cứu và phát triển, hứa hẹn đem lại lợi ích kinh tế cho doanh nghiệp toàn cầu Hợp đồng dịch vụ giữa nhà cung cấp và khách hàng xác định yêu cầu chất lượng dịch vụ, với cam kết tuân thủ các thỏa thuận mức dịch vụ (SLA) để đảm bảo hiệu suất và tối ưu hóa tài nguyên.
Cloud Computing là một mô hình tính toán hiện đại, phát triển từ các công nghệ như máy tính phân phối và điện toán lưới Trong môi trường này, sự đa dạng ứng dụng và không đồng nhất giữa các nút nguồn dẫn đến tình trạng một số máy tính bị quá tải trong khi những máy khác lại ít bị ảnh hưởng Do đó, cần có các phương pháp cân bằng tải hiệu quả để điều phối tải trên các máy chủ, giảm chi phí truyền dữ liệu và tối ưu hóa khả năng sử dụng tài nguyên Tuy nhiên, trong kỷ nguyên dữ liệu lớn, việc xử lý dữ liệu qua máy ảo trong Cloud gặp thách thức do chi phí truyền thông cao khi di chuyển và tính toán dữ liệu giữa các máy chủ, ảnh hưởng đến hiệu suất và hiệu quả sử dụng tài nguyên hệ thống.
Điện toán đám mây đánh dấu một bước tiến quan trọng và là mô hình mới trong lĩnh vực công nghệ thông tin Phương pháp cân bằng tải phân phối và phối hợp tài nguyên thông qua lập kế hoạch công việc giữa các hệ thống phân tán Tuy nhiên, trong mô hình truyền thống, cân bằng tải gặp nhiều thách thức liên quan đến việc phân bổ tài nguyên trong môi trường đám mây, ảnh hưởng đáng kể đến hiệu suất hệ thống Hơn nữa, việc đánh giá hiệu quả cũng gặp khó khăn do sự đa dạng và đặc thù của các biến số cân bằng tải trong môi trường này.
Trong thế giới hiện đại, điện toán đám mây cho phép lưu trữ và truy cập phần cứng cũng như phần mềm từ bất kỳ đâu, mang lại sự linh hoạt cho nhu cầu về tài nguyên Người dùng có thể sử dụng tài nguyên theo nhu cầu và chỉ trả tiền cho thời gian sử dụng, theo mô hình pay-per-use, thúc đẩy ngành IT cung cấp dịch vụ Cloud mạnh mẽ hơn Các doanh nghiệp thường sử dụng những tập hợp lớn của CPU hoặc máy tính vật lý, được gọi là "đám mây", với không gian và dung lượng bộ nhớ hạn chế.
Hình 1 2 Cung cấp tài nguyên đám mây [44]
Người dùng dịch vụ đám mây phải thanh toán theo thời gian sử dụng không gian và dung lượng bộ nhớ từ tài nguyên được cung cấp Khi yêu cầu tài nguyên như
Cân bằng tải quản lý tài nguyên dựa trên yêu cầu của khách hàng là cần thiết để cải thiện chất lượng dịch vụ (QoS) Mặc dù các phương pháp cân bằng trước đây đã nâng cao thời gian phản hồi và phục vụ của đám mây, nhưng vẫn chưa đảm bảo QoS một cách hiệu quả Việc tích hợp các thông số QoS, như băng thông, vào quá trình cân bằng tải là rất quan trọng Quản lý các vấn đề như suy giảm và hiệu suất giúp xác định ngưỡng giá trị chính xác hơn, từ đó đảm bảo QoS tốt hơn Điều này không chỉ giảm thiểu việc cấp phát tài nguyên cho các máy vật lý vượt quá khả năng của máy ảo mà còn duy trì tính ổn định trong quá trình cung cấp dịch vụ.
Hình 1.3 Kiến trúc của điện toán đám mây [47]
TỔNG QUAN VỀ CÂN BẰNG TẢI TRONG ĐIỆN TOÁN ĐÁM MÂY
Ngành công nghiệp CNTT đang phát triển nhanh chóng, dẫn đến nhu cầu tăng cao về tài nguyên lưu trữ và tính toán Sự gia tăng lượng dữ liệu được tạo ra và trao đổi qua mạng yêu cầu nhiều tài nguyên máy tính hơn Công nghệ đám mây đã giúp doanh nghiệp tận dụng tài nguyên điện toán chia sẻ trong môi trường ảo hóa Nhiều doanh nghiệp hiện nay đã áp dụng các dịch vụ dựa trên đám mây, dẫn đến sự cần thiết phải hiểu rõ khái niệm cân bằng tải trong điện toán đám mây.
Trong thời đại công nghệ thông tin phát triển nhanh chóng, nhu cầu về tài nguyên lưu trữ và tính toán ngày càng gia tăng Sự gia tăng dữ liệu lớn trên mạng đòi hỏi nhiều tài nguyên máy tính hơn, và mô hình điện toán đám mây đã giúp doanh nghiệp tối ưu hóa việc sử dụng tài nguyên này thông qua ảo hóa Nhiều doanh nghiệp đã áp dụng các dịch vụ dựa trên công nghệ đám mây với nhiều hình thức khác nhau, làm nổi bật tầm quan trọng của việc cân bằng tải trong lĩnh vực điện toán đám mây.
Với sự phát triển nhanh chóng của Internet, các trang web và ứng dụng trực tuyến thu hút lượng lớn người truy cập Trong thời điểm cao điểm, khi lưu lượng truy cập tăng đột biến, thường xảy ra vấn đề về khả năng xử lý của máy chủ và hạ tầng mạng Do đó, cân bằng tải trở thành yếu tố quan trọng, giúp các máy chủ ảo hoạt động đồng bộ và hiệu quả hơn bằng cách phân phối tài nguyên đều đặn, tránh tình trạng quá tải tại các điểm cụ thể.
Cân bằng tải là giải pháp hiệu quả để phân phối đồng đều lưu lượng truy cập giữa nhiều máy chủ trong hệ thống, giúp giảm thiểu tình trạng quá tải và sự cố Khi một máy chủ gặp vấn đề, cân bằng tải tự động chuyển giao công việc sang các máy chủ khác, đảm bảo hệ thống luôn hoạt động ổn định và tối ưu hóa năng suất tổng thể.
Cân bằng tải là yếu tố quan trọng trong môi trường phân tán, đặc biệt trong điện toán đám mây, nơi lưu trữ dữ liệu với chi phí thấp và khả năng truy cập dễ dàng qua internet Mục tiêu chính của cân bằng tải là phân phối tài nguyên hợp lý để đáp ứng nhu cầu người dùng và tối ưu hóa sử dụng tài nguyên Trong bối cảnh điện toán đám mây hiện đại, các thách thức như bảo mật và khả năng khắc phục lỗi đã dẫn đến việc nhiều nhà nghiên cứu phát triển các thuật toán và kỹ thuật nhằm nâng cao hiệu suất cân bằng tải, tìm ra giải pháp tối ưu cho hệ thống.
Cân bằng tải là quá trình phân phối đều lưu lượng truy cập giữa nhiều máy chủ tương tự trong một hệ thống, nhằm giảm thiểu tình trạng quá tải và ngăn ngừa sự cố ngừng hoạt động Khi một máy chủ gặp sự cố hoặc cần bảo trì, cân bằng tải tự động chuyển giao công việc sang các máy chủ khác, giúp tối ưu hóa thời gian hoạt động và nâng cao hiệu suất tổng thể của hệ thống.
Phân tán dự đoán quá tải trong cân bằng tải đã trở thành một phương pháp hứa hẹn, cho phép theo dõi tình trạng tắc nghẽn và phân phối dòng chảy đến các đường dẫn không tắc nghẽn Phương pháp này có khả năng mở rộng tốt hơn và xử lý lưu lượng truy cập nhanh hơn so với các phương pháp tập trung Nó không phụ thuộc vào cấu trúc mạng của máy chủ lưu trữ, mang lại lợi ích ngay lập tức cho tất cả lưu lượng truy cập khi triển khai Để thiết kế giao thức cân bằng tải tắc nghẽn, cần thông tin về tình trạng tắc nghẽn thời gian thực từ tất cả các đường đi Một cách tiếp cận đơn giản là sử dụng thông tin định hướng đường đi cuối cùng, nơi switch ToR duy trì các chỉ số tắc nghẽn cho tất cả các đường dẫn Tuy nhiên, việc thu thập thông tin tắc nghẽn thời gian thực cho tất cả các đường dẫn là khó khăn do không đủ dòng chảy đồng thời Trong giai đoạn đầu, chỉ có nguồn và thiết bị chuyển mạch ToR đích tham gia để lựa chọn đường dẫn tốt nhất, trong khi giai đoạn thứ hai chọn công tắc lõi tốt nhất dựa trên tình trạng tắc nghẽn Hai giai đoạn này sử dụng thông tin một phần để tìm đường tốt nhất, giảm thiểu sự phức tạp mà không gây ra việc sắp xếp lại gói tin hay độ trễ.
Cân bằng tải là yếu tố quan trọng trong trung tâm dữ liệu đám mây, nhằm tối ưu hóa việc sử dụng tài nguyên máy tính Có nhiều loại thuật toán cân bằng tải, bao gồm tĩnh và động Thuật toán tĩnh như round robin sử dụng thông tin cố định, dễ triển khai nhưng không hiệu quả trong môi trường đa dạng Ngược lại, cân bằng tải động giúp phân phối tải thông minh, tránh quá tải và sử dụng tài nguyên không đồng đều, nhưng có thể phát sinh chi phí truyền thông Mặc dù một số thuật toán có thể tối ưu hóa hiệu suất cục bộ, việc đảm bảo cân bằng tải hiệu quả cho toàn bộ hệ thống đám mây là cần thiết Cân bằng tải chỉ là một phần trong quản lý trung tâm dữ liệu đám mây, đòi hỏi phải xem xét toàn bộ hoạt động để đạt hiệu quả tối ưu.
Cân bằng tải [55] có thể được chia thành 2 thể loại:
Cân bằng tải cục bộ
Cân bằng tải toàn cầu bao gồm hai loại chính: cân bằng tải cục bộ và cân bằng tải toàn cục Cân bằng tải cục bộ phân phối dự báo tải trong một trung tâm dữ liệu cụ thể, đảm bảo yêu cầu từ khách hàng được phân phối đều đặn từ máy khách đến máy chủ Trong khi đó, cân bằng tải toàn cục quản lý tự động yêu cầu từ khách hàng đến các máy chủ tại nhiều trung tâm dữ liệu khác nhau, xử lý lưu lượng trên cả hai hướng của gói truyền tải Mặc dù phức tạp hơn, cân bằng tải toàn cục rất hữu ích trong việc quản lý truyền tải gói tin trên mạng trung tâm dữ liệu và đảm bảo tính khả dụng của hệ thống, giúp hệ thống hoạt động bình thường ngay cả khi có sự cố xảy ra.
Với sự phát triển của điện toán đám mây, việc chia sẻ dữ liệu và cung cấp tài nguyên trở nên dễ dàng hơn, giúp người dùng tiếp cận nhiều nguồn lực cần thiết và chỉ trả tiền cho những gì sử dụng Tuy nhiên, thách thức lớn trong môi trường đám mây là cân bằng tải, đặc biệt khi khối lượng dữ liệu gia tăng nhanh chóng Cân bằng tải phân phối hiệu quả tải qua các nút mạng, ngăn ngừa tình trạng quá tải tại một nút nào đó, từ đó tối ưu hóa sử dụng tài nguyên và nâng cao hiệu suất hệ thống Các loại tải trên nền tảng đám mây bao gồm tải CPU, tải bộ nhớ và tải mạng Quá trình cân bằng tải xác định các nút mạng quá tải và chuyển tải đến các nút khác có ít tải hoặc không tải.
Cân bằng tải trên nền tảng điện toán đám mây là quá trình phân phối công việc từ các tải công suất lớn sang các tải nhẹ hơn, nhằm tối ưu hóa hiệu suất và tận dụng tài nguyên hiệu quả Trong môi trường đám mây, việc này yêu cầu phân phối lại công việc đang hoạt động liên tục giữa tất cả các nút mạng.
Cân bằng tải là yếu tố then chốt trong việc phân phối tài nguyên hiệu quả trong môi trường đám mây, giúp tăng cường tính linh hoạt và khả năng mở rộng, đồng thời ngăn chặn tình trạng kẹt cứng.
Cân bằng tải là kỹ thuật quản lý phân phối tài nguyên mạng, tối ưu hóa luồng dữ liệu và giảm thiểu thời gian phản hồi Kỹ thuật này cho phép chia sẻ thông lượng giữa các máy chủ mà không làm tăng độ trễ truyền.
Trong môi trường đám mây, việc quản lý tải và phân phối dữ liệu được thực hiện thông qua nhiều thuật toán khác nhau Các thuật toán này được chia thành hai nhóm chính: BMHA (Batch mode Heuristic Allocation) và thuật toán Heuristic theo chế độ trực tuyến BMHA hoạt động theo các đợt cố định, giúp phối hợp công việc hiệu quả khi dữ liệu được gửi đến hệ thống.
Các thuật toán thuộc nhóm BMHA, như First Come First Served (FCFS), Round Robin (RR), Min Min và Max Min, đóng vai trò quan trọng trong xử lý dữ liệu Trong nhóm thuật toán Online Mode Heuristic, công việc được thực hiện ngay khi dữ liệu đến hệ thống Trong môi trường đám mây, nơi mà tính không đồng nhất và hiệu suất của các máy chủ thay đổi nhanh chóng, các thuật toán Online Mode Heuristic thường mang lại hiệu quả tốt hơn.
MỘT SỐ THUẬT TOÁN AI ỨNG DỤNG VÀO CÂN BẰNG TẢI
1.3.1 Tổng quan một số thuật toán AI
AI algorithms can be categorized based on their functions into several groups The Regression Algorithms group includes Linear Regression, Logistic Regression, and Stepwise Regression The Classification Algorithms group features Linear Classifier, Support Vector Machine (SVM), Kernel SVM, Sparse Representation-based Classification (SRC), and Instance-based Algorithms such as k-Nearest Neighbor (kNN) and Learning Vector Quantization (LVQ) Regularization Algorithms encompass Ridge Regression, Least Absolute Shrinkage and Selection Operator (LASSO), and Least-Angle Regression (LARS) Bayesian Algorithms consist of Naive Bayes and Gaussian Naive Bayes Clustering Algorithms include k-Means clustering, k-Medians, and Expectation Maximization (EM) The Artificial Neural Network Algorithms group comprises Perceptron, Softmax Regression, Multi-layer Perceptron, and Back-Propagation Dimensionality Reduction Algorithms feature Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) Finally, the Ensemble Algorithms group includes Boosting, AdaBoost, and Random Forest.
Tác giả luận án đã nghiên cứu tiềm năng của Machine Learning (ML) và phân tích thống kê dữ liệu trong ứng dụng cân bằng tải trên điện toán đám mây Một số thuật toán được chọn bao gồm: thuật toán xác suất Nạve Bayes, hữu ích trong phân loại sự kiện dựa trên dữ liệu có sẵn; thuật toán SVM (Support Vector Machine) cho các bài toán phân loại và hồi quy, hiệu quả với dữ liệu không tuyến tính; thuật toán KMeans trong nhóm Clustering Algorithms, phân nhóm dữ liệu dựa trên đặc trưng tương tự; và các thuật toán dự báo ARIMA và Regression, giúp dự báo xu hướng và biến động dữ liệu trong môi trường đám mây Cuối cùng, thuật toán k-NN (k-Nearest Neighbor) được sử dụng để phân loại và xác định lớp cho các điểm dữ liệu mới dựa trên thông tin từ các điểm gần nhất trong tập dữ liệu huấn luyện.
Tác giả đã lựa chọn các thuật toán Nạve Bayes, SVM, KMeans, ARIMA, Regression và k-NN để nghiên cứu ứng dụng nhằm nâng cao hiệu năng cân bằng tải trong môi trường điện toán đám mây, dựa trên phân loại thuật toán và các yếu tố cân nhắc.
1.3.2 Một số thuật toán ML ứng dụng vào CBT
Thuật toán Naive Bayes là một kỹ thuật phân lớp dựa trên định lý Bayes, trong đó các yếu tố dự đoán được coi là độc lập Cụ thể, trong Naive Bayes, sự xuất hiện hoặc vắng mặt của một đặc trưng trong một lớp không bị ảnh hưởng bởi các đặc trưng khác Chẳng hạn, một quả táo có thể có các thuộc tính như màu đỏ, hình tròn và đường kính khoảng 7.6 cm; các thuộc tính này độc lập với nhau và cùng góp phần xác định khả năng để phân loại trái cây đó là quả táo, vì vậy thuật toán này được gọi là "Naive".
Mô hình Naive Bayes là một công cụ mạnh mẽ và dễ xây dựng, đặc biệt hiệu quả với các tập dữ liệu lớn Với sự đơn giản và hiệu suất vượt trội so với nhiều phương pháp phân loại phức tạp khác, Naive Bayes đã chứng tỏ được giá trị của mình Định lý Bayes cho phép tính toán xác suất hậu nghiệm P(c|x) dựa trên các xác suất P(c), P(x) và P(x|c), như được thể hiện trong công thức tính xác suất hậu nghiệm.
P(c|x) là xác suất sau của lớp (c, mục tiêu) dự đoán (x, thuộc tính) đã cho (posterior posibility)
P(c) là xác suất trước của lớp (Class prior probability)
P(x|c) là khả năng xảy ra là xác suất của người dự đoán cho lớp đã cho (Likelihood)
P(x) là xác suất trước của yếu tố dự đoán (Predictor prior probability)
Thuật toán SVM (Support Vector Machine) là một công cụ mạnh mẽ cho bài toán phân lớp và dự đoán, được phát triển bởi Vapnik và Chervonenkis vào năm 1995 SVM được ứng dụng rộng rãi trong học máy, nhận dạng và trí tuệ nhân tạo, đặc biệt hiệu quả trong việc giải quyết các bài toán phân lớp phi tuyến tính Thuật toán này hoạt động dựa trên nguyên lý Cực tiểu hóa rủi ro có cấu trúc (SRM) và được coi là một trong những phương pháp phân lớp giám sát không tham số tinh vi nhất hiện nay SVM sử dụng các hàm kernel đa dạng để tạo ra không gian biến đổi, giúp xây dựng các mặt phân lớp hiệu quả.
Máy học SVM (Support Vector Machine) tạo ra một siêu phẳng trong không gian dữ liệu để phân loại các điểm thành hai lớp khác nhau SVM áp dụng kỹ thuật chuyển đổi dữ liệu sang không gian nhiều chiều nhằm tìm kiếm siêu phẳng tối ưu Mỗi điểm dữ liệu trong tập huấn luyện được biểu diễn dưới dạng vector, và SVM xác định siêu phẳng tốt nhất để phân chia các lớp, thường được gọi là lớp + và lớp - Chất lượng siêu phẳng được đánh giá qua khoảng cách từ điểm dữ liệu gần nhất của mỗi lớp đến siêu phẳng, với khoảng cách lớn hơn cho thấy siêu phẳng phân loại chính xác hơn.
Mục đích của phương pháp SVM là tìm được khoảng cách biên lớn nhất, điều này được minh họa như sau:
Hình 1 8 Siêu phẳng phân chia dữ liệu học thành 2 lớp + và - với khoảng cách biên lớn nhất Các điểm gần nhất là các Support Vector [60]
Phân cụm là một kỹ thuật quan trọng trong khai phá dữ liệu, thuộc phương pháp Unsupervised Learning trong Machine Learning Thuật toán K-Means là một trong những phương pháp phổ biến nhất trong phân cụm, với mục tiêu chia các đối tượng thành K nhóm đã được xác định trước Ý tưởng chính của K-Means là tối thiểu hóa tổng bình phương khoảng cách giữa các đối tượng và tâm của từng nhóm.
Thuật toán K-Means được mô tả như sau:
Hình 1 9 Sơ đồ thuật toán K – means [61]
Các bước chính của thuật toán
1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
2 Tính toán khoảng cách giữa các objects (đối tượng) đến K tâm (thông thường sử dụng khoảng cách Euclidean)
3 Nhóm các đối tượng vào cụm gần nhất
4 Xác định lại tâm mới cho các cụm bằng cách lấy trung bình cộng tọa độ các điểm đã được gán vào cụm
5 Lặp lại bước 2 cho đến khi không có sự thay đổi cụm nào của các đối tượng
Thuật toán dự báo ARIMA
ARIMA (Auto Regression Integrated Moving Average) là một thuật toán thống kê, được phát triển từ mô hình hồi quy ARMA (Auto Regression Moving Average) Mô hình này sử dụng dữ liệu chuỗi thời gian hiện có để dự đoán các giá trị trong tương lai.
Mô hình ARIMA, hay phương pháp Box-Jenkins, yêu cầu lựa chọn các giá trị p, d, và q để nhận dạng mô hình ARIMA(p,d,q) Trước tiên, chuỗi thời gian cần được kiểm tra để đảm bảo đã dừng hoặc đã được sai phân hóa với mức độ sai phân d xác định Sau đó, thông qua việc phân tích hàm tự tương quan ACF và hàm tự tương quan từng phần PACF, chúng ta có thể xác định mô hình phù hợp cho dữ liệu.
Nếu hàm tự tương quan ACF và hàm tự tương quan từng phần PACF giảm đột ngột, mô hình AR (Tự hồi quy) là lựa chọn phù hợp Khi cả hai hàm này đều giảm mạnh, mô hình ARMA (Tự hồi quy trung bình trượt) sẽ được sử dụng.
Đôi khi, cả hai hàm có thể giảm đột ngột cùng lúc, vì vậy việc xác định mô hình phù hợp yêu cầu thử nghiệm và so sánh nhiều mô hình khác nhau Sau đó, chúng ta cần kiểm tra xem mô hình nào mang lại kết quả tốt nhất, có thể dựa vào SPAC, SAC, hoặc số lần lấy sai phân để làm cho chuỗi dừng.
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) = a0 + a1z(t-1) + e(t) + b1e(t-1) (2.2) Với h(t) = z(t) – z(t-1) ở sai phân thứ hai: d = 2 (d lớn hơn 2 rất ít được sử dụng) 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
Hình 1 10 Sơ đồ mô phỏng mô hình Box-Jenkins [63]
Trong phương trình (3.1), chúng ta định nghĩa 𝑤 = [𝑤 , 𝑤 , 𝑤 , 𝑤 ] là vector hệ số cần tối ưu và 𝑥̅ = [1, 𝑥 , 𝑥 , 𝑥 ] là vector dữ liệu đầu vào mở rộng Sự xuất hiện của số 1 ở đầu vector giúp đơn giản hóa phép tính và thuận tiện cho quá trình tính toán Do đó, phương trình (3.1) có thể được viết lại một cách rõ ràng hơn.
Chúng ta mong muốn sự sai khác giữa giá trị thực y và giá trị dự đoán 𝑦 (y hat) là nhỏ nhất Điều này có nghĩa là chúng ta cần tối thiểu hóa giá trị chênh lệch này để đạt được độ chính xác cao trong dự đoán.
Trong công thức 𝑒 = (𝑦 − 𝑦) = (𝑦 − 𝑥̅𝑤), hệ số ẵ được sử dụng để thuận tiện cho việc tính toán, đặc biệt khi tính đạo hàm thì số ẵ sẽ bị triệt tiêu Chúng ta cần xác định 𝑒 vì 𝑒 = 𝑦 − 𝑦 có thể là một số âm Việc nói rằng 𝑒 nhỏ nhất là không chính xác, bởi vì khi 𝑒 = −∞, giá trị này tuy rất nhỏ nhưng sự sai lệch lại rất lớn.
KẾT LUẬN CHƯƠNG
Chương này cung cấp cái nhìn tổng quan về công nghệ điện toán đám mây hiện đại và cân bằng tải, cùng với các đặc điểm của tính toán hiệu năng cao Nó cũng giới thiệu một số thuật toán trí tuệ nhân tạo phổ biến hiện nay có thể ứng dụng vào cân bằng tải, đặc biệt là các thuật toán phân lớp và dự báo Bên cạnh đó, chương này lựa chọn một số thuật toán và kỹ thuật machine learning về dự báo, phân lớp và gom cụm, làm cơ sở để đề xuất giải pháp cho các thuật toán cân bằng tải tương ứng Cuối cùng, chương cũng trình bày một số công trình nghiên cứu liên quan đã được công bố gần đây.
TIẾP CẬN SWOT CHO CÂN BẰNG TẢI TRÊN ĐIỆN TOÁN ĐÁM MÂY
GIỚI THIỆU CHUNG
Cân bằng tải là yếu tố quan trọng trong điện toán đám mây, ảnh hưởng đến cả kỹ thuật và chất lượng dịch vụ Để hiểu và đánh giá tốt hơn về cân bằng tải, bài viết này áp dụng công cụ phân tích SWOT, giúp xác định các vấn đề hiện tại và đưa ra giải pháp nâng cao hiệu năng cân bằng tải trong môi trường điện toán đám mây.
GIỚI THIỆU VỀ CÔNG CỤ SWOT
SWOT [65] (Strengths - Thế mạnh, Weaknesses - Điểm yếu, Opportunities -
Phân tích SWOT (Cơ hội, Thách thức, Thế mạnh, Điểm yếu) là một công cụ hữu ích trong kinh doanh, giúp các tổ chức đánh giá và cải thiện tình hình hoạt động SWOT xác định các yếu tố bên trong như "Thế mạnh" và "Điểm yếu", mà doanh nghiệp có thể kiểm soát và điều chỉnh, ví dụ như danh tiếng, đặc điểm sản phẩm và vị trí địa lý Đồng thời, nó cũng phân tích các yếu tố bên ngoài như "Cơ hội" và "Thách thức", thường không thể kiểm soát hoàn toàn, chẳng hạn như thị trường khách hàng và hành vi của họ.
Phân tích SWOT, viết tắt của Điểm mạnh, Điểm yếu, Cơ hội và Thách thức, là công cụ quan trọng giúp xác định các vấn đề tồn tại và đưa ra mục tiêu chiến lược cho doanh nghiệp Trong lĩnh vực điện toán đám mây, việc nghiên cứu và phát triển không chỉ liên quan đến dịch vụ mà còn gắn liền với chiến lược của các nhà cung cấp dịch vụ Do đó, áp dụng công cụ SWOT vào phân tích điện toán đám mây giúp tìm ra giải pháp tối ưu cho dịch vụ Luận án này sử dụng SWOT như kim chỉ nam để phân tích yếu tố cân bằng tải, nhằm nâng cao hiệu năng và cải thiện dịch vụ điện toán đám mây.
Phân tích SWOT bao gồm bốn yếu tố quan trọng: Điểm mạnh, Điểm yếu, Cơ hội và Thách thức Điểm mạnh và Điểm yếu tập trung vào tình hình hiện tại hoặc quá khứ, trong khi Cơ hội và Thách thức hướng đến tương lai Thực hiện phân tích SWOT giúp tạo ra mối liên kết giữa tình hình cân bằng tải hiện tại và các hướng nghiên cứu cũng như thuật toán mới trong tương lai.
Để thực hiện phân tích SWOT, chúng ta có thể kết hợp bốn yếu tố chính và tạo ra ma trận SWOT hay ma trận TOWS Qua đó, có thể phát triển bốn chiến lược tiếp cận: S-O (Strengths-Opportunities), W-O (Weaknesses-Opportunities), S-T (Strengths-Threats) và W-T (Weaknesses-Threats).
(Cơ hội) Tiếp cận S-O Tiếp cận W-O
(Thách thức) Tiếp cận S-T Tiếp cận W-T
PHÂN TÍCH SWOT HIỆU NĂNG CÂN BẰNG TẢI TRÊN CLOUD
Khái niệm về hiệu năng
Hiệu năng của sản phẩm phản ánh hiệu quả hoạt động của thiết bị, bao gồm tiêu thụ năng lượng, tối ưu phần mềm, công suất làm việc, sức mạnh xử lý và thời gian hoàn tất tác vụ Trên các thiết bị công nghệ, hiệu năng được xem là tổng hòa của những đặc điểm này Để đánh giá hiệu năng của smartphone, chúng ta có thể dựa vào cấu hình như chip, RAM và bộ nhớ trong.
Khái niệm về hiệu năng cân bằng tải
Cân bằng tải được coi là một thiết bị hoạt động trong môi trường điện toán đám mây, với hiệu năng quan trọng trong việc phân phối lưu lượng Theo các nhà phát triển và cung cấp dịch vụ điện toán đám mây lớn như IBM và NGINX, hiệu năng của cân bằng tải có thể được đo lường dựa trên một số yếu tố chủ yếu.
Độ trễ (Latency) là khoảng thời gian trung bình cần thiết để một yêu cầu được gửi đến máy chủ, và giá trị này càng thấp càng tốt, đặc biệt khi trang web có nhiều người dùng Độ trễ cao có thể dẫn đến thời gian phản hồi chậm hoặc hết thời gian chờ, gây ảnh hưởng đến trải nghiệm người dùng Tuy nhiên, khi có nhiều máy chủ trong một nhóm thực hiện các tác vụ đồng thời, số lượng yêu cầu có thể vượt quá khả năng xử lý của máy chủ, dẫn đến tăng độ trễ Hơn nữa, nếu trình cân bằng tải sử dụng mã hóa SSL với xác thực máy khách, thời gian phản hồi có thể kéo dài hơn do chi phí xử lý bổ sung từ SSL.
Thời gian phản hồi (Response Time) là khoảng thời gian mà máy chủ cần để trả lời các yêu cầu, đặc biệt quan trọng đối với các ứng dụng và dịch vụ yêu cầu phản hồi nhanh như trang web thương mại điện tử và hệ thống trò chuyện trực tiếp Để đánh giá hiệu suất, cần đo thời gian phản hồi trên các thành phần hoặc phiên bản riêng lẻ của bộ cân bằng tải Thời gian phản hồi nhanh cho thấy người dùng nhận được nội dung kịp thời, trong khi thời gian phản hồi lâu hơn dự kiến có thể do tắc nghẽn mạng, phân giải DNS kém hoặc sự cố cơ sở dữ liệu.
Khả năng phân bổ tài nguyên trong cân bằng tải trên đám mây là yếu tố quan trọng, cho phép phân bổ hiệu quả tài nguyên cho các dịch vụ hoặc ứng dụng cụ thể Điều này không chỉ đảm bảo rằng tài nguyên được sử dụng một cách tối ưu mà còn đáp ứng nhu cầu của ứng dụng, giúp cải thiện trải nghiệm người dùng Cân bằng tải trên đám mây cũng tối ưu hóa dung lượng ứng dụng toàn cầu, mang lại chi phí thấp hơn so với các triển khai cân bằng tải truyền thống.
Mức độ công bằng trong phân bổ tài nguyên (Allocation Fairness) là một yếu tố quan trọng trong cân bằng tải trên đám mây, đảm bảo rằng tài nguyên được phân phối công bằng giữa các dịch vụ và ứng dụng khác nhau Việc phân bổ công bằng và hiệu quả giúp đáp ứng nhu cầu của tất cả các ứng dụng hoặc dịch vụ trong môi trường đám mây Có nhiều kỹ thuật cân bằng tải khác nhau, bao gồm cân bằng tải chung, cân bằng tải dựa trên hiện tượng thông thường, cân bằng tải hoàn chỉnh dựa trên dự án và cân bằng tải kiểu dựa trên tác nhân.
Khả năng tăng tốc trong cân bằng tải trên đám mây liên quan đến việc tối ưu hóa các tham số như thời gian phản hồi, thời gian thực thi và độ ổn định hệ thống, nhằm nâng cao hiệu suất tổng thể Cân bằng tải trên đám mây được chia thành hai loại: cân bằng tải ứng dụng và cân bằng tải mạng Đối với lưu lượng HTTP(S), SSL(S) hoặc TCP/SSL, chúng ta nên lựa chọn bộ cân bằng tải ứng dụng với Lớp 7 để đạt được hiệu quả tối ưu.
Khả năng đồng bộ giữa các tác vụ trong cân bằng tải trên đám mây là quá trình đồng bộ hóa các tác vụ trên nhiều máy chủ để thực thi theo đúng thứ tự và tránh xung đột Cân bằng tải tối ưu hóa việc phân phối công việc đồng đều, cải thiện hiệu suất và độ tin cậy Điều này rất quan trọng trong điện toán đám mây, giúp sử dụng tài nguyên một cách hiệu quả.
Khả năng chịu lỗi trong điện toán đám mây là khả năng hệ thống duy trì hoạt động liên tục dù có sự cố xảy ra Đây là một thách thức quan trọng để đảm bảo tính đáng tin cậy và sẵn sàng của dịch vụ Để đạt được khả năng này, việc cân bằng tải hiệu quả là rất cần thiết Các kỹ thuật như lập kế hoạch chi tiết cho các công việc, cung cấp dịch vụ thay thế khi thiết bị không khả dụng, và sử dụng các giải pháp cân bằng tải cùng chuyển đổi dự phòng sẽ giúp đảm bảo tính khả dụng và phục hồi nhanh chóng trong trường hợp xảy ra thảm họa.
Để đo lường và kiểm soát hiệu năng cân bằng tải trên cloud, cần cụ thể hóa việc nâng cao hiệu năng này thông qua việc đo lường các thông số trong các thuật toán Các tham số quan trọng bao gồm: Thông lượng (Throughput), Overhead, Khả năng chịu lỗi (Fault Tolerance), thời gian di dời (Migration Time), thời gian đáp ứng (Response Time), tối ưu hóa tài nguyên (Resource Utilization), khả năng co giãn (Scalability), và hiệu quả hoạt động (efficiency) Bên cạnh đó, phân tích SWOT cũng là một công cụ hữu ích trong việc đánh giá hiệu năng cân bằng tải.
SWOT là một công cụ phân tích hữu ích trong lĩnh vực công nghệ thông tin, giúp xác định các vấn đề, thách thức và cơ hội trong ứng dụng công nghệ Nhiều nghiên cứu đã áp dụng SWOT để đánh giá điện toán đám mây, như nghiên cứu của Sonal Dubey và cộng sự vào năm 2015, họ đã phân tích môi trường điện toán đám mây để tìm ra vấn đề và đề xuất giải pháp phát triển Năm 2017, Sugandhi Midha tiếp tục sử dụng SWOT để phân tích sâu hơn về các vấn đề của cloud Đến năm 2020, Ify Evangel và nhóm nghiên cứu của mình đã áp dụng SWOT để phân tích công nghệ điện toán đám mây trong dịch vụ thư viện tại Đại học Nigeria Nsukka.
Theo phân tích SWOT, việc xác định mục tiêu nâng cao hiệu năng cân bằng tải là rất quan trọng Từ đó, cần đặt ra các mục tiêu cụ thể và phân tích theo hai hướng: bên trong (điểm mạnh và điểm yếu) và bên ngoài (cơ hội và thách thức) Qua đó, chúng ta có thể đưa ra các giải pháp phù hợp nhằm đạt được mục tiêu nâng cao hiệu năng cân bằng tải.
Hình 2 3 Tiếp cận phân tích SWOT [67]
Các yếu tố bên trong cân bằng tải của môi trường đám mây bao gồm các thuộc tính có thể đo lường, đặc biệt là các tính chất đặc trưng của cân bằng tải như thông lượng (Throughput) và dung sai lỗi (Fault Tolerance).
Trong lĩnh vực công nghệ thông tin, các yếu tố quan trọng liên quan đến cân bằng tải bao gồm độ chịu đựng (Tolerance), thời gian di dời (Migration Time), thời gian đáp ứng (Response Time) và khả năng mở rộng (Scalability) Bên cạnh đó, các yếu tố nội bộ của cân bằng tải cũng rất đáng chú ý, bao gồm chính sách cân bằng tải, cách thức hoạt động của nó và đặc biệt là các thuật toán cân bằng tải được áp dụng.
CÁC CÔNG TRÌNH LIÊN QUAN
2.4.1 CÔNG TRÌNH LIÊN QUAN CLOUD VÀ XU HƯỚNG PHÁT TRIỂN CBT TRÊN MÔI TRƯỜNG ĐÁM MÂY
Trong nghiên cứu tổng hợp của Atharva Agashe và cộng sự, các tác giả đã phân tích các mô hình dịch vụ đám mây như IaaS, PaaS và SaaS, cùng với các mô hình triển khai bao gồm Công cộng, Riêng tư và Hybrid Họ cũng đã xem xét các giai đoạn di chuyển ứng dụng lên đám mây, nhấn mạnh tầm quan trọng của việc thực hiện cẩn thận từng giai đoạn trong quá trình này.
Trong quá trình di chuyển, có 6 chiến lược chính: Rehosting, Replatforming, Repurchasing, Refactoring, Retaining và Retiring, cung cấp cái nhìn tổng quan về cách thức di chuyển thực tế và những thay đổi cần thiết Các tác giả cũng phân tích các kỹ thuật mà các nhà cung cấp dịch vụ đám mây (CSPs) như AWS, Azure và GCP cung cấp để hỗ trợ quá trình này.
Nghiên cứu của Yunas Simpa về an toàn và tính riêng tư trong điện toán đám mây đã tổng hợp các xu hướng công nghệ mới nổi và thách thức trong hệ thống cloud, đặc biệt là khả năng tự bảo vệ của cơ sở hạ tầng liên quan đến an toàn thông tin Các kỹ thuật thích ứng an toàn có thể áp dụng trong mọi giai đoạn của công nghệ cloud, từ phần cứng đến phần mềm Hệ thống cần có khả năng tự bảo vệ trước các cuộc tấn công và lỗ hổng, nếu không sẽ dễ bị tổn thương về an toàn và riêng tư Bài đánh giá cũng chỉ ra các lỗ hổng qua phân tích STRIDE, đồng thời nêu rõ hạn chế của các nghiên cứu trước đó và phân loại vấn đề an ninh dựa trên việc khắc phục các cuộc tấn công Nghiên cứu nhấn mạnh nhu cầu cải thiện các kỹ thuật thích ứng để đối phó với các mối đe dọa, đồng thời chỉ ra sự thiếu nhất quán trong thiết kế và triển khai biện pháp bảo mật, dẫn đến việc bảo vệ an toàn và riêng tư chưa đầy đủ Các mô hình bảo vệ quyền riêng tư hiện tại chưa tập trung vào người dùng, thiếu tính linh hoạt và quản lý kiểm soát đối với các giao thức an toàn mạng.
Nghiên cứu tổng hợp của Belen Bermejo đã chỉ ra rằng học máy và học sâu là các kỹ thuật phổ biến trong các ứng dụng đám mây, cạnh và IoT, với trọng tâm vào tiêu thụ năng lượng và hiệu suất Tuy nhiên, các giải pháp hiện tại để cải thiện sự bền vững vẫn chưa đầy đủ và thiếu sự cân bằng giữa tính toàn vẹn, trách nhiệm và quyền riêng tư Bài viết này có thể hỗ trợ các nhà nghiên cứu phát triển kiến thức mới, làm cơ sở cho các nghiên cứu tiếp theo trong lĩnh vực AI và sự bền vững Hướng nghiên cứu tương lai nên tập trung vào việc áp dụng trí tuệ nhân tạo để nâng cao sự bền vững của môi trường đám mây, cạnh và IoT, đồng thời tiếp tục đánh giá kỳ vọng và tiến bộ của AI trong nghiên cứu sự bền vững của các hệ sinh thái này.
Gần đây, nghiên cứu của Hazzaa N Alshareef đã chỉ ra rằng điện toán đám mây là công nghệ phát triển nhanh chóng, mang lại nhiều lợi ích như truy cập mọi lúc mọi nơi và giảm chi phí cơ sở hạ tầng Tuy nhiên, việc áp dụng điện toán đám mây cũng gặp phải thách thức như thiếu chuyên môn, quản lý dịch vụ, quyền riêng tư và bảo mật dữ liệu Các dịch vụ lưu trữ trong đám mây thường tồn tại trong các trung tâm dữ liệu, nhưng việc lưu trữ ứng dụng trên một nhà cung cấp duy nhất có thể tiềm ẩn rủi ro Xu hướng hiện tại cho thấy điện toán đám mây vẫn đang phát triển, với công nghệ mới được phát triển để giải quyết thách thức Việc ứng dụng AI trong điện toán đám mây có thể giúp giảm thiểu rủi ro và cung cấp giải pháp cho các vấn đề chưa được giải quyết.
Trong bối cảnh dịch bệnh COVID-19, sự phụ thuộc vào các ứng dụng điện toán đám mây và công nghệ hiện đại ngày càng gia tăng Nghiên cứu của Shajunyi Zhao và cộng sự đã chỉ ra tầm quan trọng của những công nghệ này trong việc hỗ trợ cuộc sống hàng ngày và công việc.
Nghiên cứu về vai trò của điện toán đám mây và mô hình trả tiền khi sử dụng trong đại dịch đã chỉ ra rằng điện toán đám mây đóng vai trò quan trọng trong việc giảm thiểu tác động tiêu cực trong các tình huống khẩn cấp như dịch coronavirus Bài đánh giá đã tổng hợp 18 bài báo khoa học từ năm 2020 đến tháng 4 năm 2022, xác định các lỗ hổng nghiên cứu và đề xuất phương hướng cho nghiên cứu tương lai Điện toán đám mây xanh đang nổi lên như một giải pháp bền vững, cải thiện hiệu quả sử dụng năng lượng và giảm khí thải carbon Các công nghệ như quản lý năng lượng và ảo hóa đang được các nhà cung cấp dịch vụ áp dụng để giảm thiểu tác động môi trường Các tài liệu hiện có, như khảo sát của Laura-Diana Radu và báo cáo của Archarna Patil, cung cấp cái nhìn tổng quan về những tiến bộ và thách thức trong lĩnh vực điện toán đám mây xanh, làm nền tảng cho nghiên cứu trong tương lai.
Năm 2022, nghiên cứu của Nesma Abd El-Mawla và cộng sự đã chỉ ra rằng các nhà cung cấp dịch vụ đám mây và người tiêu dùng cần xem xét các yếu tố ảnh hưởng đến tác động tích cực của điện toán đám mây đến môi trường Bài viết của J Sylvia Grace và G Meeragandhi đã bàn về các công ty CNTT xanh hơn, thân thiện với môi trường, nhằm giảm lượng khí thải carbon và chi phí vận chuyển Điện toán đám mây xanh hướng đến việc giảm thiểu ô nhiễm không khí, nước và đất Nghiên cứu cũng xem xét lượng khí thải carbon cá nhân và tác động carbon từ các trung tâm điện toán đám mây.
Trong bài khảo sát của Avita Katal và cộng sự (2023), việc gia tăng năng lượng tiêu thụ tại các trung tâm dữ liệu do tiến bộ công nghệ và nhu cầu xử lý cao đã thúc đẩy việc phát triển các giải pháp phần mềm nhằm giảm mức tiêu thụ điện năng Bài viết nêu rõ các phương pháp như ảo hóa phần mềm, ảo hóa hệ điều hành, và tầm quan trọng của container hóa trong việc tiết kiệm năng lượng, đồng thời chỉ ra những thách thức nghiên cứu trong tương lai để xây dựng trung tâm dữ liệu bền vững Jason M Pittman và Shaho Alaee đã đề xuất một thuật toán lập lịch xanh cho honeynet trong môi trường đám mây, nhấn mạnh rằng mặc dù công nghệ đám mây mang lại lợi ích về chi phí và linh hoạt, nhưng cũng tiêu tốn nhiều năng lượng và ảnh hưởng đến môi trường Xu hướng tiêu thụ năng lượng đám mây liên quan đến biến đổi khí hậu và sự cạn kiệt nhiên liệu hóa thạch đã dẫn đến sự chú ý ngày càng tăng đối với điện toán đám mây xanh và bền vững Tuy nhiên, việc triển khai dịch vụ đám mây cũng kéo theo các mối đe dọa an ninh mạng, trong khi các công nghệ an ninh hiện tại lại không tối ưu hóa cho việc tiết kiệm năng lượng Nhóm tác giả đã đề xuất một thuật toán lập lịch honeynet an ninh mạng tổng quát, nhằm tăng cường tính bền vững trong khi vẫn đảm bảo hiệu quả phòng thủ, được mô tả bằng cả toán học và mã giả.
Bài báo của Jorge Pérez và cộng sự làm rõ khái niệm "tính toán cạnh" thông qua một lý thuyết toàn diện, dựa trên nghiên cứu định tính và phỏng vấn chuyên gia trong ngành Lý thuyết này xác định các cấu trúc và khía cạnh trung tâm của điện toán biên, phù hợp với tiêu chuẩn ISO/IEC TR 30164 Nghiên cứu nêu bật lợi ích của điện toán biên như giảm tiêu thụ tài nguyên, cải thiện bảo mật và hiệu suất, đồng thời chỉ ra những thách thức như xây dựng hệ thống phức tạp, độ tin cậy, hiệu suất tính toán và vấn đề lưu trữ trong môi trường IoT.
Nghiên cứu của Gustavo Caiza và cộng sự chỉ ra rằng sự gia tăng thiết bị IoT tạo ra khối lượng dữ liệu lớn, đặt ra thách thức cho cơ sở hạ tầng và ứng dụng công nghiệp hiện tại trong việc xử lý dữ liệu hiệu quả Để giải quyết vấn đề này, công nghệ Fog Computing (FC) đã ra đời như một phần mở rộng của điện toán đám mây, cung cấp các nền tảng nhỏ tại các nút sương mù, giúp tài nguyên tính toán và ứng dụng gần gũi hơn với người dùng cuối FC mở ra cơ hội nghiên cứu và ứng dụng mới ở cấp độ công nghiệp nhằm cải thiện và giải quyết các vấn đề hiện tại Đề xuất cho các nghiên cứu tương lai là phát triển FC theo tiêu chuẩn IEC-61499, nhằm cung cấp tính di động, khả năng tương tác và cấu hình lại các ứng dụng.
Theo nghiên cứu của Mohammed Al Masarweh và cộng sự, điện toán sương mù đã trở thành giải pháp tiềm năng cho việc xử lý và lưu trữ dữ liệu cục bộ giữa các thiết bị IoT, đặc biệt khi dữ liệu nhạy cảm yêu cầu thời gian phản hồi nhanh Bài báo đề xuất hệ thống DCMB, đáp ứng các yêu cầu SLA của IoT với thời gian xử lý ngắn hơn so với các hệ thống đám mây truyền thống Nghiên cứu của Deok‑Kee Choi chỉ ra rằng các hệ thống sản xuất thông minh dựa trên điện toán đám mây gặp khó khăn do độ trễ cao và mức sử dụng băng thông lớn Để khắc phục, tác giả đã phát triển phương pháp điện toán sương mù với thuật toán học máy, đạt độ chính xác giám sát trạng thái quạt khoảng 98% Sukhpal Singh Gill nhấn mạnh rằng việc sử dụng ứng dụng IoT ngày càng tăng, tạo ra lượng dữ liệu lớn trong thời gian ngắn, yêu cầu xử lý với độ trễ tối thiểu Chương này trình bày một tuyên ngôn về các hệ thống điện toán biên và sương mù, đánh giá nghiên cứu hiện tại và đề xuất hướng đi nghiên cứu trong tương lai.
Nghiên cứu của Sundas Iftikhar (2023) đã chỉ ra rằng việc áp dụng học máy và trí tuệ nhân tạo (AI) trong quản lý tài nguyên điện toán cạnh và điện toán sương mù đang ngày càng trở nên phổ biến Nghiên cứu nhấn mạnh rằng các phương pháp AI giúp khắc phục những hạn chế của các phương pháp truyền thống, cho phép đưa ra quyết định quản lý tài nguyên chính xác hơn với chi phí thời gian thấp và cải thiện chất lượng dịch vụ Nhiều lĩnh vực, từ chăm sóc sức khỏe đến giao thông thông minh, đã hưởng lợi từ các kỹ thuật tối ưu hóa dựa trên AI và có khả năng tối ưu hóa hơn nữa thông qua vi dịch vụ và kiến trúc không máy chủ Tuy nhiên, nghiên cứu cũng chỉ ra rằng cần có một khung tối ưu hóa toàn diện dựa trên AI để quản lý hiệu quả toàn bộ quy trình trong điện toán cạnh và sương mù.
Nghiên cứu của Pankaj Sharma đã giới thiệu một thuật toán hiệu quả nhằm tối ưu hóa đường dẫn chi phí tốt nhất bằng cách kết hợp phương pháp Vị trí nút góc và tối ưu hóa ong hạt mới, đồng thời cải thiện khả năng chịu lỗi của máy chủ thông qua việc sao chép hoạt động và kiểm tra đồng bộ với máy chủ proxy Lược đồ đề xuất giúp giảm mức sử dụng mạng xuống 618.020, dẫn đến tiết kiệm chi phí thực hiện đám mây sương mù khoảng 81.900 đô la Các thiết bị đạt hiệu suất cao nhất với thông lượng 93% cho Devive_ID 3, thời gian phản hồi 62%, hiệu suất 94%, tính khả dụng 97% và độ tin cậy 85% Kết quả thực nghiệm cho thấy các sơ đồ này vượt trội hơn so với khung lai CRBM Trong tương lai, nghiên cứu về vị trí dịch vụ sương mù có thể cải thiện việc sử dụng tài nguyên và hiệu quả năng lượng của các thiết bị cảm biến, đồng thời cần được đánh giá từ góc độ bảo mật và quyền riêng tư.
Sự phát triển nhanh chóng của Internet vạn vật (IoT) và khối lượng dữ liệu khổng lồ từ các thiết bị IoT đã đặt ra thách thức cho các giải pháp IoT dựa trên đám mây, đặc biệt về khả năng cung cấp dịch vụ thời gian thực, quyền riêng tư và hiệu suất Để khắc phục những vấn đề này, điện toán cạnh (edge computing) đã ra đời, cho phép xử lý và lưu trữ dữ liệu gần gũi hơn với người dùng, giảm thiểu hạn chế băng thông và độ trễ Điện toán cạnh di động (MEC) mang lại hiệu suất ứng dụng tốt hơn và giảm tắc nghẽn mạng, đồng thời là một chủ đề nghiên cứu quan trọng trong việc giải quyết các vấn đề dữ liệu lớn phức tạp từ IoT, phương tiện truyền thông xã hội và giao tiếp giữa máy với máy.
KẾT LUẬN CHƯƠNG
Chương 2 đã sử dụng công cụ SWOT để phân tích và tiếp cận hiệu năng cân bằng tải trên cloud, từ đó đưa ra cách tiếp cận để nâng cao hiệu năng cân bằng tải trên cloud bao gồm hướng tiếp cận từ bên trong và hướng tiếp cận từ bên ngoài Dựa vào
Chương này đề xuất hai hướng tiếp cận và trình bày các công trình nghiên cứu liên quan đến phân loại cân bằng tải theo hướng từ bên trong và bên ngoài Các nghiên cứu gần đây, cả trong nước và quốc tế, tập trung vào các kỹ thuật cân bằng tải trong môi trường điện toán đám mây, nhằm nâng cao hiệu suất và hiểu biết về các phương pháp cải thiện cân bằng tải trong lĩnh vực này.
Hiểu rõ ưu và nhược điểm của các thuật toán hiện tại là cần thiết để phát triển các thuật toán cải tiến Hai hướng tiếp cận chính được đề xuất nhằm nâng cao hiệu suất cân bằng tải Những đề xuất này sẽ làm cơ sở cho việc giới thiệu thêm các kỹ thuật mới, ứng dụng học máy và phân tích dữ liệu trong lĩnh vực cân bằng tải.
CÂN BẰNG TẢI THEO HƯỚNG TIẾP CẬN BÊN TRONG
GIỚI THIỆU CHUNG
Thuật toán MCCVA [CT1] là sự kết hợp giữa SVM (Support Vector Machine) và k-Means, cho phép phân tích dữ liệu linh hoạt và phân phối tải hiệu quả Sự kết hợp này nhằm mục tiêu giảm Thời gian đáp ứng và Makespan, mang lại hiệu suất cao trong việc phân lớp và phân cụm dữ liệu.
Thuật toán APRTA [CT2] sử dụng mô hình ARIMA để dự đoán Thời gian đáp ứng, giúp cải thiện cân bằng tải Kỹ thuật này dự đoán nhu cầu tài nguyên và phân phối tải trước khi có sự gia tăng đột biến, từ đó tối ưu hóa Thời gian xử lý và Makespan.
Thuật toán RCBA [CT7] kết hợp phương pháp phân lớp xác suất Nạve Bayes và k-Means, mang lại hiệu quả trong việc phân loại và phân cụm dữ liệu Mục tiêu của thuật toán là phân phối tải đều trên các nút mạng, giảm thiểu thời gian đáp ứng và Makespan, đồng thời tận dụng lợi thế từ phân tích dữ liệu phân loại.
Thuật toán ITA [CT3] là một cải tiến từ Throttle Algorithm, một thuật toán cân bằng tải nổi tiếng ITA tối ưu hóa việc phân phối tải dựa trên Thời gian đáp ứng và Makespan, mang lại hiệu quả cao hơn so với phiên bản gốc nhờ vào việc áp dụng các kỹ thuật tiên tiến từ học máy.
Sự liên kết giữa các thuật toán không chỉ ở việc chia sẻ bộ tham số cân bằng tải mà còn ở việc hỗ trợ lẫn nhau thông qua các phương pháp tiếp cận dữ liệu đa dạng Để cài đặt mô phỏng các thuật toán, luận án đã sử dụng bộ công cụ CloudSim và lập trình trên ngôn ngữ JAVA.
Môi trường thực nghiệm mô phỏng được thiết lập với từ 5 đến 15 máy ảo trong một môi trường giả lập đám mây Các yêu cầu ngẫu nhiên được tạo ra và gửi đến các dịch vụ trên đám mây, bao gồm dịch vụ cung cấp máy ảo và dịch vụ phục vụ người dùng của CloudSim, nhằm thực hiện các thử nghiệm hiệu quả.
Các thuật toán được đề xuất đã được triển khai bằng ngôn ngữ Java và thử nghiệm thông qua giao diện dòng lệnh trong IDE APACHE NETBEAN Môi trường giả lập được xây dựng bằng thư viện mã nguồn mở CloudSim 4.0, có sẵn tại địa chỉ http://www.cloudbus.org/.
Bên cạnh các thuật toán như SVM, K-Means, Nạve Bayes, Linear Regression và ARIMA được triển khai từ thư viện Weka và Tensorflow Java, các thuật toán đề xuất còn được cài đặt kết hợp với mã nguồn mở CloudSim Đặc biệt, thuật toán ITA được cấu hình và cài đặt trên công cụ CloudAnalyst, một phiên bản của CloudSim với giao diện người dùng đầy đủ.
THUẬT TOÁN MCCVA
Dựa vào thời gian xử lý của các request và các thuộc tính khác, thuật toán SVM được áp dụng để phân lớp các request, giúp xác định cách phân bổ tài nguyên hiệu quả Đồng thời, tài nguyên như máy ảo và host được phân cụm dựa trên mức độ sử dụng Việc kết hợp đánh giá số lần sai và sai số góp phần nâng cao hiệu suất của thuật toán thông qua ứng dụng học máy, mặc dù việc này vẫn bị hạn chế bởi một mức sai số cho phép.
Dựa vào các công trình nghiên cứu về Makespan, xin đề xuất thuật toán gồm
(1) Module phân lớp các request bằng thuật toán SVM:
Trong module này, thuật toán SVM sẽ sử dụng các thuộc tính của yêu cầu để tính toán thời gian xử lý, từ đó phân loại yêu cầu Các thuộc tính bao gồm kích thước, độ dài phản hồi, độ dài tối đa, và nhiều yếu tố khác.
Nhóm Thời Gian xử lý được xác định bằng công thức MKNew = SVM(X1, X2,…, Xn) (5.1), trong đó Xi đại diện cho các thuộc tính của Request khi được gửi lên cloud Các thuộc tính này có thể được phân chia thành nhiều nhóm, từ 4 đến 10 nhóm hoặc nhiều hơn, tùy thuộc vào độ biến thiên của Request.
(2) Module phân cụm các máy ảo / host / tài nguyên:
Trong module này, thuật toán K-Means với k=3 sẽ được áp dụng để phân nhóm các máy ảo dựa trên hoạt động và mức sử dụng tài nguyên của chúng Quá trình phân cụm sẽ tạo ra ba nhóm: cao, trung bình và thấp, dựa trên thông số hiện tại của các máy ảo.
Clusteri = KMeans(cpu usage, ram, …) (5.2) Trong đó: i= 1 là nhóm thấp i = 2 là nhóm trung bình i = 3 là nhóm cao
(3) Module phân bổ các dịch vụ (chọn máy ảo)
Module này phân chia yêu cầu đến các máy ảo dựa trên loại yêu cầu và cụm máy ảo phù hợp Khi một yêu cầu được gửi, nó sẽ được xử lý bởi Module 1, sau đó các máy ảo, bao gồm cả máy ảo không tải, sẽ được phân loại qua Module 2 Thuật toán sẽ xác định yêu cầu nào phù hợp nhất với máy ảo thông qua các thông số trả về từ hai hàm SVM và K-Means Nếu thời gian xử lý của yêu cầu nhỏ nhất, yêu cầu đó sẽ được xử lý trên máy ảo xa means nhất, tức là thuộc nhóm gần nhất.
Đối với các yêu cầu có kích thước trung bình, chúng ta có thể áp dụng các phương pháp tính toán như loại suy hoặc sai phân để thực hiện việc phân bổ hiệu quả.
Hình 3 1 Sơ đồ thuật toán MCCVA
Sơ đồ mã giả thuật toán MCCVA
Output: Phân bổ máy ảo cho các request trong tập Request
1 For each Request in CloudRequests
4 VM_Cluster = kMeans(situation); //situation: Trạng thái của các VM Module 2
5 For each VM in VMList
6 If isFitSituation(Request.MakeSpan_Class ,
Theo thuật toán MCCVA, đầu ra của phân lớp request được tính toán dựa trên thời gian xử lý, mà không xác định được giá trị tối đa hay tối thiểu Do đó, thuật toán lưu trữ một lượng thời gian xử lý của các request trước đó để thực hiện tính toán và phân bổ Thuật toán này sử dụng phương pháp Newton-Raphson để xác định vị trí cân đối cần thiết, đồng thời điều chỉnh các biến đổi và tích hợp thêm hệ số dựa trên dữ liệu từ mô phỏng thực nghiệm.
CÀI ĐẶT THUẬT TOÁN MCCVA
Các tham số của mô hình mạng mô phỏng cài đặt chung:
- Môi trường mô phỏng giả lập gồm các thông số sau:
- 01 Datacenter với thông số như bảng 3.1
Bảng 3 1 Thông số cấu hình Datacenter thuật toán MCCVA
Thông tin Datacenter Thông tin Host trong Datacenter
- Số lượng máy (host) trong datacenter: 5
- Không sử dụng Storage (các ổ SAN)
- Hệ điều hành (OS): Linux
Mỗi host trong Datacenter có cấu hình như sau:
- CPU có 4 nhân, mỗi nhân có tốc độ xử lý là 1000 (mips)
- Các máy ảo khi được tạo ra dựa trên thông tin từ bảng 3.2, tất cả các máy ảo đều có cấu hình tương tự nhau như sau:
Bảng 3 2 Cấu hình máy ảo thuật toán MCCVA
Trong mô phỏng bằng CloudSim, các yêu cầu trên web được biểu diễn dưới dạng Cloudlet, với kích thước được xác định ngẫu nhiên thông qua hàm random của JAVA Số lượng Cloudlet được tạo ra dao động từ 20 đến 1000.
Bảng 3 3 Cấu hình thông số các Request thuật toán MCCVA
Kích thước file (File Size)
Kích thước file xuất ra (Output Size)
Số CPU xử lý (PEs)
Thuật toán MCCVASchedulingAlgorithm được phát triển dựa trên lớp BaseSchedulingAlgorithm, với việc bổ sung các phương thức và thuộc tính mới cho predictRequestSVM Đồng thời, các hàm có sẵn cũng được chỉnh sửa để đảm bảo tính tương thích với thuật toán mới được đề xuất.
@Override public void run() // Module 3 public CondorVM getMostFreeVM(String vmClass) // Module 2 public String predictRequestSVM(Cloudlet req) // Module 1
Trong môi trường mô phỏng CloudSim, thí nghiệm được thực hiện trên 5 máy ảo để xử lý các Request ngẫu nhiên với kích thước và chiều dài khác nhau, từ 20 đến 50 Request Kết quả được so sánh với hiệu suất của các thuật toán Round Robin, MaxMin, MinMin và FCFS, dựa trên thời gian hoàn thành công việc (Makespan) Bảng 3.4 trình bày so sánh thời gian thực hiện các thuật toán với thuật toán MCCVA trong trường hợp 50 Request.
Robin MaxMin MinMin FCFS MCCVA
Hình 3 2 Biểu đồ so sánh thời gian thực hiện các thuật toán với thuật toán
Trong nghiên cứu về MCCVA với 50 yêu cầu, kết quả thực nghiệm cho thấy thuật toán Round-Robin có thời gian thực hiện tăng dần theo số lần yêu cầu, nhưng vẫn nhanh hơn so với các thuật toán khác Đối với thuật toán MaxMin, thời gian thực hiện cũng tăng theo số lần yêu cầu, tuy nhiên thường lớn hơn so với Round-Robin Thuật toán MinMin cũng cho thấy thời gian thực hiện tăng dần theo số lần yêu cầu.
Các thuật toán Round-Robin, MaxMin, MinMin, FCFS và MCCVA đều cho thấy thời gian thực hiện tăng dần theo số lần request, với MCCVA thường nhanh hơn các thuật toán khác, bao gồm cả Round-Robin Trong khi đó, FCFS gặp khó khăn trong việc xử lý các request theo thứ tự đến trước Nhìn chung, Round-Robin và MCCVA có hiệu suất tốt hơn trong việc cân bằng tải so với MaxMin, MinMin và FCFS Thuật toán Round-Robin nổi bật với tốc độ xử lý nhanh, trong khi MaxMin thể hiện sự ổn định Mặc dù FCFS chưa có thế mạnh rõ ràng, MCCVA cho thấy sự ổn định và hiệu quả ngày càng cao khi xử lý nhiều request hơn.
Trong thực nghiệm với CloudSim, 5 máy ảo đã được thiết lập để đáp ứng các yêu cầu ngẫu nhiên về chiều dài và dung lượng Số lượng yêu cầu (Request) được tạo ra dao động từ 100 đến 1000, cho thấy sự biến động trong quá trình thử nghiệm.
Hình 3 3 Biểu đồ so sánh thời gian thực hiện các thuật toán với thuật toán
Bảng 3 5 So sánh thời gian thực hiện các thuật toán với thuật toán MCCVA ở trường hợp 1000 Request
Th ời g ia n xử lý (m s)
Số lượng requestRound-Robin MaxMin MinMin FCFS MCCVA
Robin MaxMin MinMin FCFS MCCVA
Thuật toán Round-Robin cho thấy thời gian thực hiện tăng dần theo số lượng request từ 100 đến 1000, nhưng vẫn nhanh hơn so với các thuật toán khác, đặc biệt khi số lượng request lớn Tương tự, thuật toán MaxMin cũng có thời gian thực hiện tăng dần theo số lần request.
Thuật toán MCCVA cho thấy thời gian thực hiện ổn định và hiệu quả hơn so với các thuật toán khác như MaxMin, MinMin và FCFS khi số lần request tăng lên Cụ thể, thời gian thực hiện của FCFS, MinMin và MaxMin đều tăng dần theo số lần request, với FCFS có thời gian thực hiện lớn nhất Trong khi đó, MCCVA thường nhanh hơn và dần dần chiếm ưu thế tuyệt đối so với các thuật toán còn lại, đặc biệt là khi số lượng request lớn Biểu đồ so sánh cho thấy MCCVA có sự phân bổ thời gian xử lý hợp lý, mang lại hiệu suất khả quan trên nền tảng cloud, bất kể số lượng request ít hay nhiều.
THUẬT TOÁN APRTA
Luận án này giới thiệu thuật toán APRTA (Arima Prediction Response Time Algorithm) nhằm dự đoán thời gian đáp ứng của request tiếp theo từ dữ liệu chuỗi thời gian hiện có, tối ưu hóa phân bổ nguồn lực Để nâng cao hiệu quả của APRTA, nghiên cứu cũng xem xét việc áp dụng machine learning dựa trên số lần dự đoán sai và độ lệch sai số, nhưng chỉ khi sai số nằm trong ngưỡng cho phép APRTA được cấu trúc thành ba module chính dựa trên thông tin từ tài liệu [7].
(1) Module tính toán ngưỡng bằng thuật toán ARIMA:
Trong module này, ngưỡng được xác định là thời gian đáp ứng dự báo của Cloud, được tính toán thông qua thuật toán ARIMA Thời gian này sẽ thay đổi tùy thuộc vào dữ liệu chuỗi thời gian Ngưỡng mới sẽ được xác định dựa trên thời gian đáp ứng dự đoán trong tập hợp các VM trong 100 yêu cầu gần nhất.
Ngưỡng mới : TNew = ARIMA(RT1, RT2,…, RT100) (6.1) Trong đó RTi là chuỗi thời gian đáp ứng ghi lại được của cloud (chỉ xét trong vòng 100 Request gần nhất)
(2) Module dự báo thời gian đáp ứng tiếp theo cho từng máy ảo:
Module này sử dụng thuật toán ARIMA để dự đoán thời gian phản hồi tiếp theo cho từng máy ảo, dựa trên 50 yêu cầu gần nhất được xử lý Hàm getPredictedRT() thực hiện việc này và cung cấp giá trị dự đoán chính xác nhất cho mỗi máy ảo, dựa trên một ngưỡng xác định thông qua hàm AllocateRequestToVM(VM, Request).
PRTi = Prediected Response Time = Thời gian đáp ứng dự đoán của máy ảo i
(3) Module phân bổ các dịch vụ (chọn máy ảo)
Module này có nhiệm vụ giao các yêu cầu tới máy ảo với thời gian đáp ứng dự kiến trong giới hạn cho phép Khi có yêu cầu mới và máy ảo được chọn không quá tải, yêu cầu sẽ được chuyển ngay cho máy ảo đó, đồng thời thu thập thời gian đáp ứng thực tế và lưu vào bộ dữ liệu Nếu thời gian đáp ứng dự báo của máy ảo thấp hơn thời gian đáp ứng tiếp theo của hệ thống cloud, máy ảo sẽ được chọn để xử lý yêu cầu Nếu không có máy ảo nào đáp ứng được ngưỡng thời gian, yêu cầu sẽ được chuyển tới máy ảo có thời gian đáp ứng gần nhất với ngưỡng.
Khởi tạo ngưỡng ban đầu được thực hiện bằng cách sử dụng thời gian đáp ứng của request đầu tiên do chưa có dữ liệu thời gian Do đó, ngưỡng được xác định là Tinitial = RT1.
Hình 3 4 Sơ đồ thuật toán APRTA
Sơ đồ mã giả thuật toán APRTA
Output: Phân bổ máy ảo cho các request trong tập Request
1 For each Request in CloudRequests
4 For each VM in VMList
12 VM = VMList.getMinDistance(Tnew); // Module 2
CÀI ĐẶT THUẬT TOÁN APRTA
Thuật toán mới được phát triển thông qua việc thiết kế lớp ArimaDatacenterBroker, kế thừa từ lớp DatacenterBroker Lớp này đã được bổ sung các phương thức và thuộc tính liên quan đến PredictedResponseTime, đồng thời điều chỉnh các phương thức hiện có như processResourceCharacteristics(SimEvent ev), createVmsInDatacenter(int datacenterId), processVmCreate(SimEvent ev) và processCloudletReturn(SimEvent ev) để phù hợp hơn với thuật toán đề xuất.
Trong một nghiên cứu mô phỏng môi trường cloud, luận án đã thực hiện mô phỏng thuật toán cân bằng tải tích hợp trong CloudSim và thuật toán APRTA đề xuất Cả hai thuật toán được thử nghiệm với cùng một bộ dữ liệu để so sánh kết quả một cách công bằng, đặc biệt chú trọng vào thời gian đáp ứng Việc đánh giá thời gian đáp ứng của từng máy ảo và toàn bộ hệ thống cloud cho thấy mức độ chính xác của thuật toán, với sai số thấp phản ánh hiệu quả cải thiện Kết quả giúp làm rõ hiệu quả của thuật toán APRTA so với phương pháp cân bằng tải mặc định của CloudSim trong quản lý và phân phối tài nguyên computing.
Thực nghiệm và kết quả thực nghiệm
Trong một thử nghiệm trên CloudSim, ba máy ảo đã được thiết lập sẵn để xử lý các yêu cầu ngẫu nhiên về độ dài và dung lượng Tổng số yêu cầu được tạo ra trong mỗi lần thực nghiệm tăng dần từ 100 đến 900.
Bảng 3 6 So sánh thời gian đáp ứng dự báo của 3 máy ảo và ngưỡng thuật toán APRTA
Số lần request VM0 VM1 VM2 Threshold
Hình 3 5 Biểu đồ so sánh thời gian đáp ứng dự báo của 3 máy ảo và ngưỡng thuật toán APRTA
Biểu đồ ngưỡng thời gian đáp ứng dự báo cho ba máy ảo sử dụng thuật toán APRTA cho thấy thời gian đáp ứng dự đoán của các máy ảo VM0, VM1 và VM2 so với ngưỡng Threshold Dựa trên bảng 3.6, có thể rút ra những nhận xét quan trọng về hiệu quả của bộ cân bằng tải khi áp dụng thuật toán APRTA.
Thời gian đáp ứng dự báo của các máy ảo (VM0, VM1, VM2) thay đổi tùy theo số lượng yêu cầu Thuật toán APRTA áp dụng phương pháp ARIMA để dự đoán thời gian đáp ứng tiếp theo Các giá trị dự báo này không chỉ cung cấp thông tin về thời gian đáp ứng kỳ vọng mà còn hỗ trợ trong việc phân bổ yêu cầu một cách hiệu quả.
Ngưỡng Threshold là yếu tố quan trọng trong việc phân bổ request cho các máy ảo, giúp xác định khi nào request sẽ được gửi đến máy ảo dựa trên thời gian đáp ứng dự báo Nếu thời gian đáp ứng dự báo của máy ảo thấp hơn ngưỡng này, request sẽ được chuyển đến máy ảo đó, từ đó góp phần cân bằng tải và ngăn ngừa tình trạng quá tải Trong trường hợp có ba máy ảo, thuật toán APRTA áp dụng thuật toán ARIMA để dự báo thời gian đáp ứng và phân bổ request dựa trên ngưỡng Threshold, qua đó cung cấp thông tin về hiệu suất dự kiến và hỗ trợ quyết định phân bổ tài nguyên hiệu quả.
Trong một loạt thí nghiệm mô phỏng trên CloudSim, bốn máy ảo đã được thiết lập để xử lý các yêu cầu ngẫu nhiên với kích thước và chiều dài khác nhau Số lượng yêu cầu được phát sinh mỗi lần là 100, sau đó tăng dần lên 200, 300, và tiếp tục cho đến 900.
Bảng 3 7 So sánh thời gian đáp ứng dự báo của 4 máy ảo và ngưỡng thuật toán APRTA
Số lần request VM0 VM1 VM2 VM3 Threshold
Hình 3 7 Biểu đồ so sánh thời gian đáp ứng dự báo của 4 máy ảo và ngưỡng thuật toán APRTA
Biểu đồ ngưỡng thời gian đáp ứng dự báo cho thuật toán APRTA với 4 máy ảo VM0, VM1, VM2, VM3 cho thấy thời gian đáp ứng dự báo (predicted response time) và ngưỡng Threshold Dựa trên bảng 3.7, có thể rút ra những nhận xét quan trọng về hiệu suất của bộ cân bằng tải khi áp dụng thuật toán APRTA.
Thời gian đáp ứng dự báo của các máy ảo (VM0, VM1, VM2, VM3) tăng lên khi số lần request tăng, cho thấy sự ảnh hưởng của tải công việc đến hiệu suất của các máy ảo Tuy nhiên, tỷ lệ tăng này không đồng đều giữa các máy ảo, dẫn đến sự khác biệt trong thời gian đáp ứng dự báo của từng máy ảo.
Ngưỡng Threshold là yếu tố quan trọng trong việc phân bổ request cho các máy ảo, giúp xác định thời gian đáp ứng dự báo Khi thời gian này nhỏ hơn ngưỡng Threshold, request sẽ được chuyển đến máy ảo tương ứng Việc thiết lập ngưỡng Threshold hợp lý giúp cân bằng tải hiệu quả và ngăn chặn tình trạng quá tải cho các máy ảo.
THUẬT TOÁN RCBA
Thuật toán MCCVA sử dụng dữ liệu chuỗi thời gian về thời gian đáp ứng từ các yêu cầu của khách hàng, kết hợp với phân tích các đặc điểm khác Luận án này đề xuất áp dụng Machine Learning bằng cách kết hợp thuật toán Naive Bayes và K-means nhằm dự đoán chính xác hơn thời gian đáp ứng cho các yêu cầu tương lai Sự kết hợp này giúp tối ưu hóa việc phân bổ nguồn lực cho các yêu cầu sắp tới, dựa trên kết quả dự báo từ mô hình Thuật toán đề xuất bao gồm ba mô đun chính.
(1) Module 1 : Phân lớp các yêu cầu bằng thuật toán Naive Bayes
Trong mô-đun này, thuật toán Naive Bayes sẽ phân tích các thuộc tính của yêu cầu từ khách hàng để tính toán thời gian phản hồi cho các yêu cầu đó Các thuộc tính được xem xét bao gồm độ dài phản hồi, độ dài tối đa và kích thước, nhằm phân lớp các yêu cầu một cách hiệu quả.
Nhóm thời gian đáp ứng: RTnew = NB(X1, X2,X3,,,,,,Xn) (7.1)
Xi là các thuộc tính của yêu cầu khi gửi lên đám mây Tùy thuộc vào độ biến thiên của các yêu cầu, chúng ta có thể phân chia thành nhiều nhóm, từ 3 đến 8 nhóm hoặc thậm chí nhiều hơn.
(2) Module 2 phân cụm các máy ảo/ các máy chủ / tài nguyên
Trong mô đun này, chúng tôi áp dụng thuật toán phân cụm K-Means với k=3 để phân loại các máy ảo dựa trên mức độ hoạt động và sử dụng tài nguyên Các cụm được xác định bao gồm: thấp, trung bình và cao.
Clusteri = KMeans(ram, usage, cpu,…) (7.2) Trong đó: i = 1 là nhóm thấp i = 2 là nhóm trung bình i = 3 là nhóm cao
(3) Module 3 phân bổ các dịch vụ máy ảo
Mô đun này phân bổ yêu cầu đến các máy ảo dựa trên loại yêu cầu và cụm máy ảo phù hợp Khi một yêu cầu được gửi, nó sẽ được phân loại bởi mô đun 1, và các máy chủ ảo, bao gồm cả những máy không tải, sẽ được phân cụm theo mô đun 2 Thuật toán sau đó sẽ xác định yêu cầu nào phù hợp nhất với máy ảo thông qua các thông số trả về từ hai hàm Naive Bayes và K-Means Nếu thời gian đáp ứng của yêu cầu được tính từ mô đun 1 là nhỏ nhất, yêu cầu đó sẽ được xử lý trên các máy ảo có mức độ sử dụng thấp nhất Đối với những yêu cầu có kích thước trung bình, các phương pháp như loại suy hay sai phân có thể được áp dụng để tính toán phân bổ.
Mô đun phân bổ các máy ảo được hiển thị như sau:
Hình 3 11 Sơ đồ của thuật toán RCBA
Sơ đồ mã giả thuật toán RCBA
Output: Phân bổ máy ảo cho các request trong tập Request
1 For each Request in CloudRequests
3 RT_new = NB(RT1, RT2… ); // Module 1
4 VM_Cluster = kMeans(situation); // situation: Trạng thái của các VM Module 2
5 For each VM in VMList
6 If isFitSituation(Request.RT_new , VM.VM_Cluster)
CÀI ĐẶT THUẬT TOÁN RCBA
Trong một thực nghiệm mô phỏng trên nền tảng CloudSim, 05 máy ảo đã được cấu hình để xử lý các yêu cầu ngẫu nhiên với số lượng từ 25 đến 1000 Thời gian đáp ứng được sử dụng làm chỉ số chính để đánh giá hiệu quả xử lý Kết quả từ thực nghiệm được so sánh với các thuật toán cân bằng tải như Round-Robin, MaxMin, MinMin và FCFS nhằm xác định phương pháp tối ưu nhất cho thời gian đáp ứng trong môi trường mô phỏng đám mây.
Bảng 3 9 So sánh thời gian đáp ứng của các thuật toán với thuật toán RCBA ở trường hợp 25 Request
Thuật toán Số lần request
Hình 3 12 Biểu đồ so sánh thời gian đáp ứng của các thuật toán với thuật toán
Trong trường hợp 25 yêu cầu, bảng 3.9 và hình 3.12 cho thấy thời gian đáp ứng của các thuật toán như Round-Robin, MaxMin, MinMin, FCFS và RCBA Thời gian đáp ứng của từng thuật toán có sự khác biệt rõ rệt, với RCBA thể hiện hiệu suất tối ưu hơn so với các phương pháp còn lại Việc phân tích thời gian đáp ứng giúp hiểu rõ hơn về hiệu quả của từng thuật toán trong việc xử lý yêu cầu.
Round Robin MaxMin MinMin FCFS RCBA ứng (5, 10, 15, 20, 25) trong trường hợp 25 request, ta có thể nhận xét và so sánh hiệu năng của các thuật toán như sau:
Thuật toán Round-Robin có thời gian đáp ứng tăng dần khi số lượng yêu cầu tăng lên Mặc dù nó phân chia công việc một cách tuần tự cho từng máy ảo, nhưng không xem xét hiệu suất hay tải công việc của các máy ảo Kết quả là, Round-Robin dẫn đến thời gian đáp ứng tương đối cao và không cải thiện hiệu năng cân bằng tải.
Thuật toán MaxMin cải thiện thời gian đáp ứng khi số lần yêu cầu tăng lên, bằng cách tìm kiếm máy ảo có thời gian hoàn thành tốt nhất để phân bổ công việc Mặc dù MaxMin đạt hiệu suất cân bằng tải tốt hơn so với Round-Robin, vẫn tồn tại một số chênh lệch giữa các máy ảo.
MinMin là thuật toán quản lý tài nguyên ảo có thời gian đáp ứng biến đổi lớn khi số lượng yêu cầu tăng Thuật toán này tối ưu hóa bằng cách tìm kiếm máy ảo có thời gian hoàn thành thấp nhất để phân bổ công việc Mặc dù MinMin mang lại thời gian đáp ứng tốt hơn so với MaxMin, nhưng điều này đi kèm với độ
Thuật toán FCFS (First-Come, First-Served) có thời gian đáp ứng tăng dần khi số lượng yêu cầu tăng lên Nó hoạt động theo nguyên tắc xử lý công việc theo thứ tự đến, nhưng không đảm bảo cân bằng tải Do đó, thời gian đáp ứng của FCFS có thể cao khi khối lượng công việc không được phân chia đồng đều.
RCBA là thuật toán có thời gian đáp ứng biến đổi nhỏ và thường thấp nhất trong số các thuật toán so sánh Thuật toán này kết hợp dự báo thời gian đáp ứng với việc cân nhắc tải công việc của các máy ảo, cho phép phân bổ công việc thông minh và cân bằng tải hiệu quả Trong trường hợp 25 request, RCBA cho thấy hiệu năng tốt nhất với thời gian đáp ứng thấp và khả năng cân bằng tải vượt trội Trong khi đó, MaxMin và MinMin cũng có hiệu năng khả quan, nhưng MinMin lại có độ phức tạp tính toán cao hơn Các thuật toán Round-Robin và FCFS thể hiện hiệu năng thấp hơn và không đạt được sự cân bằng tải hiệu quả.
Bảng 3 10 So sánh thời gian đáp ứng của các thuật toán với thuật toán
Thuật toán Số lần request
Hình 3 13 Biểu đồ so sánh thời gian đáp ứng của các thuật toán với thuật toán
Trong trường hợp 50 request, dựa vào bảng 3.10 và hình 3.13 về thời gian đáp ứng của các thuật toán như Round-Robin, MaxMin, MinMin, FCFS và RCBA, chúng ta có thể nhận xét và so sánh hiệu năng của từng thuật toán Các thuật toán này được đánh giá dựa trên số lần request tương ứng từ 5 đến 50, cho thấy sự khác biệt rõ rệt trong thời gian xử lý và hiệu quả hoạt động của chúng.
Thuật toán Round-Robin có thời gian đáp ứng dao động mà không có xu hướng rõ rệt khi số lần yêu cầu tăng Nó không xem xét hiệu suất hay tải công việc của các máy ảo, mà chỉ phân chia công việc theo thứ tự cho từng máy ảo Do đó, Round-Robin không cải thiện hiệu năng cân bằng tải và dẫn đến thời gian đáp ứng tương đối cao.
MaxMin là một thuật toán phân bổ công việc cho máy ảo, tuy nhiên, thời gian đáp ứng của nó có sự biến đổi lớn khi số lần request tăng Thuật toán này tìm kiếm máy ảo với thời gian hoàn thành tốt nhất để phân bổ công việc, nhưng lại gặp phải vấn đề về tính ổn định, với thời gian đáp ứng dao động cao, đặc biệt khi số lượng request gia tăng.
THUẬT TOÁN ITA
Nghiên cứu và phân tích các đặc điểm của thuật toán Throttled, một thuật toán nổi bật trong bộ cân bằng tải trên môi trường đám mây, đã dẫn đến việc đề xuất một thuật toán cải tiến, được gọi là Improved Throttled Algorithm (ITA).
Hình 3 16 Hình Sơ đồ thuật toán Throttled cải tiến (ITA)
Các bước của thuật toán ITA
Bước 1: Trình cân bằng tải Improved Throttled Algorithm (ITA) thực hiện cân bằng tải bằng cách duy trì và cập nhật liên tục bảng chỉ mục của danh sách Usage máy ảo.
Bảng chỉ mục chứa thông tin các máy ảo (VM) và mức Usage của mỗi máy ảo
Tại thời điểm khởi tạo, tất cả các máy ảo (VM) trong danh sách
“vmUsageList” có mức sử dụng (Usage) bằng 0
Bước 2 Bộ điều khiển trung tâm (DCC) nhận được một nhiệm vụ cần xử lí mới
Bước 3: Bộ điều khiển trung tâm (DCC) gửi thông tin truy vấn đến bộ cân bằng tải ITA để hỏi về việc phân bổ tiếp theo cho máy nào
Bộ điều khiển trung tâm (DCC) gửi yêu cầu đến máy ảo (VM) thông qua ID để xử lý và thông báo cho bộ cân bằng tải ITA về việc phân bổ đã thực hiện Bộ cân bằng tải ITA cập nhật ID của máy ảo vừa nhận và chờ yêu cầu mới từ DCC.
Nếu danh sách "vmUsagelist" trống (không có máy ảo nào được khởi tạo), bộ cân bằng tải ITA sẽ gửi giá trị -1 cho Bộ điều khiển trung tâm (DCC).
- Bộ điều khiển trung tâm (DCC) xếp Request đó vào hàng đợi chờ cho lần phân bổ tiếp theo
Sau khi máy ảo (VM) hoàn thành việc xử lý yêu cầu, bộ điều khiển trung tâm (DCC) sẽ nhận được phản hồi và gửi thông báo đến bộ cân bằng tải ITA Thông báo này nhằm cập nhật danh sách "vmUsageList" và đồng thời cập nhật lại danh sách Usage.
Bước 6: Khi có nhiều yêu cầu, bộ điều khiển trung tâm (DCC) sẽ lặp lại Bước 3 và tiếp tục quá trình cho đến khi tất cả các yêu cầu được xử lý Đánh giá thuật toán ITA là cần thiết trong giai đoạn này.
Thuật toán đề xuất đã đạt được các mục tiêu quan trọng, bao gồm giảm số lượng yêu cầu xếp hàng cho phân phối, cải thiện thời gian xử lý và thời gian phản hồi của đám mây trung tâm so với bốn thuật toán phổ biến: Equally Spread Current Execution Load, Round Robin, Throttled và Throttled Modified Algorithm (TMA) Kết quả cho thấy hiệu suất của điện toán đám mây được nâng cao khi số lượng máy ảo tăng lên, với ITA đảm bảo thời gian phản hồi và thời gian xử lý tốt, đồng thời giảm chi phí cho các trung tâm dữ liệu đám mây.
Tuy nhiên thuật toán vẫn còn 1 số nhược điểm như:
- Nếu số lượng máy ảo nhiều thì việc tìm ra máy có Usage nhỏ nhất là khó khăn hơn
- Chưa sắp xếp các máy ảo theo danh sách tăng dần
CÀI ĐẶT THUẬT TOÁN ITA
Dựa vào thuật toán Throttled, chúng ta sử dụng VMUsage để xác định máy ảo có mức sử dụng thấp nhất, từ đó phân bổ tài nguyên cho yêu cầu tiếp theo Sau mỗi lần xử lý một yêu cầu, thông tin Usage cho máy ảo tương ứng sẽ được cập nhật trong danh sách mà thuật toán quản lý.
Trong nghiên cứu giả lập thuật toán ITA, môi trường cloud được mô phỏng bằng bộ thư viện mã nguồn mở Cloud_Analyst, phát triển từ CloudSim và lập trình bằng ngôn ngữ JAVA Mô hình giả lập bao gồm một Datacenter với 5 máy ảo cho trường hợp đơn lẻ, mở rộng lên 50 máy ảo tại Datacenter1 và 5 máy ảo tại Datacenter2, phân bố ở các khu vực địa lý khác nhau Mục tiêu là tạo ra các yêu cầu ngẫu nhiên từ UserBase có đặc điểm địa lý đa dạng, nhằm mô phỏng việc sử dụng dịch vụ cloud một cách tự nhiên hơn.
Thuật toán ITA đã được triển khai trong môi trường mô phỏng để thu thập kết quả và đánh giá hiệu năng Thuật toán này được cài đặt và thử nghiệm, sau đó các kết quả sẽ được so sánh cẩn thận với bốn thuật toán khác, bao gồm Equally Spread Current Execution Load, Round Robin, Throttled, và TMA Mục tiêu là xác định thuật toán nào mang lại hiệu suất tốt nhất trong việc phân phối và xử lý tải trong môi trường mô phỏng cloud.
Thuật toán Improved Throttled Algorithm đã được cài đặt bằng ngôn ngữ JAVA trong môi trường Cloud Analyst và sử dụng ECLIPSE IDE để thử nghiệm và hiển thị kết quả theo tiêu chuẩn của Cloud Analyst Mô phỏng được thực hiện trong môi trường giả lập với bộ thư viện mã nguồn mở CloudSim 4.0, có sẵn tại http://www.cloudbus.org/.
Thuật toán đề xuất được phát triển thông qua lớp ThrottledVmITALoadBalancer, kế thừa từ VmLoadBalancer Lớp này cập nhật một số phương thức và thuộc tính liên quan đến việc tính toán Usage của máy ảo, đồng thời điều chỉnh các hàm dựng sẵn để phù hợp với thuật toán đề xuất.
@Override public int getNextAvailableVm() { int vmId = -1; double min = 0; if (vmUsageList.size() > 0)
{ int temp; int i =0; for (Iterator itr = vmUsageList.keySet().iterator(); itr.hasNext();) { temp = itr.next();
Double[] state = vmUsageList.get(temp);
//System.out.println(temp + " state is " + state + " total vms " + vmStatesList.size()); double x = getNumber(state); if(i==0) { min = x; vmId = temp;
} else { if (min > x){ min = x; vmId = temp;
} public double getNumber(Double[] nums)
{ double res =0; int i=0; for(i=0; i < nums.length; i++)
Trong thí nghiệm mô phỏng môi trường đám mây, các thuật toán cân bằng tải như Round Robin, Throttled và Equally Spread Current Execution Load của Cloud Analyst đã được cài đặt, cùng với thuật toán TMA của Nguyễn Xuân Phi và các cộng sự để so sánh Các thuật toán và thuật toán ITA được phát triển và đánh giá dựa trên cùng một bộ dữ liệu đầu vào, tập trung vào hai chỉ số chính: thời gian phản hồi (Response Time) và chi phí cho Datacenter (Costing) Thuật toán có thời gian phản hồi gần với thực tế và chi phí thấp hơn sẽ được xem là có hiệu suất tối ưu trong quản lý tài nguyên đám mây Luận án thực hiện thử nghiệm với 04 trường hợp cấu hình khác nhau: Trường hợp 1 (01 datacenter, 20 máy ảo, 1 userbase), Trường hợp 2 (01 datacenter, 5 máy ảo, 3 userbase), Trường hợp 3 (01 datacenter, 5 máy ảo, 4 userbase), và Trường hợp 4 (02 datacenter, datacenter 1 với 50 máy ảo và datacenter 2 với 5 máy ảo, 5 userbase) Kết quả thực nghiệm cho thấy hiệu suất của thuật toán ITA.
Trường hợp 1: 01 Datacenter với 20 máy ảo và 1UB
Các thông số giả lập datacenter, máy ảo, chi tiết cấu hình host, các users base độ trễ mạng lấy từ tài liệu [109]
Môi trường mô phỏng giả lập gồm các thông số sau thông số như sau:
Hình 3 17 Thông số cấu hình Datacenter và máy ảo thuật toán ITA ở trường hợp 1
Hình 3 18 Cấu hình và chi phí Datacenter thuật toán ITA ở trường hợp 1
Hình 3 19 Chi tiết cấu hình vật lý host của Datacenter thuật toán ITA ở trường hợp 1
Hình 3 20 Thông số cấu hình Cơ sở người dùng (2UB) thuật toán ITA ở trường hợp 1 Bảng 3 13 Kết quả thực nghiệm trường hợp 1 thuật toán ITA
Dựa trên kết quả thực nghiệm về thời gian đáp ứng của các thuật toán trong trường hợp 1 (1 datacenter, 20 máy ảo và 1 userbase), chúng ta có thể nhận xét và phân tích hiệu suất của các thuật toán so với ITA Biểu đồ so sánh cho thấy sự khác biệt rõ rệt trong hiệu năng, cho phép đánh giá chính xác ưu điểm và nhược điểm của từng thuật toán trong bối cảnh cụ thể này.
TỔNG KẾT CHƯƠNG
Trong chương 3, đã giới thiệu bốn thuật toán MCCVA, APRTA, RCBA và ITA, được kết nối dựa trên các nguyên tắc cốt lõi trong xử lý và phân tích dữ liệu, nhằm tối ưu hóa cân bằng tải trong điện toán đám mây Các thuật toán này cùng nhau hỗ trợ việc cải thiện hiệu suất và hiệu quả trong môi trường điện toán đám mây.
Khả năng học và dự báo của APRTA và MCCVA giúp cải thiện quyết định dựa trên dữ liệu lịch sử APRTA áp dụng mô hình ARIMA để dự báo thời gian đáp ứng, trong khi MCCVA sử dụng SVM cho phân lớp và k-Means cho phân cụm, từ đó học hỏi từ dữ liệu để đề xuất phương án phân phối tải hiệu quả.
MCCVA và RCBA đều sử dụng kỹ thuật phân cụm k-Means, nhưng với mục tiêu khác nhau: MCCVA nhằm phân chia tải thành hai phần, trong khi RCBA kết hợp k-Means với Nạve Bayes để nâng cao độ chính xác trong phân loại Cả hai phương pháp đều khai thác thông tin từ phân cụm nhằm tối ưu hóa phân bố tài nguyên.
Tối ưu hóa Thời gian đáp ứng và Makespan là mục tiêu chính của bốn thuật toán, nhằm cải thiện hiệu suất hệ thống Các thuật toán này được phát triển để
ITA [CT3] là một thuật toán cải tiến từ thuật toán Throttle, nhằm nâng cao khả năng cân bằng tải trong xử lý tài nguyên đám mây Với sự tích hợp các phương pháp học máy tiên tiến, ITA [CT3] mang lại cái nhìn mới mẻ và hiệu quả hơn so với các thuật toán truyền thống.
Mặc dù mỗi thuật toán có cách tiếp cận riêng, sự kết hợp của chúng tạo ra một hệ thống toàn diện với khả năng học từ dữ liệu như phân loại, phân cụm và dự báo Sự liên kết này hình thành cấu trúc đa lớp, trong đó mỗi thuật toán góp phần vào khả năng quản lý và điều phối tài nguyên hiệu quả Điều này không chỉ thông qua việc chia sẻ các thành phần cốt lõi như phương pháp học máy và bộ tham số đánh giá, mà còn thông qua mục tiêu chung là nâng cao tính linh hoạt và hiệu suất của hệ thống điện toán đám mây trong việc cân bằng tải.
Chương này nghiên cứu nâng cao hiệu năng cân bằng tải thông qua việc ứng dụng các thuật toán trí tuệ nhân tạo, đặc biệt là học máy và các thuật toán thống kê Đề xuất ba thuật toán dựa trên các tham số của cân bằng tải và một thuật toán đánh giá tính hiệu quả Luận án xây dựng bốn thuật toán từ góc độ bên trong, kết hợp các đặc tính của cân bằng tải với học máy Tuy nhiên, để tối ưu hóa cân bằng tải trên cloud, cần xem xét các yếu tố bên ngoài như deadlock và hành vi người dùng Các nghiên cứu tiếp theo sẽ được trình bày trong chương 4.
CÂN BẰNG TẢI THEO HƯỚNG TIẾP CẬN BÊN NGOÀI
GIỚI THIỆU CHUNG
Để cải thiện hiệu năng cân bằng tải trên cloud từ góc độ bên ngoài, cần xem xét các thách thức và cơ hội mà nhà cung cấp dịch vụ cloud không thể kiểm soát Luận án này tập trung vào hai yếu tố chính: mạng internet và hành vi người dùng cloud Về mạng internet, tình trạng timeout và hanging có thể xảy ra nếu cân bằng tải không hiệu quả, với deadlock là một nguy cơ phổ biến Đề xuất nghiên cứu deadlock trên cloud, luận án xây dựng thuật toán PDOA nhằm nâng cao khả năng cân bằng tải thông qua dự báo deadlock Đối với hành vi người dùng, luận án chú trọng vào độ ưu tiên của tác vụ, phân biệt người dùng dựa trên tính chất của các request Từ đó, một thuật toán cân bằng tải k-CTPA được đề xuất, sử dụng độ ưu tiên tác vụ để phân bổ request và giải quyết vấn đề cân bằng tải từ góc độ người dùng.
DEADLOCK VÀ THUẬT TOÁN PDOA
Deadlock là tình trạng trong lập trình đồng thời khi một nhóm quy trình rơi vào trạng thái chờ vô hạn Trong tình huống này, một quá trình hoặc giao dịch có thể tồn tại ở hai trạng thái khác nhau.
Trạng thái hoạt động của một tiến trình cho thấy rằng tất cả các tài nguyên và dữ liệu cần thiết đã được cấp phát cho tiến trình đó, cho phép nó thực thi hoặc sẵn sàng để thực thi.
- Trạng thái bị chặn một tiến trình phải chờ các tài nguyên được yêu cầu vì một số tiến trình khác đang giữ tài nguyên đó
Trong một hệ thống, khi một nhóm tiến trình bị chặn và không thể tiếp tục thực hiện do chờ nhau giải phóng tài nguyên, hệ thống sẽ rơi vào trạng thái deadlock.
Deadlock là một vấn đề thường gặp trong môi trường đa chương và điện toán phân tán, nơi khóa phần cứng và phần mềm được sử dụng để chia sẻ tài nguyên và đồng bộ hóa quy trình Trong hệ thống thông tin liên lạc, deadlock thường xảy ra do tín hiệu bị mất hoặc hỏng, thay vì do tranh chấp tài nguyên.
Hình 4 1 Vấn đề Deadlock trong ví dụ qua cầu [130]
Có 4 điều kiện Deadlock xảy ra:
- Điều kiện loại trừ lẫn nhau: Một tài nguyên không thể được sử dụng bởi nhiều tiến trình tại cùng một thời điểm
- Điều kiện giữ và chờ: Các tiến trình vừa giữ tài nguyên và chờ tài nguyên mới
- Điều kiện không thể chiếm: Các tài nguyên không thể bị đòi lại, chúng chỉ có thể được giải phóng bởi chính tiến trình chiếm giữ chúng
- Điều kiện chu trình chờ: Các tiến trình giữ tài nguyên và chờ các tài nguyên bị giữ bởi tiến trình khác, tạo thành một chu trình
Hầu hết các hệ điều hành hiện nay không thể ngăn chặn tình trạng deadlock Khi deadlock xảy ra, các hệ điều hành thường có những phản ứng khác nhau, dẫn đến sự thiếu nhất quán trong cách xử lý tình huống này.
Hình 4 2 Điều kiện xảy ra Deadlock [130]
Các nhà cung cấp dịch vụ điện toán đám mây cung cấp tài nguyên máy tính ảo hóa linh hoạt và đa dạng dưới dạng dịch vụ qua Internet.
Do số lượng người dùng thay đổi và tài nguyên hạn chế, đám mây dễ bị deadlock ở quy mô rất lớn
Deadlock trong đám mây xảy ra khi một công việc đã chiếm giữ một số tài nguyên nhưng đang chờ thêm tài nguyên từ một công việc khác, trong khi công việc đó cũng đang chờ tài nguyên từ công việc đầu tiên Tình huống này dẫn đến việc không có công việc nào trong hệ thống có thể tiếp tục thực hiện, gây ra sự tắc nghẽn trong quá trình xử lý.
Hình 4 3 Deadlock trong môi trường đám mây [16]
Một hệ thống được coi là an toàn khi có khả năng phân phối tài nguyên cho mỗi quá trình theo một trật tự nhất định mà không xảy ra deadlock Điều này yêu cầu tồn tại ít nhất một thứ tự an toàn cho các quá trình Một thứ tự an toàn cho các quá trình nghĩa là với mỗi quá trình Pi, yêu cầu tài nguyên của nó có thể được thỏa mãn bằng tài nguyên hiện có và tài nguyên được phóng thích bởi các quá trình Pj với j