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 Nó cho phép mở rộng hoặc thu hẹp 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à việc sử dụng tài nguyên Điều này đảm bảo dịch vụ không chỉ chất lượng cao mà còn được cung cấp kịp thời Trong quá trình tối ưu hóa hiệu năng điện toán đám mây, phân phối tải là yếu tố quan trọng, giúp các hoạt động trong môi trường đám mây diễn ra mượt mà và an toàn.
Trong điện toán đám mây, quản lý cân bằng tải là một thách thức quan trọng Để đảm bảo hoạt động hiệu quả, cơ chế cân bằng tải cần nhanh chóng và hiệu quả trong việc xử lý yêu cầu từ người dùng Điều này đòi hỏi khả năng phân phối linh hoạt các yêu cầu đến các nốt trong đám mây, nhằm duy trì sự chia sẻ tải trọng đồng đều và ngăn ngừa tình trạng quá tải cũng như 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à áp dụng phương pháp SWOT để đề xuất và phát triển 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 Điều này được thực hiện thông qua việc ứng dụng 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, nhằm 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 đề liên quan Từ đó, có thể đề xuất hai hướng tiếp cận: một là tiếp cận từ bên trong, tập trung vào tối ưu hóa các thuật toán hiện có; hai là tiếp cận từ bên ngoài, khai thác công nghệ mới và xu hướng thị trường Mục tiêu cuối cùng là phát triển các thuật toán nâng cao hiệu năng cân bằng tải, đáp ứng nhu cầu ngày càng cao của người dùng.
Đề xuất xây dựng phương pháp ứng dụng 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 cân bằng tải 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ẽ dựa vào 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ố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 tắc nghẽn Phương pháp này xem xét hành vi người dùng và ưu tiên xử lý các tác vụ và yêu cầu tương ứng, từ đó phân bổ tài nguyên hiệu quả hơn Mục tiêu là đảm bảo bộ cân bằng tải hoạt động liên tục và tối ưu 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 của nghiên cứu này bao gồm 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 phát triển một mô hình tiếp cận nhằm cải thiện hiệu suất cân bằng tải trên nền tảng này Để đánh giá hiệu quả, các phương pháp toán học, mô phỏng và giả lập thực nghiệm được sử dụng để đề xuất và phát triển thuật toán, đồng thời xây dựng mô hình mô phỏng nhằm phân tích kết quả đạt được từ các phương pháp đã đề xuất.
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: 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, ứng dụng 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 (response time), trong khi MCCVA và RCBA dựa vào thời gian xử lý (makespan) để tối ưu hóa hiệu năng Thứ hai, việc dự báo deadlock và khả năng xảy ra deadlock trong môi trường cloud cũng là một hướng nghiên cứu quan trọng, 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, nghiên cứu cân bằng tải từ góc độ người dùng thông qua hành vi và độ ưu tiên của họ, với thuật toán k-CTPA, sẽ cải thiện hiệu suất bằng cách dựa vào hành vi người dùng làm trung tâm.
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, cùng với phần giới thiệu, mục lục, kết luận và 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 Bài viết giới thiệu các khái niệm cơ bản về cân bằng tải cùng với những thuật toán điển hình hiện có Ngoài ra, chương cũng đề cập đến một số thuật toán học máy và các thuật toán cân bằng tải phổ biến ngày nay Dựa trên những kiến thức này, luận án đề xuất phát triển các thuật toán dựa trê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 2 phân tích ý tưởng từ phương pháp SWOT để tiếp cận cân bằng tải trong môi trường điện toán đám mây, đánh giá hiệu suất của nó và khảo sát các nghiên cứu liên quan Chương này cũng đề cập đến việc nâng cao cân bằng tải từ hai hướng: hướng tiếp cận bên trong và hướng tiếp cận từ các yếu tố bên ngoài.
Chương 3 giới thiệu các thuật toán mới trong việc xây dựng bộ cân bằng tải từ bên trong, bao gồm các cải tiến từ thuật toán phổ biến và ứng 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 trong môi trường đám mây Luận án đã phát triển bốn thuật toán cân bằng tải mới: 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 trình bày các thuật toán đề xuất theo hướng tiếp cận từ bên ngoài, bao gồm 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 xem xét hành vi người dùng thông qua độ ưu tiên của tác vụ và các yêu cầu, phân tích thông số request từ góc độ người dùng để áp dụng các thuật toán phân lớp, nhằm quyết định phân bổ xử lý hiệu quả tài nguyên cloud Kết quả đạt được từ 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à hệ thống tính toán theo yêu cầu, hoạt động trên nền tảng Internet Mô hình này cho phép chia sẻ tài nguyên, dữ liệu và phần mềm dưới dạng dịch vụ qua mạng công cộng, giúp người dùng truy cập dễ dàng mà không cần quan tâm đến vị trí cụ thể của cơ sở dữ liệu Người dùng có thể sử dụng dịch vụ thông qua trình duyệt web, ứng dụng di động hoặc máy tính thông thường Tính hiệu quả đượ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 các thiết bị cần thiết để đảm bảo sự sẵn có và ổn định Các trung tâm dữ liệu được đánh giá dựa trên khả năng mở rộng, tính linh hoạt, hệ thống làm mát và khả năng hợp nhất server với mật độ lưu trữ cao.
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 có phí Ngược lại, đám mây riêng tư phục vụ cho một tổ chức cụ thể, thường được bảo vệ bằng tường lửa và chỉ dành cho sử dụng nội bộ Đám mây lai kết hợp cả hai mô hình, cung cấp dịch vụ vừa mở rộng vừa dành riêng Ngoài ra, còn có mô hình đám mây cộng đồng, nơi 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ẽ về chất lượng và quy mô, cung cấp đa dạng dịch vụ Các tập đoàn công nghệ lớn như Google, Amazon và Microsoft đã dẫn đầu trong lĩnh vực này Mô hình điện toán đám mây cho phép triển khai giải pháp công nghệ thông tin qua Internet, giảm chi phí và thời gian triển khai cho người dùng, đồng thời mang lại lợi ích cho cả nhà cung cấp dịch vụ Điện toán đám mây tích hợp linh hoạt tài nguyên tính toán, lưu trữ và dịch vụ theo yêu cầu, đảm bảo khả năng truy cập rộng rãi và chia sẻ tài nguyên động Công nghệ ảo hóa cho phép cung cấp dịch vụ một cách độc lập và đáng tin cậy, tối ưu hóa tài nguyên vật lý hiện có Mô hình IaaS tạo ra môi trường ứng dụng phần mềm đầy đủ, giúp doanh nghiệp tiết kiệm chi phí và truy cập linh hoạt vào cơ sở hạ tầng và dịch vụ qua Internet Điện toán đám mây đang thay đổi cách thức sử dụng và cung cấp phần mềm và phần cứng, cho phép người dùng tập trung vào sản phẩm mà không lo lắng về quản lý tài nguyên máy tính Hợp đồng dịch vụ giữa nhà cung cấp và khách hàng xác định rõ yêu cầu chất lượng dịch vụ, trong khi các thuật toán tối ưu hóa giúp duy trì hiệu suất và phân phối tài nguyên hiệu quả.
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ị tải nặng trong khi những máy khác ít bị tải Điều này yêu cầu các phương pháp cân bằng tải hiệu quả để 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 của 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 trong điện toán đám mây phân phối và phối hợp tài nguyên giữa các hệ thống phân tán Tuy nhiên, mô hình truyền thống gặp nhiều thách thức trong việc phân bổ tài nguyên, ảnh hưởng đến hiệu suất của hệ thống đám mây Việc đánh giá hiệu quả của cân bằng tải cũng gặp khó khăn do sự đa dạng và đặc thù của các biến số trong môi trường đám mây.
Trong thế giới ngày nay, điện toán đám mây cho phép lưu trữ và truy cập phần cứng, phần mềm từ bất kỳ đâu, tạo ra sự linh động lớn cho yêu cầu về phần cứng 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 với tập hợp lớn CPU hoặc máy tính vật lý được gọi là "đám mây", tuy nhiên, chúng chỉ có 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 dựa trên thời gian sử dụng không gian và dung lượng bộ nhớ từ tài nguyên mà họ được cung cấp Khi yêu cầu tài nguyên như bộ nhớ, không gian lưu trữ và băng thông, các nhà cung cấp dịch vụ đám mây phân bổ máy chủ vào hạ tầng theo nhu cầu của khách hàng Quá trình cung cấp tài nguyên trên đám mây thường liên quan đến việc tổng hợp máy tính vật lý thành máy ảo (VM) để tạo ra không gian lưu trữ ảo.
Cân bằng tải quản lý tài nguyên theo yêu cầu khách hàng là yếu tố quan trọng trong việc 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 chưa đảm bảo QoS một cách hiệu quả Để cải thiện QoS, cần tích hợp các thông số như băng thông vào quá trình cân bằng tải Việc 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 giúp giảm thiểu việc phân bổ tài nguyên cho các máy vật lý vượt quá khả năng cung cấp của máy ảo, đồng thời duy trì tính ổn định trong cung cấp dịch vụ.
Hình 1.3 Kiến trúc của điện toán đám mây [47]
Trong quá trình sử dụng tính toán tự động, kiểm soát chi phí tổng cộng là một thách thức quan trọng, được giải quyết thông qua việc xác định và quản lý tài nguyên bằng các thuật toán quản lý quy mô Bên cạnh đó, cân bằng tải tài nguyên cũng là một vấn đề thiết yếu, ngay cả trong giai đoạn phát triển dịch vụ, và điều này được thực hiện thông qua việc áp dụng các thuật toán khác nhau.
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, kéo theo nhu cầu ngày càng tăng 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 đòi hỏi các doanh nghiệp phải có thêm tài nguyên máy tính Công nghệ đám mây đã giúp tối ưu hóa việc sử dụng tài nguyên điện toán thông qua môi trường ảo hóa, cho phép nhiều doanh nghiệp áp dụng các dịch vụ đám mây dưới nhiều hình thức khác nhau Điều này dẫn đến khái niệm cân bằng tải trong điện toán đám mây, giúp cải thiện hiệu suất và khả năng mở rộng cho các tổ chức.
Trong thời đại hiện nay, ngành Công nghệ thông tin (CNTT) đang phát triển nhanh chóng, dẫn đến nhu cầu gia tăng về tài nguyên lưu trữ và tính toán Sự gia tăng dữ liệu lớn được tạo ra và trao đổi trên mạng đã thúc đẩy nhu cầu về tài nguyên máy tính Mô hình điện toán đám mây đã giúp doanh nghiệp tận dụng tài nguyên máy tính chia sẻ trong môi trường ả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, tạo ra khái niệm quan trọng về cân bằng tải trong lĩnh vực này.
Với sự phát triển mạnh mẽ của Internet, các trang web và ứng dụng trực tuyến thu hút lượng lớn người dùng 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ở nên 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 lưu lượng truy cập đồng đều giữa nhiều máy chủ trong cùng một hệ thống, giúp giảm thiểu tình trạng quá tải và sự cố máy chủ Khi một máy chủ gặp sự cố, cân bằng tải tự động chuyển giao công việc đến các máy chủ khác, đảm bảo thời gian hoạt động ổn định và tối ưu hóa năng suất tổng thể của hệ thống.
Cân bằng tải là một 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à 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 việc sử dụng tài nguyên Tuy nhiên, môi trường điện toán đám mây hiện đại đối mặt với nhiều thách thức, bao gồm vấn đề bảo mật và khả năng khắc phục lỗi Do đó, 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 Cloud Computing.
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ự 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 là 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 mang lại nhiều lợi ích, bao gồm khả năng mở rộng tốt hơn và xử lý lưu lượng nhanh hơn so với phương pháp tập trung Nó không phụ thuộc vào cấu trúc mạng và cung cấp lợi ích ngay lập tức cho tất cả lưu lượng khi triển khai Để thiết kế giao thức cân bằng tải hiệu quả, cần thông tin tắc nghẽn thời gian thực từ tất cả đường đi giữa nguồn và đích Một cách tiếp cận đơn giản là sử dụng thông tin định hướng từ switch ToR, nhưng việc thu thập thông tin tắc nghẽn cho tất cả đường dẫn là không khả thi do thiếu 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 vào việc lựa chọn đường dẫn tốt nhất Giai đoạn thứ hai sẽ chọn công tắc lõi tốt nhất dựa trên tình trạng tắc nghẽn của các bước nhảy tiếp theo Hai giai đoạn này sử dụng thông tin một phần để tìm đường tốt nhất cho dòng chảy, giảm thiểu sự phức tạp mà không gây ra độ trễ hay phải sắp xếp lại gói tin.
Cân bằng tải là yếu tố then chốt trong quản lý trung tâm dữ liệu đám mây, nhằm tối ưu hóa hiệu suất sử dụng tài nguyên máy tính Có nhiều thuật toán cân bằng tải, bao gồm tĩnh và động, với thuật toán tĩnh như round robin thường không thích ứng tốt với biến động tải Trong khi đó, cân bằng tải động giúp phân phối tải một cách thông minh, nhưng có thể phát sinh chi phí truyền thông cần được quản lý cẩn thận Mặc dù một số thuật toán tối ưu hóa hiệu suất cục bộ, việc áp dụng chúng cần cân nhắc để phù hợp với từng trường hợp cụ thể Để đảm bảo hiệu quả tối ưu cho toàn bộ hệ thống đám mây, cần xem xét toàn diện các khía cạnh hoạt động của trung tâm dữ liệ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 được chia thành 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 khách hàng được phân phối đều từ máy khách đến máy chủ Ngược lại, cân bằng tải toàn cục quản lý yêu cầu từ khách hàng tự động đến các máy chủ ở 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ý việc 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.
Sự phát triển của điện toán đám mây đã làm cho việc chia sẻ dữ liệu và cung cấp tài nguyên trở nên dễ dàng hơn, cho phép người dùng tiếp cận nhiều tài nguyên cần thiết và chỉ trả tiền cho những gì sử dụng Tuy nhiên, một thách thức lớn 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, đảm bảo không có nút nào bị quá tải, từ đó tối ưu hóa sử dụng tài nguyên và nâng cao hiệu suất hệ thống Trên nền tảng đám mây, có nhiều loại tải như 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 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 thiết yếu để 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à khai thác tài nguyên đám mây một cách 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ố quan trọng giúp phân phối hiệu quả tài nguyên trong môi trường đám mây, hỗ trợ tính linh hoạt và khả năng mở rộng cao, đồng thời ngăn chặn hiện tượ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 giúp chia sẻ thông lượng giữa các máy chủ mà không gây ra độ trễ trong quá trình truyền tải.
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 qua nhiều thuật toán khác nhau, chủ yếu được chia thành hai nhóm: 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, đều có ứng dụng quan trọng trong việc xử lý dữ liệu Trong môi trường đám mây, nơi hệ thống thường không đồng nhất và hiệu suất máy chủ thay đổi nhanh chóng, các thuật toán Online Mode Heuristic cho phép xử lý dữ liệu ngay khi chúng đến hệ thống Nhờ vào tính linh hoạt này, các thuật toán Online Mode Heuristic thường mang lại hiệu quả tốt hơn trong các môi trường đám mây.
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 Classification Algorithms encompass Linear Classifier, Support Vector Machine (SVM), Kernel SVM, Sparse Representation-based Classification (SRC), and Instance-based Algorithms like k-Nearest Neighbor (kNN) and Learning Vector Quantization (LVQ) Regularization Algorithms consist of Ridge Regression, Least Absolute Shrinkage and Selection Operator (LASSO), and Least-Angle Regression (LARS) Bayesian Algorithms feature Naive Bayes and Gaussian Naive Bayes, while 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 consist of Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) Lastly, Ensemble Algorithms include Boosting, AdaBoost, and Random Forest.
Tác giả luận án đã nghiên cứu tiềm năng và phát triển của Machine Learning (ML) trong việc tối ưu hóa cân bằng tải trên điện toán đám mây Các thuật toán được lựa chọn bao gồm Naive Bayes, SVM (Support Vector Machine), KMeans, ARIMA, Regression và k-NN (k-Nearest Neighbor) Naive Bayes được sử dụng cho các bài toán phân loại dựa trên xác suất, trong khi SVM hỗ trợ phân loại và hồi quy với khả năng làm việc tốt trên dữ liệu không tuyến tính KMeans, thuộc nhóm Clustering Algorithms, phân nhóm dữ liệu dựa trên đặc trưng tương tự Thuật toán ARIMA và Regression được áp dụng để dự báo các thông số yêu cầu trong tương lai gần, giúp phân tích xu hướng và biến động dữ liệu Cuối cùng, k-NN được chọn để phân loại dữ liệu 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 phương pháp 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 với nhau 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 Ví dụ, một loại trái cây được xác định là 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 Mặc dù các đặc trưng này có thể phụ thuộc lẫn nhau, nhưng trong thuật toán Naive Bayes, chúng được xem là độc lập và cùng góp phần vào khả năng nhận diện loại trái cây đó là quả táo.
Mô hình Naive Bayes là một công cụ mạnh mẽ và đơn giản, đặc biệt hữu ích cho các tập dữ liệu lớn, và thường vượt trội hơn so với các phương pháp phân loại phức tạp khác Đị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 P(c), P(x) và P(x|c), thể hiện khả năng phân loại hiệu quả của mô hình này.
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ẽ trong phân lớp và dự đoán, được áp dụng rộng rãi trong học máy, nhận dạng và trí tuệ nhân tạo Được phát triển bởi Vapnik và Chervonenkis vào năm 1995, SVM giải quyết hiệu quả các bài toán phân lớp phi tuyến tính Thuật toán này dựa trên nguyên lý Cực tiểu hóa rủi ro có cấu trúc (SRM) và được xem 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 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 tách các điểm dữ liệu thành hai lớp riêng biệt SVM sử dụng kỹ thuật chuyển đổi dữ liệu vào không gian nhiều chiều, từ đó tìm siêu phẳng tối ưu để phân chia các điểm 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 quyết định tốt nhất để chia thành hai lớp, thường 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 tốt hơn và 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 được sử dụng trong phân cụm, với ý tưởng chia các đối tượng thành K nhóm, nhằm 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 các 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ê, 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ị 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) Đầu tiên, cần đảm bảo chuỗi thời gian đã được dừng hoặc đã được sai phân hóa với mức độ sai phân d xác định Tiếp theo, 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 chuỗi dữ liệu.
Khi hàm tự tương quan ACF giảm đột ngột và hàm tự tương quan từng phần PACF cũng giảm mạnh, mô hình AR (Auto-Regressive) là lựa chọn phù hợp Nếu cả hai hàm đều giảm đột ngột, mô hình ARMA (Auto-Regressive Moving Average) sẽ được sử dụng.
Đôi khi, cả hai hàm có thể giảm đồng thời một cách đột ngột, vì vậy việc xác định mô hình phù hợp đòi hỏi chúng ta phải thử nghiệm và so sánh nhiều mô hình khác nhau Sau đó, chúng ta sẽ kiểm tra xem mô hình nào mang lại kết quả tốt nhất Các mô hình có thể bao gồm: p dựa vào SPAC, q dựa vào SAC, và d dựa vào số lần lấy sai phân để dừng chuỗi.
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ố 1 được thêm vào đầu vector để đơ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 dễ hiểu hơn.
Chúng ta mong muốn giảm thiểu sự chênh lệch giữa giá trị thực y và giá trị dự đoán 𝑦 (y hat) Điều này có nghĩa là mục tiêu của chúng ta là làm cho giá trị sai khác này càng nhỏ càng tốt.
Trong công thức 𝑒 = (𝑦 − 𝑦) = (𝑦 − 𝑥̅𝑤), hệ số ẵ được sử dụng để đơn giản hóa quá trình tính toán, đặc biệt khi tính đạo hàm, số ẵ sẽ bị triệt tiêu Chúng ta cần chú ý rằng 𝑒 thể hiện sự sai lệch giữa giá trị thực 𝑦 và giá trị dự đoán 𝑦, và không thể nói rằng 𝑒 nhỏ nhất là tốt nhất, vì khi 𝑒 = −∞, giá trị này có thể 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 đề cập đến các thuật toán trí tuệ nhân tạo phổ biến hiện nay, đặc biệt là nhóm thuật toán phân lớp và dự báo, có thể ứng dụng vào cân bằng tải Hơn nữa, chương này lựa chọn một số thuật toán và kỹ thuật máy học (ML) về dự báo, phân lớp và gom cụm để làm cơ sở cho các giải pháp cân bằng tải 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 lẫn chất lượng dịch vụ Để hiểu và đánh giá tốt hơn về cân bằng tải, luận án này áp dụng công cụ phân tích SWOT, giúp phân tích các khía cạnh liên quan đến cân bằng tải hiện tại Qua đó, chúng ta có thể nhận diện vấn đề và đề xuất các giải pháp nhằm nâng cao hiệu suất 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) là công cụ hữu ích trong kinh doanh, giúp đánh giá và cải thiện tình hình của tổ chức Phân tích này 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ể điều chỉnh, bao gồm danh tiếng, đặc điểm sản phẩm và vị trí địa lý Ngược lại, "Cơ hội" và "Thách thức" là những yếu tố bên ngoài, thường nằm ngoài tầm kiểm soát của doanh nghiệp, như xu hướng thị trường và hành vi khách hàng.
Phân tích SWOT là một công cụ quan trọng giúp đánh giá bốn yếu tố: Điểm mạnh, Điểm yếu, Cơ hội và Thách thức Việc xác định các yếu tố này cho phép doanh nghiệp nhận diện rõ ràng những vấn đề hiện tại, từ đó thiết lập mục tiêu chiến lược và định hướng cải thiện dịch vụ hiệu quả hơn.
Điện toán đám mây là dịch vụ mà các nhà cung cấp mạng cung cấp cho người dùng, vì vậy việc nghiên cứu và phát triển điện toán đám mây gắn liền với chiến lược của các doanh nghiệp cung cấp dịch vụ này Công cụ SWOT rất phù hợp để phân tích điện toán đám mây nhằm đưa ra các giải pháp tối ưu cho dịch vụ Luận án này áp dụng công cụ SWOT để phân tích yếu tố cân bằng tải trên điện toán đám mây, từ đó tìm ra các hướng nâng cao hiệu năng cân bằng tải thông qua phân tích SWOT.
Phân tích SWOT là quá trình đánh giá bốn yếu tố quan trọng: Điểm mạnh, Điểm yếu, Cơ hội và Thách thức Trong đó, Đ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 kết nối tình hình cân bằng tải hiện tại với các hướng nghiên cứu và 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ố của SWOT để 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).
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 mức tiêu thụ năng lượng, khả nă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 thành tác vụ Đối với thiết bị công nghệ, hiệu năng là tổng hòa của các đặc điểm này Chúng ta có thể đánh giá hiệu năng của smartphone thông qua 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, tương tự như một thiết bị, hoạt động trong môi trường điện toán đám mây và có hiệu năng riê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ân bằng tải có thể được đo lường thông qua một số yếu tố chủ yếu.
Độ trễ (Latency) là thời gian trung bình cần để một yêu cầu đến máy chủ, và giá trị này nên 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 khó chịu cho người sử dụng Tuy nhiên, cần lưu ý rằng nếu nhiều máy chủ trong một nhóm thực hiện các tác vụ đồng thời, có thể xảy ra tình trạng quá tải yêu cầu, làm 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 do chi phí xử lý bổ sung liên quan đến 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, rất quan trọng cho các ứng dụng và dịch vụ yêu cầu tốc độ cao 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 quyết định lượng tài nguyên được phân bổ cho dịch vụ hoặc ứng dụng cụ thể Việc phân bổ hiệu quả tài nguyên giúp đáp ứng nhu cầu của ứng dụng, tối ưu hóa dung lượng toàn cầu và mang lại trải nghiệm người dùng tốt hơn Đồng thời, cân bằng tải trên đám mây cũng giúp giảm chi phí 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, liên quan đến việc phân phối tài nguyên một cách công bằng giữa các dịch vụ và ứng dụng khác nhau Điều này đảm bảo rằng tài nguyên được phân bổ hiệu quả, đáp ứng nhu cầu của tất cả các ứng dụng và dịch vụ Có nhiều kỹ thuật cân bằng tải trong điện toán đám mây, 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, từ đó nâng cao hiệu suất của dịch vụ đám mây Có hai loại cân bằng tả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 chọn bộ cân bằng tải ứng dụng, đặc biệt là bộ cân bằng tải Lớp 7.
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ủ để đảm bảo thứ tự thực thi và tránh xung đột Cân bằng tải là phương pháp tối ưu hóa nhằm phân phối công việc đều đặn, cải thiện hiệu suất và độ tin cậy Đây là yếu tố quan trọng trong điện toán đám mây, giúp tối ưu hóa việc sử dụng tài nguyên một cách hiệu quả.
Khả năng chịu lỗi trong cân bằng tải trên điện toán đám mây đề cập đến khả năng hệ thống duy trì hoạt động ngay cả khi gặp lỗi, điều này rất 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 chịu lỗi, cần áp dụng nhiều kỹ thuật khác nhau, bao gồm lập kế hoạch chi tiết cho các công việc đang thực hiện khi có sự cố xảy ra, 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 nhằm đảm bảo tính khả dụng thông qua khắc phục thảm họa nhanh chóng.
Để nâng cao hiệu năng cân bằng tải trên cloud, cần đo lường và kiểm soát các thông số quan trọng như 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) Phân tích SWOT cũng là một phương pháp hữu ích để đánh giá hiệu năng cân bằng tải trong các thuật toán.
SWOT là công cụ phân tích hữu ích cho các vấn đề kỹ thuật và công nghệ, đặc biệt trong lĩnh vực công nghệ thông tin, giúp xác định các thách thức và cơ hội Công cụ này đánh giá hệ thống bằng cách liệt kê các yếu tố tích cực và tiêu cực Nhiều nghiên cứu đã áp dụng SWOT để phân tích đ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, nhằm đánh giá môi trường cloud và đề xuất giải pháp phát triển Năm 2017, Sugandhi Midha đã sử dụng SWOT để phân tích sâu hơn về vấn đề của cloud, và vào năm 2020, Ify Evangel cùng cộng sự cũng áp dụng SWOT để nghiên cứu công nghệ điện toán đám mây trong dịch vụ thư viện tại trường đại học Nigeria Nsukka.
Cân bằng tải là một yếu tố thiết yếu trong điện toán đám mây, đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất hệ thống Bài luận này áp dụng công cụ phân tích SWOT để xem xét các yếu tố liên quan đến cân bằng tải trên nền tảng điện toán đám mây Qua đó, nghiên cứu đề xuất các hướng tiếp cận 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.
Để nâng cao hiệu năng cân bằng tải, theo công cụ SWOT, cần xác định mục tiêu rõ ràng Điều này bao gồm việc phân tích các yếu tố nội tại như điểm mạnh và điểm yếu, cũng như các yếu tố bên ngoài như cơ hội và thách thức Từ đó, chúng ta có thể đưa ra các mục tiêu cụ thể và giải pháp phù hợp nhằm đạt được hiệu quả tối ưu trong việc 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 trong môi trường đám mây bao gồm các thuộc tính có thể đo lường, đặc trưng cho hiệu suất của cân bằng tải Những thuộc tính này bao gồm thông lượng (Throughput) và dung sai lỗi (Fault Tolerance), đóng vai trò quan trọng trong việc đảm bảo hiệu quả và độ tin cậy của hệ thống.
Trong việc tối ưu hóa hiệu suất hệ thống, các yếu tố quan trọng bao gồm độ dung nạp (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 tại của cân bằng tải cũng đóng vai trò quan trọng, bao gồm chính sách cân bằng tải, cách thức hoạt động của cân bằng tải và các thuật toán cân bằng tải cụ thể.
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 bài nghiên cứu tổng hợp của Atharva Agashe và cộng sự, các tác giả đã thảo luận về các mô hình dịch vụ đám mây như IaaS, PaaS, SaaS và các mô hình triển khai bao gồm Công cộng, Riêng tư và Hybrid Họ cũng phân tích các giai đoạn di chuyển ứng dụng hiện có lên đám mây, nhấn mạnh rằng tất cả các giai đoạn này đều rất quan trọng và cần được thực hiện một cách cẩn thận.
Trong quá trình di chuyển lên đám mây, có 6 chiến lược chính bao gồm Rehosting, Replatforming, Repurchasing, Refactoring, Retaining và Retiring, giúp cung cấp cái nhìn tổng quan về cách thức di chuyển và những thay đổi cần thiết Các chiến lược này được phân tích chi tiết bởi nhóm tác giả, đồng thời xem xét 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 tập trung vào 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 các hệ thống cloud Các kỹ thuật thích ứng an toàn có thể áp dụng ở mọi giai đoạn của công nghệ cloud, từ phần cứng đến phần mềm và hạ tầng tính toán Sự thích ứng an toàn cho phép hệ thống tự bảo vệ trước các cuộc tấn công và lỗ hổng Tuy nhiên, điện toán đám mây vẫn dễ bị tổn thương nếu không có các cơ chế thích ứng để cải thiện trải nghiệm người dùng Bài đánh giá cũng chỉ ra các lỗ hổng trong các thành phần của cloud thông qua phân tích STRIDE, đồng thời cung cấp các hạn chế trong tài liệu hiện có và phân loại các vấn đề an ninh Nghiên cứu nhấn mạnh nhu cầu về các kỹ thuật thích ứng tốt hơn để đối phó với các mối đe dọa và lỗ hổng Cuối cùng, việc thiếu sự nhất quán trong thiết kế và triển khai các biện pháp bảo mật cloud cho thấy an toàn và riêng tư vẫn chưa được đảm bảo đầy đủ, đặc biệt là khi các mô hình bảo vệ quyền riêng tư không tập trung vào người dùng và thiếu sự linh hoạt trong quản lý kiểm soát.
Nghiên cứu tổng hợp của Belen Bermejo đã phân tích sự bền vững của hạ tầng đám mây, cạnh, sương mù và IoT sử dụng trí tuệ nhân tạo, cho thấy học máy và học sâu là các kỹ thuật phổ biến nhất, tập trung 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 chưa đầy đủ và thiếu 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 và làm nền tảng 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 trong môi trường đám mây, cạnh và IoT, đồng thời cần tiếp tục đánh giá kỳ vọng và tiến bộ của AI trong việc 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 đang phát triển nhanh chóng và mang lại nhiều lợi ích như khả năng truy cập linh hoạt, hiệu quả về thời gian và giảm chi phí cơ sở hạ tầng Tuy nhiên, việc áp dụng công nghệ này cũng gặp phải nhiều thách thức, bao gồm 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 Hầu hết các dịch vụ đám mây hiện nay đều dựa vào trung tâm dữ liệu để lưu trữ tài nguyên Mặc dù việc lưu trữ ứng dụng trên một nền tảng duy nhất có thể đơn giản, nhưng vẫn tồn tại nhiều rủi ro liên quan đến quyền riêng tư và tính toàn vẹn dữ liệu Các xu hướng hiện tại cho thấy điện toán đám mây đang phát triển với các công nghệ mới để giải quyết những thách thức này, và việc tích hợp AI có thể giúp giảm thiểu rủi ro cũng như cung cấp giải pháp cho các vấn đề chưa được giải quyết.
Sau đại dịch COVID-19, sự phụ thuộc vào các ứng dụng điện toán đám mây và công nghệ đã gia tăng đáng kể Nghiên cứu của Shajunyi Zhao và cộng sự đã chỉ ra rằng xu hướng này không chỉ thay đổi cách thức làm việc mà còn ảnh hưởng đến các lĩnh vực khác trong xã hội.
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 (pay-as-you-go) trong đại dịch COVID-19 đã 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 Bài báo đã tổng hợp và đánh giá 18 nghiên cứu liên quan 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 hướng đi cho các nghiên cứu trong tương lai Điện toán đám mây xanh, với khả năng cải thiện hiệu quả năng lượng và giảm khí thải carbon, đang trở thành một lĩnh vực quan trọng trong nỗ lực bảo vệ môi trường 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 mức tiêu thụ tài nguyên và khí thải Báo cáo của Archarna Patil và cộng sự vào năm 2019 đã cung cấp cái nhìn sâu sắc về những thách thức và xu hướng trong điện toán đám mây xanh, là tài liệu tham khảo quý giá cho các nhà nghiên cứu trong lĩnh vực này.
Năm 2022, nghiên cứu của Nesma Abd El-Mawla và cộng sự đã chỉ ra các yếu tố quan trọng mà nhà cung cấp dịch vụ đám mây và người tiêu dùng cần xem xét để đảm bảo điện toán đám mây có tác động tích cực đến môi trường Một bài viết của J Sylvia Grace và G Meeragandhi cũng đã nhấn mạnh về việc các công ty CNTT ngày càng 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 tới việc giảm thiểu ô nhiễm không khí, nước và đất, đồng thời 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.
Bài báo khảo sát của Avita Katal và cộng sự (2023) nhấn mạnh sự gia tăng tiêu thụ năng lượng tại các trung tâm dữ liệu do tiến bộ công nghệ và nhu cầu xử lý ngày càng cao, đòi hỏi phát triển giải pháp phần mềm để giảm mức tiêu thụ điện Nghiên cứu xem xét các phương pháp như ảo hóa phần mềm, ảo hóa hệ điều hành và container hóa, đồng thời chỉ ra các 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 thuật toán lập lịch xanh cho honeynet trong môi trường đám mây, nơi mà mặc dù công nghệ đám mây mang lại tính linh hoạt và tiết kiệm chi phí, nhưng cũng tiêu tốn năng lượng lớn, ả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à 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ông nghệ an ninh hiện tại lại không tối ưu 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, cân bằng giữa chi phí năng lượng, CPU và mạng để tăng tính bền vững Nghiên cứu được mô tả bằng cả toán học và mã giả, với sự chú ý đến điện toán cạnh và điện toán sương mù.
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 các chuyên gia Lý thuyết này xác định các cấu trúc chính và các 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 những lợi ích của điện toán biên như giảm mức tiêu thụ tài nguyên, cải thiện bảo mật và hiệu suất, đồng thời cũng chỉ ra các 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 các thiết bị IoT tạo ra khối lượng dữ liệu lớn, gây 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ả Để khắc phục 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 nền tảng tính toán gần gũi hơn với người dùng cuối FC mở ra cơ hội cho nghiên cứu và ứng dụng trong ngành công nghiệp nhằm cải thiện các vấn đề hiện tại Một hướng nghiên cứu tương lai là phát triển FC theo tiêu chuẩn IEC-61499, nhằm nâng cao tính di động, khả năng tương tác và cấu hình lại các ứng dụng.
Điện toán sương mù đã nổi lên như một giải pháp cho các thách thức của ứng dụng IoT, bằng cách xử lý và lưu trữ dữ liệu cục bộ Hệ thống DCMB được đề xuất nhằm đáp ứng yêu cầu SLA của IoT, với thời gian xử lý ngắn hơn so với hệ thống đám mây truyền thống Nghiên cứu của Deok‑Kee Choi cho thấy 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 phải độ trễ cao và mức sử dụng băng thông lớn Tác giả đã đề xuất một phương pháp điện toán sương mù sử dụng thuật toán học máy, đạt độ chính xác khoảng 98% trong giám sát trạng thái thiết bị Sukhpal Singh Gill nhấn mạnh rằng sự gia tăng ứng dụng IoT tạo ra lượng dữ liệu lớn, yêu cầu xử lý với độ trễ tối thiểu Chương này trình bày tuyên ngôn cho các hệ thống điện toán biên và sương mù, cùng với các kiến trúc và ứng dụng liên quan, đồng thời chỉ ra các cơ hội nghiên cứu và hướng đi trong tương lai.
Nghiên cứu của Sundas Iftikhar (2023) tập trung vào việc áp dụng học máy và trí tuệ nhân tạo (AI) để giải quyết thách thức quản lý tài nguyên trong môi trường điện toán cạnh và điện toán sương mù Nghiên cứu chỉ ra rằng việc sử dụng AI ngày càng tăng giúp cải thiện độ chính xác trong quyết định quản lý tài nguyên, giảm thiểu thời gian và nâng cao chất lượng dịch vụ so với các phương pháp truyền thống Các lĩnh vực như chăm sóc sức khỏe và giao thông thông minh đã tận dụng các kỹ thuật tối ưu hóa dựa trên AI, với tiềm năng tối ưu hóa cao hơn 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 nhấn mạnh sự cần thiết của 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à điện toán 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, sử dụng phương pháp Vị trí nút góc kết hợp với tối ưu hóa ong hạt mới, đồng thời xử lý 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 trỏ khi đồng bộ hóa với máy chủ proxy Lược đồ đề xuất đã giảm thiểu mức sử dụng mạng xuống 618.020 và giảm chi phí thực hiện đám mây sương mù xuống 81.900 đô la Các thiết bị cho thấy hiệu suất cao nhất với Devive_ID 3 đạt 93% thông lượng, 62% thời gian phản hồi, 94% hiệu suất, 97% tính khả dụng và 85% độ tin cậy Kết quả thực nghiệm cho thấy các sơ đồ đề xuất có hiệu suất vượt trội so với khung lai CRBM Trong tương lai, nghiên cứu về vị trí dịch vụ sương mù sẽ được tiến hành để 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 xem xét các vấn đề 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 lớn từ các thiết bị IoT đã tạo 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ụ theo 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, khái niệm điện toán cạnh (edge computing) đã ra đời, cho phép xử lý và lưu trữ dữ liệu gần hơn với thiết bị người dùng, giảm thiểu hạn chế về 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 được xem là giải pháp quan trọng cho các vấn đề dữ liệu lớn phức tạp, nhờ vào khả năng xử lý hiệu quả các thách thức lưu trữ và xử lý dữ liệu do IoT, phương tiện truyền thông xã hội và giao tiếp máy với máy gây ra.
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 trình bày hai hướng tiếp cận đề xuất và phân loại các công trình nghiên cứu liên quan đến cân bằng tải, bao gồm cả phương pháp từ bên trong và bên ngoài Những nghiên cứu gần đây, cả trong nước và quốc tế, về các kỹ thuật cân bằng tải trong môi trường điện toán đám mây, cung cấp cái nhìn sâu sắc về cách nâng cao hiệu suất cân bằng tải trong lĩnh vực này.
Nắm bắt ưu nhược điểm của các thuật toán hiện tại, bài viết đề xuất các thuật toán cải tiến với hai hướng tiếp cận 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 phát triển 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
Chương này tập trung vào phát triển các thuật toán tối ưu cân bằng tải trong môi trường điện toán đám mây, tận dụng sức mạnh của học máy và phân tích dữ liệu để nâng cao hiệu quả cân bằng tải Luận án giới thiệu một loạt giải pháp sáng tạo, bao gồm việc sử dụng các thuật toán phân lớp, phân cụm và dự báo Bộ tham số đánh giá cân bằng tải được đề xuất bao gồm Thời gian đáp ứng và Thời gian thực thi, nhằm định lượng hiệu quả phân phối tải trên hệ thống Bốn thuật toán cụ thể được trình bày trong nghiên cứu này.
Thuật toán MCCVA [CT1] là sự kết hợp tinh vi 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 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, một công cụ dự báo thống kê, để dự đoán Thời gian đáp ứng Kỹ thuật này không chỉ giúp cải thiện việc cân bằng tải mà còn dự đoán nhu cầu tài nguyên và phân phối tải trước khi xảy ra các độ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 giữa Nạve Bayes, một phương pháp phân lớp xác suất, 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 này là phân phối tải trên các nút mạng một cách cân đối, từ đó giảm thiểu thời gian đáp ứng và Makespan, nhờ vào việc khai thác lợi thế của phân tích dữ liệu phân loại.
Thuật toán ITA [CT3] là một cải tiến của thuật toán Throttle, nổi bật trong lĩnh vực cân bằng tải Nó tập trung vào việc tối ưu hóa 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ỉ dựa vào việc chia sẻ bộ tham số cân bằng tải, mà còn nhờ vào 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 Luận án đã cài đặt mô phỏng các thuật toán trong môi trường cloud bằng cách 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 5 đến 15 máy ảo trong môi trường giả lập đám mây, nơi 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 Các thử nghiệm được thực hiện thông qua dịch vụ cung cấp máy ảo và dịch vụ phục vụ người dùng của CloudSim.
Các thuật toán đã được phát triển bằng ngôn ngữ Java và thử nghiệm qua giao diện dòng lệnh trong IDE APACHE NETBEAN Môi trường giả lập sử dụng thư viện mã nguồn mở CloudSim 4.0, có sẵn tại http://www.cloudbus.org/.
Các thuật toán như SVM, K-Means, Naive Bayes, Linear Regression và ARIMA được triển khai từ thư viện Weka và Tensorflow Java, kết hợp với mã nguồn mở CloudSim để cài đặt các thuật toán đề xuất Đối với thuật toán ITA, cấu hình và cài đặt được thực hiện 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ý (Makespans) của các request và các thuộc tính khác, thuật toán SVM được sử dụng để phân lớp các request, giúp 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 theo mức độ sử dụng Bằng cách kết hợp đánh giá số lần sai và sai số, hiệu suất của thuật toán được cải thiện thông qua áp dụng học máy Tuy nhiên, việc áp dụng học máy vẫn bị giới hạn 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ẽ phân tích các thuộc tính của request như kích thước, độ dài phản hồi và chiều dài tối đa để tính toán thời gian xử lý của request Dựa trên các thông tin này, thuật toán sẽ phân lớp các request một cách hiệu quả.
Nhóm Thời Gian xử lý được xác định bởi 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 gửi lên cloud Có thể phân chia các Request thành nhiều nhóm, từ 4 đến 10 nhóm hoặc 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 phân cụm K-Means với giá trị k=3 sẽ được áp dụng để nhóm các máy ảo dựa trên hoạt động và sử dụng tài nguyên Quá trình phân cụm sẽ phân chia các máy ảo thành ba nhóm: cao, trung bình và thấp, dựa trên thông số hiện tại của chúng.
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 đó Module 2 sẽ phân loại các máy ảo, bao gồm cả những máy ảo không tải Thuật toán sẽ xác định request nào phù hợp nhất với máy ảo thông qua thông số từ hai hàm SVM và K-Means Nếu thời gian xử lý của request đang xét (tính từ Module 1) là nhỏ nhất, yêu cầu sẽ được xử lý trên máy ảo có mức độ 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ổ một cách 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 xác định dựa trên thời gian xử lý mà không biết 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ý nhất định của các request trước để thực hiện tính toán và phân bổ Thuật toán áp 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
Số lượng cpu (pes no.)
Trong mô phỏng bằng CloudSim, các yêu cầu web được đại diện bởi Cloudlet, với kích thước được xác định ngẫu nhiên 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 xây dựng 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 hiện có cũng được chỉnh sửa để đảm bảo tính tương thích với thuật toán mới này.
@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 đã được cấu hình để xử lý các yêu cầu (Request) ngẫu nhiên với kích thước và chiều dài khác nhau, số lượng dao động từ 20 đến 50 Kết quả thí nghiệm đượ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 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 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ả cho thấy thời gian thực hiện của thuật toán Round-Robin 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, trong đó MaxMin và FCFS có hiệu suất kém hơn FCFS gặp khó khăn trong việc xử lý các request theo thứ tự đến trước, trong khi MCCVA thường có thời gian thực hiện nhanh hơn so với các thuật toán khác, bao gồm cả Round-Robin Nhìn chung, Round-Robin và MCCVA nổi bật hơn trong việc cân bằng tải, với Round-Robin có tốc độ xử lý nhanh và MaxMin thể hiện sự ổn định Mặc dù FCFS chưa có thế mạnh, MCCVA dần chứng minh sự ổn định và hiệu quả khi xử lý nhiều request hơn.
Trong thực nghiệm với CloudSim, đã thiết lập 5 máy ảo để đá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 được tạo ra dao động từ 100 đến 1000.
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 yêu cầu, từ 100 đến 1000, nhưng vẫn nhanh hơn so với nhiều thuật toán khác, đặc biệt là khi số lượng yêu cầu lớn Tương tự, thuật toán MaxMin cũng có thời gian thực hiện tăng theo số lần yêu cầu.
Thuật toán Round-Robin có thời gian thực hiện lớn hơn so với các thuật toán khác, và khoảng cách này gia tăng khi số lần request tăng Đối với thuật toán MinMin, thời gian thực hiện cũng tăng dần theo số lần request và lớn hơn cả MaxMin, với khoảng cách giữa hai thuật toán này cũng tăng khi số lần request tăng FCFS (First-Come, First-Served) có thời gian thực hiện tăng dần theo số lần request và lớn hơn MinMin, với khoảng cách giữa FCFS và MinMin cũng tăng theo số lần request Trong khi đó, MCCVA có thời gian thực hiện tăng theo số lần request nhưng thường nhanh hơn các thuật toán khác, mặc dù thời gian thực hiện cũng tăng khi số lần request tăng MCCVA thể hiện sự vượt trội so với MaxMin và MinMin, và với số lượng request lớn, nó dần chiếm ưu thế tuyệt đối so với các thuật toán còn lại FCFS cho thấy sự thiếu thông minh và tính tự nhiên của giải thuật.
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 cho request tiếp theo từ dữ liệu chuỗi thời gian hiện có, giúp tối ưu hóa việc 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 ứng dụng machine learning dựa trên số lần dự đoán sai và độ lệch sai số, tuy nhiên 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 bằng 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ẽ là thời gian đáp ứng dự đoán dựa trên tập hợp các máy ảo (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 mà máy ảo đó đã xử lý thông qua hàm getPredictedRT() Đồng thời, nó cũng tính toán 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 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 lập tức cho máy ảo đó để xử lý, đồng thời thu thập và lưu trữ thời gian đáp ứng thực tế 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 toàn bộ 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 đạt ngưỡng thời gian đáp ứng, yêu cầu sẽ được chuyển đến máy ảo có thời gian đáp ứng dự báo gần nhất với ngưỡng.
Việc khởi tạo ngưỡng ban đầu được thực hiện bằng cách sử dụng thời gian phản hồi của yêu cầu đầ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 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 thực nghiệm 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 sẵn trong CloudSim và triển khai thuật toán APRTA đề xuất Cả hai thuật toán đều sử dụng cùng một bộ dữ liệu đầu vào để so sánh kết quả một cách công bằng, với trọng tâm là thời gian đáp ứng (Response Time) Việc đánh giá thời gian đáp ứng dự đoán 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 đồng nghĩa với hiệu quả cao hơn Kết quả này 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 để 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 mối quan hệ giữa thời gian đáp ứng dự báo và ngưỡng Threshold Dựa trên bảng 3.6, có thể nhận thấy rằng thuật toán APRTA hiệu quả trong việc quản lý thời gian đáp ứng của các máy ảo VM0, VM1, và VM2, giúp tối ưu hóa hiệu suất của bộ cân bằng tải.
Thời gian đáp ứng dự báo của các máy ảo (VM0, VM1, VM2) thay đổi tùy thuộc vào số lần 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 cung cấp thông tin về thời gian đáp ứng kỳ vọng, từ đó hỗ trợ việc phân bổ yêu cầu một cách hiệu quả.
Ngưỡng Threshold được sử dụng để xác định việc phân bổ request cho các máy ảo, đảm bảo rằng nếu thời gian đáp ứng dự báo của máy ảo nhỏ hơn ngưỡng này, request sẽ được gửi đến máy ảo đó Ngưỡng Threshold đóng vai trò quan trọng trong việc cân bằng tải và ngăn chặn tình trạng quá tải cho các máy ảo Trong trường hợp có 3 máy ảo, thuật toán APRTA áp dụng ARIMA để dự báo thời gian đáp ứng và phân bổ request dựa trên ngưỡng Threshold Thời gian đáp ứng dự báo cung cấp thông tin về hiệu suất dự kiến, từ đó giúp quyết định việc 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 trong mỗi lần thử nghiệm lần lượt là 100, 200, và tiếp tục tăng 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
Dựa trên biểu đồ ngưỡng thời gian đáp ứng dự báo với 4 máy ảo (VM0, VM1, VM2, VM3) của thuật toán APRTA, ta 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 Thời gian đáp ứng dự báo cho thấy mối quan hệ giữa các máy ảo và ngưỡng Threshold, từ đó giúp đánh giá hiệu quả hoạt động của thuật toán APRTA trong việc tối ưu hóa tài nguyên.
Thời gian đáp ứng dự báo của các máy ảo (VM0, VM1, VM2, VM3) tăng lên theo số lượng yêu cầu, cho thấy mối liên hệ giữa tải công việc và hiệu suất của chúng Sự gia 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.
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ự kiến Khi thời gian này nhỏ hơn ngưỡng Threshold, request sẽ được chuyển đến máy ảo tương ứng, từ đó hỗ trợ cân bằng tải và ngăn ngừa tình trạng quá tải cho các máy ảo.
THUẬT TOÁN RCBA
Bài viết này đề xuất một phương pháp mới kết hợp giữa thuật toán Naive Bayes và K-means, nhằm cải thiện khả năng dự đoán thời gian đáp ứng cho các yêu cầu của khách hàng Sử dụng dữ liệu chuỗi thời gian liên quan đến thời gian đáp ứng từ các yêu cầu trước đó, phương pháp này không chỉ giúp dự đoán chính xác hơn mà còn tối ưu hóa việc phân bổ nguồn lực cho các yêu cầu trong tương lai Thuật toán được chia thành ba mô đun chính, tạo ra một hệ thống hiệu quả trong việc quản lý và dự đoán thời gian phản hồi.
(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ẽ sử dụng các thuộc tính của yêu cầu từ khách hàng để tính toán thời gian đáp ứng cho các yêu cầu đó Naive Bayes sẽ phân loại các yêu cầu dựa trên các thuộc tính như độ dài phản hồi, độ dài tối đa và kích thước.
Nhóm thời gian đáp ứng: RTnew = NB(X1, X2,X3,,,,,,Xn) (7.1)
Xi đại diện cho các thuộc tính của yêu cầu khi gửi lên đám mây Từ góc độ này, các yêu cầu có thể được phân chia thành nhiều nhóm, từ 3 đến 8 nhóm hoặc hơn, tùy thuộc vào mức độ biến thiên của các yêu cầu.
(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 theo 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, mô đun 1 sẽ phân loại yêu cầu đó, và mô đun 2 sẽ phân cụm các máy chủ ảo, bao gồm cả những máy không tải 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 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 các yêu cầu có kích thước trung bình, 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 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 mã nguồn mở CloudSim, năm máy ảo đã được cấu hình để xử lý các yêu cầu có chiều dài và kích thước ngẫu nhiên Số lượng yêu cầu bắt đầu từ 25, sau đó tăng lên 50, 100 và cuối cùng là 1000 Thời gian đáp ứng được chọn làm chỉ số chính để đánh giá hiệu quả xử lý Kết quả thực nghiệm được so sánh với hiệu suất của các thuật toán cân bằng tải khác như Round-Robin, MaxMin, MinMin và FCFS, nhằm xác định phương pháp cung cấp thời gian đáp ứng tối ưu nhất 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 Request, 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 Các thuật toán này có sự khác biệt rõ rệt về hiệu suất, với RCBA thể hiện thời gian đáp ứng tối ưu nhất trong số các phương pháp được phân tích Sự so sánh này 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 gia tăng khi số lượng yêu cầu tăng lên Mặc dù nó phân chia công việc theo 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 cao và không cải thiện hiệu năng cân bằng tải.
MaxMin là một thuật toán tối ưu hóa thời gian đáp ứng, giảm thiểu thời gian xử lý khi số lần yêu cầu tăng Thuật toán này tìm kiếm máy ảo có hiệu suất hoàn thành tốt nhất để phân bổ công việc, giúp cải thiện hiệu năng cân bằng tải so với phương pháp Round-Robin Tuy nhiên, vẫn tồn tại một số chênh lệch hiệu suất giữa các máy ảo trong quá trình phân bổ.
MinMin là một 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 hoạt động bằng cách tìm kiếm máy ảo có thời gian hoàn thành nhỏ nhất để phân bổ công việc So với MaxMin, MinMin cung cấp thời gian đáp ứng tốt hơn, tuy nhiên, điều này đi kèm với độ phức tạp tính toán cao hơn.
Thuật toán FCFS (First-Come, First-Served) xử lý các yêu cầu theo thứ tự đến, dẫn đến 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 giản, FCFS không đảm bảo cân bằng tải và có thể gây ra thời gian đáp ứng cao nếu công việc không được phân chia đồng đều.
RCBA có thời gian đáp ứng biến đổi nhỏ và thường thấp nhất trong các thuật toán, nhờ vào việc kết hợp dự báo thời gian đáp ứng với cân nhắc tải công việc của các máy ảo Điều này giúp RCBA phân bổ công việc một cách thông minh và cân bằng tải hiệu quả Trong trường hợp 25 request, RCBA thể hiện hiệu năng tốt nhất so với các thuật toán khác, với thời gian đáp ứng thấp và khả năng cân bằng tải vượt trội Mặc dù MaxMin và MinMin cũng có hiệu năng tốt, MinMin lại có độ phức tạp tính toán cao hơn Ngược lại, Round-Robin và FCFS có hiệu năng thấp hơn và không đạt được cân bằng tải tốt.
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
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 yêu cầu, 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ể so sánh hiệu năng của các thuật toán này Số lần yêu cầu tương ứng được khảo sát là 5, 10, 15, 20, 25, 30, 35, 40, 45 và 50 Kết quả cho thấy sự khác biệt rõ rệt về hiệu quả hoạt động giữa các thuật toán trong việc xử lý thời gian đáp ứ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ỉ đơn giản phân chia công việc theo thứ tự cho từng máy ảo Kết quả là, 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 có thời gian đáp ứng biến đổi lớn khi số lần yêu cầu tăng, do thuật toán này 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 Tuy nhiên, sự không ổn định và dao động cao trong thời gian đáp ứng của MaxMin trở nên rõ rệt, đặc biệt khi số lượng yêu cầu gia tăng.
THUẬT TOÁN ITA
Dựa trên 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, luận án đề xuất một thuật toán cải tiến mang tên 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à liên tục cập nhật 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ước 4: Bộ cân bằng tải ITA sẽ xác định ID máy ảo (VM) tương ứng theo thứ tự từ trên xuống trong danh sách so sánh mức độ sử dụng (Usage) của các máy ảo Nó sẽ tìm ra máy ảo có Usage thấp nhất và trả về ID của máy ảo đó cho bộ điều khiển trung tâm (DCC).
Bộ điều khiển trung tâm (DCC) gửi yêu cầu tới máy ảo (VM) thông qua ID để máy ảo 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 Sau đó, bộ cân bằng tải ITA cập nhật ID của máy ảo vừa được gửi và chờ yêu cầu mới từ DCC.
Nếu danh sách "vmUsagelist" rỗng, nghĩa là chưa có máy ảo nào được khởi tạo, bộ cân bằng tải ITA sẽ trả 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) xử lý xong yêu cầu và bộ điều khiển trung tâm (DCC) nhận được phản hồi, một thông báo sẽ được gửi đến bộ cân bằng tải ITA để 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 quy trình cho đến khi tất cả các yêu cầu được xử lý Việc đánh giá thuật toán ITA cũng được thực hiện trong quá trình này.
Thuật toán đề xuất đã đạt được các mục tiêu quan trọng, bao gồm việc giảm số lượng yêu cầu xếp hàng để 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) Với thuật toán này, hiệu suất của điện toán đám mây được nâng cao, đặc biệt khi số lượng máy ảo tăng lên, giúp ITA đảm bảo thời gian phản hồi và thời gian xử lý tối ưu, đồ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 để lựa chọn máy ảo có mức sử dụng tài nguyên thấp nhất, từ đó xác định cách 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 về mức sử dụng của 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 này bao gồm một Datacenter với 5 máy ảo trong 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, nằm ở 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 với đặ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 đó kết quả sẽ được so sánh 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 trên nền tảng Cloud Analyst và sử dụng ECLIPSE IDE để thực hiện thử nghiệm và hiển thị kết quả theo tiêu chuẩn của Cloud Analyst Môi trường giả lập được thiết lập với bộ thư viện mã nguồn mở CloudSim 4.0, được cung cấp bở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, với việc cập nhật các phương thức và thuộc tính liên quan đến getNumber để 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 nhằm phù hợp với thuật toán mới.
@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 Thuật toán TMA của Nguyễn Xuân Phi và các cộng sự cũng được so sánh trong thực nghiệm 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 và chi phí Datacenter Thuật toán có thời gian phản hồi gần thực tế và chi phí thấp hơn được coi là hiệu suất tối ưu trong quản lý tài nguyên đám mây Luận án thử nghiệm với bốn 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, bao gồm 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 năng của các thuật toán như sau: Biểu đồ so sánh ITA với các thuật toán khác cho thấy sự khác biệt rõ rệt trong hiệu suất, từ đó giúp xác định ưu điểm và nhược điểm của từng thuật toán trong môi trường ảo hóa.
TỔNG KẾT CHƯƠNG
Trong chương 3, bốn thuật toán MCCVA, APRTA, RCBA và ITA được đề xuất với sự liên kết 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 điểm liên kết chính giữa các thuật toán này sẽ được trình bày chi tiết.
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 ARIMA để dự đoán thời gian phản hồi, trong khi MCCVA sử dụng SVM cho phân lớp và k-Means cho phân cụm, cả hai phương pháp đều học từ dữ liệu để đề xuất cách phân phối tải hiệu quả.
MCCVA và RCBA đều áp 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 tận dụng thông tin từ phân cụm để tối ưu hóa việc 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 này, nhằm cải thiện hiệu suất hệ thống Chúng được phát triển để giảm thời gian đáp ứng thông qua các phương pháp dự báo và phân tích, đồng thời tối ưu hóa Makespan bằng cách xem xét tải trọng tổng thể của hệ thống.
Thuật toán ITA [CT3] là sự cải tiến từ thuật toán Throttle, một giải pháp cân bằng tải hiện tại Cải tiến này mang đến cái nhìn mới về quản lý tài nguyên đám mây, vượt trội hơn so với các thuật toán truyền thống bằng cách áp dụng các phương pháp học máy tiên tiến.
Mặc dù mỗi thuật toán có cách tiếp cận riêng, khi kết hợp, chúng tạo ra một hệ thống toàn diện có 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 giữa các thuật toán này hình thành một cấu trúc đa lớp, trong đó mỗi thuật toán đóng góp vào khả năng chung của hệ thống để quản lý và điều phối tài nguyên hiệu quả Điều này không chỉ thể hiện 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 nhấn mạnh mục tiêu chung là cải thiện 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.
Trong chương này, nghiên cứu theo hướng tiếp cận từ bên trong đã chỉ ra các phương pháp nâng cao hiệu năng cân bằng tải thông qua việc áp 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 dựa trên xác suất thống kê Đề xuất gồm 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 tập trung vào tính hiệu quả Tổng cộng, luận án đã xây dựng bốn thuật toán với cách tiếp cận bên trong, nghiên cứu các đặc tính của cân bằng tải kết hợp 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 thêm 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
Để nâng cao 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 những thách thức và cơ hội mà các 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: đường truyền mạng và hành vi người dùng cloud Đối với yếu tố mạng, 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ơ thường gặp Luận án đề xuất nghiên cứu về deadlock trong môi trường cloud và phát triển thuật toán PDOA nhằm cải thiện khả năng cân bằng tải thông qua dự đoán khả năng xảy ra deadlock Về yếu tố người dùng, luận án chú trọng đến độ ưu tiên của tác vụ dựa trên các request, từ đó đề xuất thuật toán k-CTPA để phân bổ các request hiệu quả, giải quyết vấn đề cân bằng tải theo cách tiếp cận người dùng.
DEADLOCK VÀ THUẬT TOÁN PDOA
Deadlock là tình trạng xảy ra 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 trường hợp này, một quy 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 đang hoạt động của một tiến trình cho thấy tất cả các tài nguyên và dữ liệu cần thiết đã được phân bổ, cho phép tiến trình đó 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 thi vì đang 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à vấn đề thường gặp trong môi trường đa chương, tính toán song song 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 để phân chia 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 deadlock, và khi tình trạng này xảy ra, các hệ điều hành sẽ phản ứng khác nhau mà không có sự nhất quán.
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, cho phép người dùng truy cập thông qua mạng 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 một số tài nguyên và đang chờ thêm tài nguyên từ các công việc khác, trong khi các công việc đó cũng đang chờ tài nguyên từ công việc này Kết quả là, không có công việc nào trong hệ thống có thể tiếp tục thực hiện.
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 các quá trình theo một trật tự nhất định mà không xảy ra deadlock Điều này có nghĩa là tồn tại ít nhất một thứ tự an toàn cho các quá trình Thứ tự an toàn của các quá trình trong một trạng thái cấp phát nhất định đảm bảo rằng yêu cầu tài nguyên của mỗi quá trình Pi có thể được thỏa mãn bởi tài nguyên hiện có và tài nguyên được phóng thích từ các quá trình Pj (với j