GIỚI THIỆU VỀ ẢO HÓA CHỨC NĂNG MẠNG VÀ HỌC TĂNG CƯỜNG SÂU
Giới thiệu về ảo hóa chức năng mạng
1.1.1 Khái niệm Ảo hóa chức năng mạng (Network Functions Virtualization – NFV) là kiểu kiến trúc mạng dựa trên sự phát triển của công nghệ ảo hóa hệ thống thông tin, phục vụ cho việc ảo hóa toàn bộ các lớp chức năng mạng thành các khối hoặc chuỗi có thể kết nối với nhau nhằm tạo lập và cung cấp các dịch vụ truyền thông. NFV dựa trên các kỹ thuật ảo hóa máy chủ truyền thống thường được sử dụng trong hệ thống thông tin doanh nghiệp Một chức năng mạng được ảo hóa (Virtualized Network Function – VNF) được cài đặt trong một hoặc nhiều máy ảo hoặc container chạy nhiều phần mềm và tiến trình khác nhau Các máy ảo hoặc container này được chạy trên các máy chủ khối lượng lớn, bộ chuyển mạch (switches) và thiết bị lưu trữ trên hạ tầng đám mây Điều này làm giảm sự phụ thuộc vào phần cứng chuyên dụng đến từ nhà cung cấp.
Hình 1.1 Tầm nhìn cho ảo hóa chức năng mạng [1]
Các chức năng mạng được ảo hóa có thể kể đến như bộ cân bằng tải, tường lửa, thiết bị phát hiện xâm nhập hoặc bộ tăng tốc WAN minh họa trong hình 1.1. Việc tách chức năng mạng khỏi phần cứng tạo ra một kiến trúc mạng linh hoạt cho phép quản lý mạng một cách linh hoạt, triển khai mạng mới nhanh chóng với mức giảm đáng kể về chi phí vốn (Capital Expenditure - CAPEX) cũng như chi phí vận hành (Operating Expenditure – OPEX).
Trong phần này, tác giả sẽ nêu khái quát các mục tiêu mà NFV hướng tới cũng như những thuận lợi và khó khăn khi triển khai kiến trúc này Cuối cùng, tác giả sẽ đưa ra một vài trường hợp sử dụng của NFV trong các lĩnh vực cụ thể.
Tổng quan về các mục tiêu của NFV
Về mục tiêu của NFV, sẽ có những nội dung như sau:
• Cải thiện hiệu quả sử dụng vốn so với việc triển khai phần cứng chuyên dụng Điều này đạt được bởi việc sử dụng phần cứng cho thuê thương mại (Commercial-off-the-shelf – COTS) như máy chủ có mục đích chung cũng như thiết bị lưu trữ, phục vụ cho việc cung cấp chức năng mạng (Network Functions – NFs) thông qua kỹ thuật ảo hóa phần mềm Những chức năng mạng này được gọi là các chức năng mạng được ảo hóa (Virtualized Network Functions – VNFs) Việc chia sẻ phần cứng và giảm số lượng phần cứng trong mạng cũng góp phần đạt được mục tiêu này.
• Cải thiện tính linh hoạt trong việc gán các VNF cho phần cứng Điều này hỗ trợ khả năng mở rộng và phân tách chức năng mạng, cho phép cài đặt phần mềm tại những địa điểm thích hợp nhất, ví dụ như tại cơ sở của khách hàng, tại các văn phòng trung tâm, trung tâm dữ liệu, … Điều này hỗ trợ cho việc thử nghiệm các phiên bản alpha/beta cho tới sản phẩm cuối cùng, tăng cường khả năng phục hồi thông qua ảo hóa và tạo điều kiện chia sẻ tài nguyên.
• Đổi mới dịch vụ một cách nhanh chóng thông qua việc triển khai dịch vụ dựa trên phần mềm.
• Cải thiện hiệu quả hoạt động nhờ các quy trình vận hành tự động hóa.
• Giảm mức sử dụng điện năng nhờ việc dịch chuyển tải lượng (workload) và ngắt nguồn các thiết bị phần cứng không sử dụng.
• Chuẩn hóa và tạo các giao diện giữa các VNF, cơ sở hạ tầng mạng cũng như các thực thể quản lý liên quan, nhờ vậy mà các thiết bị từ các nhà cung cấp khác nhau có thể liên kết và hoạt động trao đổi thông tin.
Việc ứng dụng ảo hóa chức năng mạng đem lại nhiều lợi ích cho các nhà khai thác mạng, góp phần thay đổi mạnh mẽ toàn cảnh ngành viễn thông:
• Giảm chi phí thiết bị và giảm tiêu thụ điện năng thông qua việc hợp nhất thiết bị và khai thác tính kinh tế theo quy mô ngành công nghiệp công nghệ thông tin.
• Tăng tốc độ thương mại hóa bằng cách giảm chu kỳ đổi mới của nhà khai thác mạng Quy mô kinh tế cần thiết cho các khoản đầu tư dành cho chức năng mạng phụ thuộc phần cứng không còn áp dụng cho các chức năng mạng phát triển dựa trên phần mềm, tạo điều kiện cho phương thức phát triển tính năng mới trở nên nhanh hơn Điều này giúp cho các nhà khai thác mạng giảm đáng kể chu kỳ phát triển của chức năng mạng.
• Cho phép việc chạy sản phẩm chính thức, thử nghiệm và tham chiếu trên cùng một cơ sở hạ tầng Qua đó giúp cho việc kiểm tra và tích hợp hiệu quả hơn, giảm chi phí phát triển và thời gian ra mắt thị trường.
• Mang tới những dịch vụ nhắm tới các mục tiêu dựa trên vị trí địa lý và tập khách hàng cụ thể Dịch vụ có thể nhanh chóng mở rộng cũng như thu hẹp tùy theo nhu cầu Thêm nữa, tốc độ dịch vụ được cải thiện bởi khả năng cung cấp từ xa trong phần mềm mà không cần phải cài đặt thủ công trên phần cứng.
• Tạo điều kiện cho nhiều hệ sinh thái đa dạng và khuyến khích sự mở rộng. Điều này mở cửa thị trường thiết bị ảo cho những nhà phát triển phần mềm thuần túy cũng như giới học thuật; khuyến khích đổi mới để mang lại các dịch vụ mới và dòng doanh thu mới một cách nhanh chóng với rủi ro thấp.
• Tối ưu hóa cấu hình mạng hoặc mô hình mạng gần thời gian thực dựa trên lưu lượng truy cập thực tế, mô hình di động/dữ liệu và nhu cầu dịch vụ Ví dụ, việc tối ưu hóa vị trí và phân bổ tài nguyên cho các chức năng mạng một cách tự động gần thời gian thực cung cấp khả năng bảo vệ hệ thống khỏi những hỏng hóc không có khả năng phục hồi đầy đủ.
• Hỗ trợ hình thức nhiều khách thuê (multi-tenancy) bằng cách cho phép nhà khai thác mạng cung cấp các dịch vụ phù hợp và kết nối nhiều người dùng, nhiều ứng dụng, hệ thống nội bộ hoặc mạng khác Tất cả cùng tồn tại trên một phần cứng với sự phân tách an toàn thích hợp cho việc quản trị.
• Giảm mức tiêu thụ năng lượng bằng cách khai thác các tính năng quản lý năng lượng trong các máy chủ tiêu chuẩn và thiết bị lưu trữ, cũng như củng cố tải lượng và tối ưu vị trí Ví dụ, dựa vào kỹ thuật ảo hóa, ta có thể tập trung tải lượng vào một số ít lượng máy chủ trong giờ thấp điểm như nửa đêm, nhờ vậy mà các máy chủ còn lại có thể tắt đi hoặc đưa vào chế độ tiết kiệm năng lượng.
Giới thiệu về học tăng cường sâu
Trong phần này, tác giả sẽ giới thiệu về ý tưởng chính của học tăng cường, cách mô hình hóa một bài toán ra quyết định trong thực tế theo phương pháp học tăng cường Tiếp đó, chúng ta sẽ đi vào tìm hiểu ba loại hàm mà các tác nhân học tăng cường sẽ sử dụng để học (chính sách, giá trị, mô hình) tương ứng với các họ thuật toán học tăng cường Sau đó, tác giả khái quát về học sâu, hay cụ thể là kỹ thuật xấp xỉ hàm để ứng dụng trong học tăng cường Cuối cùng sẽ là phần tóm tắt lịch sử phát triển của học tăng cường nói chung và học tăng cường sâu nói riêng từ thuở sơ khai cho tới hiện tại.
1.2.1 Giới thiệu về học tăng cường
Trong phần này, tác giả sẽ nêu khái quát về học tăng cường cũng như phương pháp mô hình hóa sử dụng trong học tăng cường.
Học tăng cường nghiên cứu cách thức một tác nhân (agent) ở trong một môi trường (environment) nên chọn thực hiện các hành động (action) nào để tối đa hóa một khoản thưởng (reward) nào đó về lâu dài Tác nhân không biết trước hành động nào cần thực hiện, thay vào đó phải khám phá hành động nào mang lại nhiều phần thưởng nhất bằng cách thử chúng Trong một số tình huống nhất định, các hành động không những ảnh hưởng đến phần thưởng trước mắt mà còn ảnh hưởng đến tình huống và tất cả các phần thưởng tiếp theo Tìm kiếm thử và sai cùng phần thưởng bị trì hoãn là hai đặc điểm quan trọng nhất của học tăng cường [3].
Vấn đề cần giải quyết trong học tăng cường được mô hình hóa bằng cách sử dụng các ý tưởng từ lý thuyết hệ thống động lực học, cụ thể là việc kiểm soát tối ưu các quá trình quyết định Markov chưa được biết đến đầy đủ Ý tưởng cơ bản là nắm bắt các khía cạnh quan trọng nhất của vấn đề thực sự mà một tác nhân đang tương tác với môi trường theo thời gian để đạt được mục tiêu Tác nhân phải có khả năng cảm nhận trạng thái của môi trường ở một mức độ nào đó và phải có khả năng thực hiện các hành động ảnh hưởng đến trạng thái đó Tác nhân sẽ có một mục tiêu hoặc các mục tiêu liên quan đến trạng thái của môi trường Tiến trình quyết định Markov bao gồm ba khía cạnh: cảm giác, hành động và mục tiêu dưới dạng đơn giản nhất có thể Bất kỳ phương pháp nào phù hợp để giải quyết những vấn đề như vậy đều coi là phương pháp học tăng cường.
Một trong những thách thức nảy sinh trong học tăng cường, là sự đánh đổi giữa khám phá và khai thác Để nhận được nhiều phần thưởng, một tác nhân học tăng cường phải thích những hành động mà nó đã thử trong quá khứ và thấy có hiệu quả trong việc tạo ra phần thưởng Nhưng để phát hiện ra các hành động như vậy, tác nhân phải thử các hành động mà nó chưa chọn trước đó Tác nhân phải khai thác những gì đã trải qua để nhận được phần thưởng, nhưng cũng phải khám phá để đưa ra lựa chọn hành động tốt hơn trong tương lai Vấn đề là không thể chỉ theo đuổi việc khám phá hay khai thác vì có thể dẫn tới thất bại trong nhiệm vụ Tác nhân phải thử nhiều hành động khác nhau và dần dần ưu tiên những hành động có vẻ tốt nhất Đối với một nhiệm vụ ngẫu nhiên, mỗi hành động phải được thử nhiều lần để có được một ước tính đáng tin cậy về phần thưởng kỳ vọng Vấn đề về khám phá và khai thác đã được các nhà toán học nghiên cứu kỹ lưỡng trong nhiều thập kỷ, nhưng vẫn chưa được giải quyết.
Một đặc điểm chính khác của học tăng cường là xem xét rõ ràng toàn bộ vấn đề của tác nhân hướng đến mục tiêu tương tác với một môi trường không chắc chắn. Điều này khác với các cách tiếp cận xem xét các bài toán con mà không giải quyết chúng Ví dụ: Nhiều nhà nghiên cứu học máy đã nghiên cứu phương pháp học có giám sát mà không chỉ rõ khả năng đó rốt cuộc sẽ hữu ích như thế nào Các nhà nghiên cứu khác đã phát triển lý thuyết về lập kế hoạch với các mục tiêu chung, nhưng không xem xét vai trò của lập kế hoạch trong việc ra quyết định theo thời gian thực hoặc câu hỏi về nguồn gốc của các mô hình dự báo cần thiết cho việc lập kế hoạch Mặc dù những cách tiếp cận này đã mang lại nhiều kết quả hữu ích, nhưng việc tập trung vào các bài toán con cô lập là một hạn chế đáng kể.
Một tác nhân hoàn chỉnh, tương tác, tìm kiếm mục tiêu không phải lúc nào cũng hoạt động giống như một sinh vật hoặc rô bốt hoàn chỉnh mà tác nhân đó có thể là một thành phần của một hệ thống lớn hơn Trong trường hợp này, tác nhân tương tác trực tiếp với phần còn lại của hệ thống lớn hơn và tương tác gián tiếp với môi trường của hệ thống lớn hơn Ví dụ đơn giản là một tác nhân giám sát mức sạc pin của rô bốt và gửi lệnh tới kiến trúc điều khiển của rô bốt Môi trường của tác nhân này là phần còn lại của rô bốt cùng với môi trường của rô bốt Điều quan trọng là phải nhìn ra ngoài các ví dụ rõ ràng nhất về các tác nhân và môi trường để đánh giá cao tính tổng quát của khuôn khổ học tăng cường.
Một trong những khía cạnh thú vị nhất của ngành học tăng cường hiện đại là sự tương tác thực chất và hiệu quả của nó so với các ngành kỹ thuật và khoa học khác. Học tăng cường là một phần của xu hướng kéo dài hàng thập kỷ trong trí tuệ nhân tạo và máy học hướng tới tích hợp nhiều hơn với thống kê, tối ưu hóa và các môn toán học khác Ví dụ, một số phương pháp học tăng cường học với xấp xỉ tham số nhằm giải quyết “lời nguyền về chiều” cổ điển trong nghiên cứu động lực học và lý thuyết điều khiển Đặc biệt hơn, ngành học tăng cường cũng tương tác mạnh mẽ với tâm lý học và khoa học thần kinh, với những lợi ích đáng kể theo cả hai cách Trong tất cả các hình thức học máy, học tăng cường là hình thức học gần nhất với hình thức học mà con người và các loài động vật khác thực hiện, và nhiều thuật toán cốt lõi của học tăng cường ban đầu được lấy cảm hứng từ các hệ thống sinh học Học tăng cường đã mang lại hiệu quả, cả thông qua mô hình tâm lý học của động vật phù hợp hơn với một số dữ liệu thực nghiệm và thông qua mô hình có ảnh hưởng từ các bộ phận trong hệ thống phần thưởng của não bộ.
Cuối cùng, học tăng cường cũng là một phần của xu hướng sử dụng các nguyên tắc chung đơn giản trong trí tuệ nhân tạo Kể từ cuối những năm 1960, nhiều nhà nghiên cứu trí tuệ nhân tạo cho rằng không có nguyên tắc chung nào được phát hiện, thay vào đó, trí thông minh là do sở hữu một số lượng lớn các thủ thuật, quy trình và phương pháp kinh nghiệm có mục đích đặc biệt Đôi khi người ta nói rằng nếu chúng ta đưa đủ dữ kiện liên quan vào một chiếc máy, chẳng hạn như một triệu hoặc một tỷ, thì nó sẽ trở nên thông minh Các phương pháp dựa trên các nguyên tắc chung, chẳng hạn như tìm kiếm hoặc học tập, được coi là “phương pháp yếu”, trong khi những phương pháp dựa trên kiến thức cụ thể được gọi là “phương pháp mạnh”. Trí tuệ nhân tạo ngày nay bao gồm nhiều nghiên cứu nhằm tìm kiếm các nguyên tắc chung về học tập, tìm kiếm và ra quyết định.
1.2.2 Phân loại các thuật toán
Xét về phương pháp, có ba nhóm chính của các thuật toán học tăng cường sâu: các phương pháp dựa trên chính sách (policy-based), dựa trên giá trị (value-based) và dựa trên mô hình (model-based) để tìm hiểu các chính sách, hàm giá trị và mô hình tương ứng [3] Ngoài ra còn có các phương pháp kết hợp mà trong đó các tác nhân học nhiều hơn một trong các hàm - ví dụ, một chính sách và một hàm giá trị,hoặc một hàm giá trị và một mô hình Hình 1.5 cung cấp một cái nhìn tổng quan về các thuật toán học tăng cường sâu chính phân loại theo phương pháp học.
Hình 1.5 Họ các thuật toán học tăng cường sâu [3]
Các thuật toán dựa trên chính sách
Các thuật toán trong họ này học sẽ một chính sách Các chính sách được đánh giá tốt phải tạo ra các hành động có quỹ đạo nhằm tối ưu hóa mục tiêu của tác nhân, ( ) = ~ [∑ =0 ] Cách tiếp cận này khá trực quan: “Nếu một tác nhân cần hành động trong một môi trường, thì việc tìm hiểu một chính sách là điều cần thiết” Một hành động tốt tại một thời điểm nhất định phụ thuộc vào trạng thái, do đó, hàm chính sách lấy một trạng thái làm đầu vào để tạo ra một hành động ∼ ( ) Điều này có nghĩa là một tác nhân có thể đưa ra quyết định tốt trong các bối cảnh khác nhau REINFORCE [4] là thuật toán dựa trên chính sách nổi tiếng nhất, tạo nên nền tảng của các thuật toán tiếp theo. Ưu điểm chính của các thuật toán dựa trên chính sách là chúng có cùng tư tưởng với các phương pháp tối ưu hóa Các thuật toán này có thể được áp dụng cho các vấn đề với bất kỳ loại hành động nào: rời rạc, liên tục hoặc hỗn hợp Ngoài ra các thuật toán này cũng trực tiếp tối ưu hóa điều mà một tác nhân quan tâm nhất là mục tiêu ( ) Ngoài ra, họ phương pháp này được đảm bảo hội tụ với một chính sách tối ưu cục bộ, như đã được chứng minh bởi Sutton cùng các cộng sự với định lý gradient chính sách (Policy Gradient Theorem) [5] Nhược điểm của các phương pháp này là chúng có phương sai lớn và không hiệu quả về mẫu.
Các thuật toán dựa trên giá trị
Các thuật toán thuộc họ này, tác nhân sẽ học ( ) hoặc ( , ) Tác nhân sử dụng hàm giá trị đã học để đánh giá các cặp ( , ) và tạo ra một chính sách Ví dụ: chính sách của tác nhân có thể là luôn chọn hành động ở trạng thái với ước tính ( , ) cao nhất Học ( , ) phổ biến hơn nhiều so với ( ) vì nó
15 dễ dàng chuyển đổi thành chính sách hơn Điều này là do ( , ) chứa thông tin về các trạng thái và hành động được ghép cặp trong khi ( ) chỉ chứa thông tin về các trạng thái.
SARSA [6] là một trong những thuật toán học tăng cường cũ Mặc dù tính đơn giản của nó, nhưng SARSA kết hợp nhiều ý tưởng cốt lõi của các phương pháp dựa trên giá trị, vì vậy nó là một thuật toán tốt để nghiên cứu đầu tiên trong họ này Tuy nhiên, ngày nay nó không được sử dụng phổ biến do phương sai lớn và không hiệu quả về mẫu trong quá trình huấn luyện Deep Q-Network (DQN)
[7] và các thuật toán con của nó, chẳng hạn như Double DQN [8] là các thuật toán phổ biến và hiệu quả hơn.
Các thuật toán dựa trên giá trị thường tiết kiệm mẫu hơn các thuật toán dựa trên chính sách Điều này là do chúng có phương sai thấp hơn và sử dụng tốt hơn dữ liệu thu thập từ môi trường Tuy nhiên, không có gì đảm bảo rằng các thuật toán này sẽ hội tụ ở mức tối ưu Trong công thức tiêu chuẩn, các thuật toán này chỉ có thể áp dụng cho các môi trường có không gian hành động rời rạc Đây là một hạn chế lớn, nhưng với những tiến bộ gần đây hơn, chẳng hạn như QT-OPT
[9], chúng có thể được áp dụng hiệu quả cho các môi trường có không gian hành động liên tục.
Các thuật toán dựa trên mô hình
Các thuật toán trong họ này có thể học một mô hình động lực chuyển đổi của môi trường hoặc sử dụng một mô hình động lực học đã biết Một khi tác nhân có một mô hình của môi trường là ( ′ | , ), nó có thể “tưởng tượng” điều gì sẽ xảy ra trong tương lai bằng cách dự đoán quỹ đạo trong một vài bước thời gian Nếu môi trường ở trạng thái , tác nhân có thể ước tính trạng thái sẽ thay đổi như thế nào nếu nó thực hiện một chuỗi hành động 1 , 2 , … , bằng cách áp dụng liên tục (
Kết luận chương 1
Trong chương một, tác giả đã trình bày về công nghệ ảo hóa chức năng mạng, những thuận lợi và khó khăn trong quá trình triển khai, mô hình dịch vụ trong NFV cũng như những ứng dụng trong ngành viễn thông ngày nay Chương này cũng trình bày khái niệm phương pháp học tăng cường sâu, phân loại các thuật toán, nêu lên vai trò của mạng nơ-ron trong học tăng cường Ngoài ra, cuối phần 1.2, tác giả cũng tóm tắt lịch sử phát triển của học tăng cường từ những lý thuyết sơ khai cho đến những ứng dụng thực tế trong cuộc sống hiện nay Đây là những cơ sở lý thuyết quan trọng cho chương sau.
BÀI TOÁN ĐIỀU KHIỂN LƯU LƯỢNG TRONG ẢO HÓA CHỨC NĂNG MẠNG
Giới thiệu bài toán điều khiển lưu lượng trong NFV
Trong phần này, tác giả sẽ nên lên vấn đề điều khiển lưu lượng trong Ảo hóa chức năng mạng và khảo sát các nghiên cứu liên quan.
Vấn đề cung cấp và điều phối dịch vụ trong các mạng được ảo hóa có các nút mạng được phân bố theo địa lý và mô hình mạng (topology) là một thách thức đang hiện hữu Trong điện toán biên và điện toán sương mù, vấn đề này càng trở nên nan giải hơn bởi khả năng tính toán hạn chế cũng như trễ liên kết giữa các nút Mặt khác, các luồng yêu cầu dịch vụ đến trên toàn mạng và thay đổi theo thời gian Với mô hình dịch vụ trên NFV, dịch vụ có thể bao gồm nhiều chức năng mạng được kết nối với nhau Các thành phần này xử lý các luồng yêu cầu đến theo một thứ tự nhất định Điển hình là các chuỗi chức năng dịch vụ trong NFV Mỗi thành phần có thể chạy ở bất kỳ nút nào trong mạng và mở rộng một cách linh hoạt theo yêu cầu hiện tại Điều phối lưu lượng dịch vụ trực tuyến yêu cầu đưa ra quyết định mở rộng như thế nào, khởi tạo từng thành phần dịch vụ ở đâu, cũng như lập lịch phục vụ các luồng yêu cầu được phục vụ ở những nút nào.
Theo tìm hiểu của tác giả, những nghiên cứu chuyên sâu về điều phối lưu lượng dịch vụ sẽ có những hạn chế như sau:
1 Những nghiên cứu liên quan tập trung vào việc lên kế hoạch dài hạn hoặc trung bình cho việc mở rộng và cài đặt các thành phần dịch vụ dựa vào yêu cầu triển khai dịch vụ Khi làm như vậy, các chuỗi dịch vụ sẽ được cài đặt cố định trong mạng để xử lý các luồng yêu cầu đến Tuy nhiên trên thực tế hoạt động thường khác so với kế hoạch ban đầu Ví dụ, nhu cầu dịch vụ thực tế của người dùng có thể khác với tải dự kiến Vì vậy việc mở rộng, cài đặt và lập lịch luồng yêu cầu nên được thay đổi linh động và trực tuyến để phù hợp với nhu cầu dịch vụ thực tế.
2 Thông thường, những phương pháp tiếp cận đã có sử dụng thuật toán heuristic hoặc lời giải số học và dựa trên các mô hình được thiết kế cẩn thận phù hợp với các tình huống cụ thể Nếu áp dụng cách này cho các tình huống sai khác so với giả định hoặc mục tiêu tối ưu hóa mới (ví dụ: QoS) có thể cần các điều chỉnh thủ công gây tốn nhiều thời gian và đòi hỏi nhiều kiến thức chuyên môn.
3 Những mô hình này chủ yếu dựa trên những thông tin không có sẵn trong thực tế, chẳng hạn như kiến thức đầy đủ về lưu lượng Trong thực tế, kiến thức đầy đủ về tải và lưu lượng đến hiện tại không có sẵn ngay lập tức mà chỉ có được sau quá trình giám sát định kỳ (ví dụ mặc định là một phút trong Prometheus) Trong khoảng thời gian giám sát như vậy, nhiều luồng yêu cầu đến có thể tới ngẫu nhiên tại các nút đầu vào dịch vụ khác nhau và cần được lập lịch và xử lý bởi các thành phần dịch vụ ngay cả trước khi thông tin của luồng này được phổ biến trong mạng. Để giải quyết những vấn đề này, tác giả đề xuất mô hình cung cấp và điều phối lưu lượng dịch vụ tự động sử dụng học tăng cường sâu (DRL) Tác giả sẽ huấn luyện tác nhân DRL ngoại tuyến Tác nhân DRL sẽ học thông qua việc tương tác với môi trường mạng, sử dụng các hành động và kinh nghiệm trước đây của tác nhân để làm phản hồi Tác nhân sau khi đã được huấn luyện tiếp đó sẽ được sử dụng cho khả năng tự chủ điều phối lưu lượng dịch vụ mà không cần đến kiến thức chuyên gia. Tác nhân sẽ quyết định và điều chỉnh định kỳ các quy tắc cho việc lập lịch luồng yêu cầu, mở rộng và cài đặt dịch vụ sao cho phù hợp, linh hoạt theo hướng trực tuyến, tập trung Bằng cách này, hệ thống sẽ không cần biết trước lưu lượng truy cập hoặc hiểu biết đầy đủ về mô hình mạng Thay vào đó, tác nhân sẽ dựa vào thông tin giám sát có sẵn nhưng không liên tục, và chỉ chứa thông tin tổng hợp Tác nhân đã được huấn luyện có thể xử lý được lưu lượng truy cập ngẫu nhiên với khối lượng tải lớn; tối ưu QoS; mở rộng với quy mô, mô hình mạng lớn hơn mà chỉ đưa ra quyết định trong mili giây Các quyết định này không được thực hiện một cách riêng lẻ cho từng luồng yêu cầu mà bằng cách xác định và cập nhật quy tắc điều khiển luồng cho từng nút trong mạng Những quy tắc này được sử dụng cục bộ tại từng nút để ra quyết định sẽ xử lý từng luồng yêu cầu đến.
Trong khuôn khổ luận văn này, những điểm chính mà tác giả đã thực hiện được bao gồm:
• Tác giả đưa ra bài toán cung cấp và điều phối lưu lượng dịch vụ trực tuyến thông dựa trên những thông tin giám sát có sẵn.
• Bài toán được mô hình hóa dưới dạng tiến trình quyết định Markov quan sát một phần và được giải quyết theo mô hình DRL tự học.
• Giải pháp sử dụng mô hình DRL mà tác giả đưa ra đạt hiệu quả tốt hơn so với thuật toán xấp xỉ luyện kim về tỷ lệ chấp nhận yêu cầu trên các mô hình mạng thực tế Mô hình thuật toán cũng thể hiện tốt trong trường hợp tối ưu hóa nhiều mục tiêu, mở rộng ra cho các mạng có quy mô thực tế trong khi chỉ dựa vào những thông tin giám sát sẵn có.
2.1.2 Các nghiên cứu liên quan
Về bài toán mở rộng và cài đặt các dịch vụ, những nghiên cứu liên quan thường diễn ra trong ngữ cảnh trong điện toán đám mây, điện toán biên [93] [94] hoặc trong NFV [95] thông qua phương pháp tối ưu hóa nhưng chưa áp dụng học tăng cường sâu Ví dụ, nhiều nhà nghiên cứu đưa ra các giải pháp cài đặt dịch vụ một cách ngoại tuyến với giả định đã biết trước đầy đủ kiến thức về lưu lượng truy cập
[96] [97] [98] [99] Một số nghiên cứu khác xem xét việc cài đặt và mở rộng các dịch vụ một cách trực tuyến nhưng bỏ qua việc lập lịch thời gian chạy của các luồng [100] [101] Blocher và các cộng sự thực hiện việc lập lịch các luồng yêu cầu trong thời gian chạy một cách linh hoạt nhưng trong trường hợp giả định các dịch vụ được cài đặt cố định [102] Trong khuôn khổ luận văn này, mô hình thuật toán sẽ cho phép khả năng mở rộng, cài đặt dịch vụ cũng lập lịch các luồng yêu cầu đến một cách trực tuyến Việc kết hợp các quyết định như vậy là điều cần thiết để cân bằng sự đánh đổi [103] [104].
Trong những năm gần đây, nhiều tác giả đã sử dụng học máy cho việc dự đoán lưu lượng [105] và điều phối dịch vụ chủ động [106] [107] Đây là những nghiên cứu tiềm năng, hoàn toàn có thể kểt hợp cùng DRL trong các nghiên cứu trong tương lai.
Gần đây, đã có những đề xuất về phương pháp tiếp cận DRL liên quan đến chủ đề nghiên cứu của tác giả Nhiều nhà nghiên cứu giải quyết bài toán cài đặt dịch vụ một cách trực tuyến dưới những sự thay đổi về tải, một số khác thì xem xét thông qua lưu lượng truy cập ngẫu nhiên [108] [109] [110] [111] hoặc QoS [110] Liên quan đến phương pháp tiếp cận của tác giả [108], Pei cùng các cộng sự đã dựa vào một bản sao mô phỏng của mạng để nhanh chóng kiểm tra, đánh giá và hoàn tác lại các hành động khác nhau để cuối cùng chọn ra giải pháp tốt nhất trong mỗi bước thời gian Thêm nữa, quyết định điều phối cuối cùng được đưa ra bởi một thuật toán Heuristic riêng biệt Wang cùng các cộng sự thì giả định đã biết trước lưu lượng cho mỗi bước thời gian và lập lịch các luồng yêu cầu bình đẳng giữa các trường hợp, điều này có thể dẫn đến độ trễ đầu cuối ở mức cao nhất và chất lượng dịch vụ kém. Trái ngược với đề xuất của tác giả, Xiao cùng các cộng sự [110] hay Quang cùng các cộng sự [111] xử lý các luồng yêu cầu đến một cách tuần tự, đưa ra quyết định độc lập trên từng luồng cũng như các thành phần dịch vụ Để giải quyết những vị trí cài đặt không khả thi hoặc dưới mức tối ưu, các nhà nghiên cứu này hoàn tác các quyết định trước đó [110] hoặc áp dụng một thuật toán heuristic riêng nhằm sửa giải pháp mà tác nhân DRL đề xuất [111] Việc đưa ra quyết định cho từng luồng như vậy sẽ gây ra chi phí lớn tới bài toán của tác giả, khi mà tác giả xem xét trường hợp các luồng yêu cầu đến rất nhanh và các trạng thái của mạng được tổng hợp theo từng chu kỳ và chỉ quan sát được một phần.
Thay vì đưa ra quyết định xử lý từng luồng, và giống như cách mà tác giả lập lịch các luồng yêu cầu đến, Xu cùng các cộng sự chỉ định các phần khác nhau của lưu lượng truy cập thông qua các con đường khác nhau Tuy nhiên, họ chỉ tập trung vào kỹ thuật lưu lượng mà không quan tâm tới việc mở rộng và định vị cài đặt các dịch vụ Một số nhà khoa học khác tiếp tục giả định có trước kiến thức về lưu lượng trước mỗi bước thời gian và hỗ trợ tác nhân DRL của họ với một thuật toán heuristic Nasir và Guo [112] xem xét các quan sát một phần và ảnh hưởng bởi trễ nhưng tập trung vào việc phân bổ năng lượng trong mạng không dây.
Một nghiên cứu của Gu cùng các cộng sự [113] cũng có liên quan đến chủ đề của tác giả Họ xem xét việc điều phối dịch vụ thông qua lập lịch luồng yêu cầu, dựa trên DDPG [14] và tối ưu một tiện ích mạng chung Có ba điểm khác biệt sau:
1) Gu cùng các cộng sự tập trung vào giá thành tính toán, trong khi tác giả tập trung vào khả năng tính toán và xem xét trễ đường truyền nhằm tối ưu QoS 2)
Họ giả định rằng đã biết trước lưu lượng tại mỗi bước thời gian 3) Họ hỗ trợ tác nhân DRL với một thuật toán heuristic tùy biến nhằm lựa chọn hành động và khám phá Kết quả của họ cho thấy rằng việc sử dụng quá nhiều hoặc quá ít sự hỗ trợ của heuristic cũng dẫn tới một hiệu suất thấp.
Nhìn chung, theo quan điểm của tác giả, nghiên cứu này là đầu tiên về điều phối lưu lượng dịch vụ một cách trực tuyến trong kịch bản thực tế với các luồng yêu cầu đến rất nhanh, các trạng thái mạng chỉ quan sát được một phần Cách tiếp cận theo hướng DRL không mô hình (model-free) cũng như không có sự hỗ trợ từ heuristic làm cho giải pháp linh hoạt và xảy ra ít lỗi hơn.
Mô hình hóa bài toán
Trong phần tiếp theo, tác giả sẽ mô hình hóa bài toán dưới dạng một bài toán tối ưu Bài toán trong khuôn khổ luận văn là vấn đề điều phối lưu lượng dịch vụ một cách trực tuyến trong một mạng có các nút phân bố theo vị trí địa lý, các luồng yêu cầu của người dùng đến mạng nhanh, liên tục.
2.2.1 Mô hình hóa đầu vào
Ta có một đồ thị mạng = ( , ) Tác giả giả định sẽ không chia mạng thành các cấp như sương mù/biên/đám mây mà quá trình điều phối lưu lượng dịch vụ sẽ diễn ra một cách bình đẳng trong mạng.
Trên mỗi nút, tác giả xem xét một tài nguyên tính toán chung duy nhất là CPU, với khả năng tính toán của nút ký hiệu là Tập khả năng tính toán của các nút ký hiệu = { | [1, ], ℝ + }.
Với mỗi cạnh kết nối giữa hai nút , ký hiệu = ( , ), tác giả ký hiệu là trễ kết nối phụ thuộc vào khoảng cách giữa hai nút Tập trễ kết nối giữa các nút ký hiệu là = { | [1, ], ℝ + }.
Lưu lượng tới mạng sẽ được chia thành các luồng yêu cầu tại các nút đầu vào dịch vụ (ingress node) trong mạng Tập các luồng yêu cầu đến mạng được ký hiệu là:
= { 1 , 2 , 3 , … }, | | = ( ồ ) Mỗi luồng sẽ bao gồm các thuộc tính:
• là dịch vụ mà luồng yêu cầu
• là thành phần dịch vụ mà luồng đang yêu cầu
• là nút đầu vào dịch vụ mà luồng đến
• là mốc thời gian mà luồng đến với mạng
• là tốc độ dữ liệu đến của luồng
• là thời gian tồn tại của luồng
• là thời gian trễ tối đa cho luồng duyệt và được phục vụ qua tất cả các thành phần dịch vụ.
Trong mạng có thể chứa các dịch vụ khác nhau với = { 1 , … }, | | = ( ị ℎ ụ) Mỗi dịch vụ bao gồm chuỗi các thành phần được đại diện bởi vectơ =
< 1 , 2 , … , > với , [1, ] là một thành phần của dịch vụ Mỗi thành phần này có thể được khởi tạo và cài đặt ở các nút khác nhau, nơi mà các luồng yêu cầu được xử lý một cách độc lập với nhau Tập = { | [1, ℎ]} bao gồm tất cả các thành phần có sẵn của tất cả các dịch vụ Sau khi luồng được chuyển tiếp và đã được xử lý tại một đối tượng của thành phần = đang được yêu cầu, luồng sẽ tiếp tục được chuyển tiếp tới thành phần tiếp theo = +1 Sau khi đã được xử lý xong tại thành phần cuối cùng của chuỗi dịch vụ, = chỉ ra một luồng đã được phục vụ thành công Việc xử lý một luồng tại một đối tượng (instance) của thành phần xảy ra trong một khoảng thời gian trễ xử lý Để xử một luồng , mỗi đối tượng của thành phần yêu cầu một lượng tài nguyên
( ) phụ thuộc vào tốc độ của luồng Tác giả giả định một hàm xác định tài nguyên chức năng mạng ( ) đã biết trước hoặc có thể được học (ví dụ hàm chỉ định tài nguyên có thể có được thông qua đo đạc hoặc thông qua phương pháp học có giám sát) Một luồng bất kỳ yêu cầu dịch vụ được xem là phục vụ thành công nếu nó được xử lý qua tất cả các thành phần của với độ trễ nhỏ hơn
Ngược lại, trong quá trình xử lý luồng trong mạng vượt quá thời gian thì luồng sẽ bị từ chối một cách tự động đồng thời giải phóng tài nguyên đang chiếm dụng.
Các yếu tố đầu vào của bài toán thông thường không có đầy đủ thông tin trong quá trình đưa ra quyết định giải quyết bài toán Trong thực tế, trễ kết nối, luồng yêu cầu hoặc thuộc tính dịch vụ thường không biết trước hoặc không chắc chắn.
2.2.2 Mô hình hóa đầu ra
Xét việc cài đặt, mở rộng dịch vụ và lập lịch luồng theo thời gian Đặt ( ) là biến biểu thị vị trí cài đặt (placement) thành phần tại thời điểm ở nút
Một đối tượng của thành phần có thể được cài đặt ở một hoặc nhiều nút khác nhau hoặc thậm chí là không được cài đặt (scaling). Đặt ( ) là biến biểu diễn nút cài đặt thành phần sẽ xử lý luồng tại thời điểm t.
Giả định hệ thống giám sát thu thập và báo cáo đồng bộ các chỉ số của nút trong khoảng thời gian cố định , > 1 ( ướ ℎờ ) Dù cho nhiều luồng yêu cầu có thể đến trong khoảng thời gian , hệ thống giám sát chỉ báo cáo thông tin được tổng hợp tại thời điểm cuối cùng trong khoảng nhưng không chi tiết tới từng luồng Cụ thể, tác giả giả định rằng trạng thái mạng được giám sát bao gồm số lượng luồng yêu cầu đến, số luồng được phục vụ thành công ( ) và số luồng bị từ chối ( ); trễ đầu cuối trung bình của các luồng yêu cầu đã được phục vụ thành công là ; lượng tài nguyên sử dụng mức đỉnh tại nút là ( ) trong khoảng thời gian (từ − đến ). Điều này khác với các nghiên cứu liên quan, thường giả định có đầy đủ thông tin từng luồng hoặc thường là kiến thức biết trước trong mỗi bước thời gian riêng biệt.
2.2.3 Mô hình hóa mục tiêu tối ưu Để đánh giá hiệu quả mà tác nhân DRL mang lại cho hệ thống mạng, tác giả đưa ra hàm mục tiêu nhằm đánh giá lợi ích lâu dài qua tất cả các bước thời gian Hàm mục tiêu ký hiệu là Trong khuôn khổ luận văn, tác giả tập trung tối ưu hai mục tiêu: tỷ lệ phục vụ thành công lớn nhất và trễ đầu cuối trung bình trên các luồng được phục vụ thành công nhỏ nhất.
Với mục tiêu tối đa tỷ lệ phục vụ thành công các luồng, ta ký hiệu là:
Trong đó là số lượng các luồng yêu cầu được phục vụ thành công; là số lượng các luồng yêu cầu bị từ chối.
Với mục tiêu tối thiểu trễ đầu cuối trung bình trên các luồng được phục vụ thành công, ta có:
Trong đó là trễ trung bình đầu cuối trên mỗi luồng đã được phục vụ; là độ trễ lớn nhất trên đường truyền mạng Ở đây, giá trị sẽ hướng tới giá trị lớn nhất. Để tối ưu đồng thời được hai mục tiêu này, tác giả sử dụng hai trọng số và tương ứng với tỷ lệ phục vụ thành công và độ trễ đầu cuối trung bình.
Ta có hàm mục tiêu:
Thuật toán học tăng cường sâu để điều khiển lưu lượng trong NFV
Trong phần này, tác giả sẽ nêu khái quát về thuật toán học tăng cường sâu được sử dụng để giải quyết bài toán được phát biểu ở mục 2.2 Sau đó, tác giả đưa ra các mô tả về mô hình thuật toán sẽ được áp dụng cho bài toán điều khiển lưu lượng dịch vụ trong NFV.
Trong khuôn khổ luận văn này, tác giả sẽ sử dụng thuật toán DDPG (Deep Determinitstic Policy Gradient) cho tác nhân DRL trong việc giải quyết bài toán điều khiển lưu lượng trong ảo hóa chức năng mạng Deep Deterministic Policy Gradient (DDPG) là một thuật toán off-policy không có mô hình dành cho việc học các hành động liên tục Thuật toán này là sự kết hợp ý tưởng từ DPG (Deterministic Policy Gradient) và DQN (Deep Q-Network) Nó sử dụng tính năng phát lại trải nghiệm (experience replay) và mạng mục tiêu học chậm (slow- learning target networks) từ DQN cùng với khả năng xử lý trên không gian hành động diễn ra liên tục từ DPG [14].
Xét một thiết lập học tăng cường chuẩn bao gồm một tác nhân tương tác với một môi trường trong các bước thời gian rời rạc Tại mỗi thời điểm bước thời gian , tác nhân nhận được một quan sát , thực hiện một hành động và nhận được một giá trị phần thưởng Trong mọi môi trường được xét tới ở đây, các hành động mang giá trị là số thực ℝ Nói chung, môi trường có thể quan sát được một phần so với toàn bộ lịch sử quan sát được, cặp hành động = ( 1 , 1 , … −1 , ) có thể được yêu cầu để mô tả trạng thái Giả sử môi trường được quan sát trọn vẹn nên =
Hành vi của tác nhân được xác định bởi một chính sách , ánh xạ các trạng thái với phân phối xác xuất trên các hành động : → ( ). Môi trường có thể là ngẫu nhiên Môi trường đó được mô hình hóa thành một tiến trình quyết định Markov với tập trạng thái là , tập hành động là = ℝ , một phân phối trạng thái ban đầu ( 1 ), động lực chuyển đổi ( +1 | , ) và hàm phần thưởng ( , ).
Giá trị trả về từ một trạng thái được định nghĩa là tổng phần thưởng chiết khấu trong tương lai = ∑ = ( − ) ( , ) với một nhân tố chiết khấu [0, 1] Giá trị này phụ thuộc vào những hành động được chọn, do đó phụ thuộc vào chính sách và có thể là ngẫu nhiên Mục tiêu trong học tăng cường là tìm hiểu một chính sách nhằm tối đa hóa giá trị phần thưởng kỳ vọng từ lần phân phối ban đầu:
Hàm giá trị hành động được sử dụng ở nhiều thuật toán học tăng cường Hàm này mô tả giá trị phần thưởng kỳ vọng trả về sau khi thực hiện hành động trong trạng thái và sau đó tuân theo chính sách :
Nhiều cách tiếp cận trong học tăng cường sử dụng mối quan hệ đệ quy được gọi là phương trình Bellman:
Nếu chính sách mục tiêu là cố định, ta có thể mô tả thành một hàm : và suy biến kỳ vọ ng bên trong:
Kỳ vọng chỉ phụ thuộc vào mụi trường Điều này cú nghĩa là cú thể học à off-policy, bằng cỏch sử dụng cỏc chuyển đổi được tạo ra từ một chính sách hành vi ngẫu nhiên khác
Q-learning là một thuật toán off-policy phổ biến, sử dụng chính sách tham lam
( ) = arg ( , ) Xét xấp xỉ hàm được tham số hóa bởi , ta sẽ tối thiểu hóa hàm mấ t mát:
Trong khi cũng phụ thuộc vào , điều này thường bị bỏ qua.
Trước đây, người ta thường tránh sử dụng các bộ xấp xỉ hàm lớn, phi tuyến cho việc học các hàm giá trị hoặc hàm giá trị hành động vì không đảm bảo hiệu suất lý thuyết và quá trình học thực tế có xu hướng không ổn định Tuy nhiên gần đây, Mnih và cộng sự đã điều chỉnh thuật toán Q-learning để sử dụng hiệu quả các mạng nơ-ron lớn làm công cụ xấp xỉ hàm Thuật toán của họ có thể học cách chơi trò chơi Atari từ pixel Để mở rộng quy mô Q-learning, họ đã đưa ra hai thay đổi lớn: việc sử dụng bộ đệm phát lại và mạng mục tiêu riêng biệt để tính toán Kỹ thuật này được sử dụng trong bối cảnh thuật toán DDPG.
Thuật toán DDPG được phát triển nhằm khắc phục những hạn chế của Q- learning trong không gian hành động liên tục Trong không gian liên tục, việc tìm kiếm chính sách tham lam đòi hỏi phải tối ưu hóa tại mọi thời điểm; việc tối ưu hóa này quá chậm để áp dụng trong thực tế với các bộ xấp xỉ hàm lớn, không bị giới hạn và không gian hành động tầm thường Thay vào đó, ta sử dụng phương pháp tiếp cận tác nhân - phê bình dựa trên thuật toán DPG [114].
Thuật toán DPG duy trì một hàm tác nhân được tham số hóa ( | ) chỉ định chính sách hiện tại bằng cách ánh xạ các trạng thái xác định tới một hành động cụ thể Nhà phê bình ( , ) được học bằng cách sử dụng phương trình Bellman như trong Q-learning Tác nhân được cập nhật bằng cách tuân theo quy tắc chuỗi để đạt được phần thưởng kỳ vọng từ phân phối ban đầu đối với các tham số tác nhân:
Silver và các cộng sự đã chứng minh rằng đây là gradient chính sách, gradient hiệu suất chính sách [114].
Với Q-learning, việc sử dụng các bộ xấp xỉ hàm phi tuyến có nghĩa là sự hội tụ không còn được đảm bảo Tuy nhiên, các bộ xấp xỉ như vậy dường như rất cần thiết để tìm hiểu và tổng quát hóa trên các không gian trạng thái lớn NFQCA [115]
37 sử dụng các quy tắc cập nhật tương tự như DPG nhưng với bộ xấp xỉ hàm mạng nơ-ron, sử dụng tính năng học hàng loạt để ổn định, điều này khó xảy ra đối với các mạng lớn Phiên bản minibatch của NFQCA không đặt lại chính sách ở mỗi lần cập nhật, như được yêu cầu để mở rộng cho các mạng lớn, tương đương với DPG gốc DDPG cung cấp các sửa đổi cho DPG, lấy cảm hứng từ sự thành công của DQN, cho phép nó sử dụng các bộ xấp xỉ hàm mạng nơ-ron để học trong các không gian hành động và trạng thái lớn một cách trực tuyến.
Một thách thức khi sử dụng mạng nơ-ron để học tăng cường là hầu hết các thuật toán tối ưu hóa đều giả định rằng các mẫu được phân phối độc lập và giống hệt nhau Rõ ràng khi các mẫu được tạo ra từ việc khám phá tuần tự trong một môi trường thì giả định này không còn đúng nữa Ngoài ra, để sử dụng hiệu quả các tối ưu hóa phần cứng, học trong các minibatch cần thiết hơn so với việc học trực tuyến.
DQN sử dụng bộ đệm phát lại để giải quyết những vấn đề này Bộ đệm phát lại là một bộ đệm có kích thước hữu hạn Các chuyển đổi được lấy mẫu từ môi trường theo chính sách khám phá và bộ ( , , , +1 ) được lưu trữ trong bộ đệm phát lại Khi bộ đệm phát lại đầy, các mẫu cũ nhất sẽ bị loại bỏ Tại mỗi bước, tác nhân và nhà phê bình được cập nhật bằng cách lấy mẫu đồng nhất một minibatch từ bộ đệm Bởi vì DDPG là một thuật toán off-policy, bộ đệm phát lại có thể lớn, cho phép thuật toán được hưởng lợi từ việc học trên một tập các chuyển đổi không tương quan.
Việc trực tiếp cài đặt Q-learning với mạng nơ-ron được chứng minh là không ổn định trong nhiều môi trường Vì mạng ( , | ) đang được cập nhật cũng được sử dụng để tính toán giá trị mục tiêu (PT 2.9), nên việc cập nhật dễ dẫn tới phân kỳ Giải pháp đưa ra tương tự như mạng mục tiêu được sử dụng trong công bố của Mnih và cộng sự, 2013 [7] nhưng được sửa đổi cho tác nhân - nhà phê bình và sử dụng cập nhật mục tiêu
Thuật toán luyện kim để điều khiển lưu lượng trong NFV
Để đánh giá hiệu quả của thuật toán DRL đề xuất, tác giả sẽ so sánh giải pháp đề xuất với một thuật toán heuritic - thuật toán luyện kim Thuật toán luyện kim (Simulated Annealing - SA) là một kỹ thuật xác suất để ước tính mức tối ưu toàn cục của một hàm nhất định Cụ thể, thuật toán là một metaheuristic để tối ưu hóa toàn cục gần đúng trong một không gian tìm kiếm lớn cho một vấn đề tối ưu hóa. Thông thường thuật toán được sử dụng khi không gian tìm kiếm là rời rạc Đối với các vấn đề trong đó việc tìm một giá trị tối ưu toàn cục gần đúng quan trọng hơn việc tìm một điểm tối ưu cục bộ chính xác trong một khoảng thời gian cố định, thuật toán thích hợp hơn các thuật toán chính xác như đạo hàm riêng hoặc nhánh cận.
Thuật toán luyện kim (SA) dựa trên sự tương tự với các tinh thể lý tưởng đang ủtrong nhiệt động lực học dùng để mô phỏng chuyển động nhiệt của các phân tử tại nhiệt độ Do đó, một số thuật ngữ trong SA bắt nguồn từ nhiệt động lực học, ví dụ như "nhiệt độ " được áp dụng để đặt tên cho thông số điều khiển quan trọng Nhiệt độ được giảm một cách có hệ thống trong quy trình SA Làm mát nhanh chóng tạo ra bất thường trong cấu trúc tinh thể không đạt mức năng lượng tối thiểu Ngược lại, một sơ đồ làm mát rất chậm cung cấp các tinh thể lý tưởng với mức năng lượng tối thiểu có thể đạt được nhưng có thể yêu cầu thời gian tính toán nghiêm ngặt Sự di chuyển của các phân tử, đặc biệt ở nhiệt độ cao là hỗn loạn và do đó, ở đó là khả năng không đạt năng lượng tối thiểu cho các nhiệt độ này Trong tối ưu hóa SA, các cơ chế bắt chước điều này bằng cách cho phép chấp nhận một giải pháp tồi hơn Xác suất chấp nhận như vậy phụ thuộc vào nhiệt độ nên sẽ tiệm cận 0 đối với nhiệt độ thấp Cơ hội chấp nhận tạm thời giải pháp tồi tệ hơn là một đặc điểm quan trọng của chiến lược SA Cơ chế này cho phép thuật toán SA thoát khỏi mức tối ưu cục bộ.
Mô hình chung của thuật toán luyện kim
Trên góc độ vật lý, luyện kim diễn ra nhằm đưa năng lượng của hệ thống từ mức cao không ổn định về mức thấp ổn định hơn Dưới góc độ phương pháp tối ưu, thì thuật toán luyện kim là một thuật toán tìm kiếm giá trị năng lượng thấp nhất ứng với một trạng thái nhất định hay có thể hiểu là một thuật toán tối thiểu hóa.
Trên đây là mã giả của thuật toán SA Thuật toán khởi đầu với trạng thái 0 và tiếp tục cho đến khi tới bước Tại mỗi bước, SA xem xét một số trạng thái lân cận của trạng thái hiện tại và quyết định theo xác suất giữa việc chuyển hệ thống sang trạng thái hoặc ở trạng thái Những xác suất này đưa hệ thống chuyển sang trạng thái có năng lượng thấp hơn Thông thường, bước này được lặp lại cho đến khi hệ thống đạt đến trạng thái đủ tốt cho ứng dụng hoặc cho đến khi ngân sách tính toán nhất định đã hết.
Tối ưu hóa một giải pháp liên quan đến việc đánh giá các lân cận của một trạng thái của vấn đề, đó là các trạng thái mới được tạo ra thông qua việc thay đổi một cách thận trọng một trạng thái nhất định Phương thức xác định rõ ràng các trạng thái được thay đổi để tạo ra các trạng thái lân cận được gọi là "move", và các thay đổi khác nhau tạo ra các tập hợp các trạng thái lân cận khác nhau. Những động thái này thường dẫn đến những thay đổi tối thiểu của trạng thái cuối cùng, nhằm cố gắng cải tiến dần dần giải pháp thông qua cải tiến lặp đi lặp lại các bộ phận của nó Các heuristic đơn giản như leo đồi, thay đổi bằng cách tìm giải pháp lân cận tốt hơn sau một giải pháp lân cận tốt và dừng lại khi đã đạt được giải pháp mà không có giải pháp lân cận nào tốt hơn - kết quả của chúng thường dễ rơi vào ưu cục bộ Metaheuristics sử dụng các lân cận của một giải pháp như một cách để khám phá không gian giải pháp và mặc dù thích những giải pháp lân cận tốt hơn, nhưng cũng có thể chấp nhận những láng giềng kém hơn để tránh bị mắc kẹt trong tối ưu cục bộ; Những thuật toán này có thể tìm thấy mức tối ưu toàn cục nếu chạy trong một khoảng thời gian đủ dài.
Xác xuất chấp nhận giải pháp
Xác suất thực hiện chuyển đổi từ trạng thái hiện tại sang trạng thái ứng viên mới được chỉ định bởi một hàm xác suất chấp nhận ( , , ) phụ thuộc vào năng lượng = ( ) và = ( ) của hai trạng thái và trên một tham số thay đổi theo thời gian toàn cục được gọi là nhiệt độ Các trạng thái có năng lượng nhỏ hơn tốt hơn các trạng thái có năng lượng lớn hơn Hàm xác suất phải dương ngay cả khi lớn hơn Tính năng này ngăn không cho thuật toán bị
46 mắc kẹt ở mức tối thiểu cục bộ Khi có xu hướng bằng không, xác suất
( , , ) phải có xu hướng bằng 0 nếu > , và có giá trị dương nếu ngược lại Đối với các giá trị đủ nhỏ, hệ thống sau đó sẽ ngày càng ưu tiên các bước di chuyển "xuống dốc" (tức là để các giá trị năng lượng thấp hơn) và tránh những bước đi "lên dốc" Với = 0, thủ tục rút gọn thành thuật toán tham lam, chỉ tạo ra các chuyển đổi xuống dốc.
Trong mô tả ban đầu của thuật toán luyện kim, xác suất ( , , ) = 1 khi > , ví dụ quy trình luôn chuyển động xuống dốc khi nó tìm ra cách làm như vậy, bất kể nhiệt độ Nhiều mô tả và triển khai thuật toán luyện kim vẫn lấy điều kiện này như một phần định nghĩa của phương pháp Tuy nhiên, điều kiện này không cần thiết để thuật toán hoạt động đúng.
Hàm thường được chọn để xác suất chấp nhận một nước đi giảm khi chênh lệch − tăng; nghĩa là, các chuyển động lên dốc nhỏ có nhiều khả năng hơn các chuyển động lớn Tuy nhiên, yêu cầu này không hoàn toàn cần thiết, với điều kiện phải đáp ứng các yêu cầu trên.
Với những đặc tính này, nhiệt độ đóng một vai trò quan trọng trong việc kiểm soát sự phát triển của trạng thái của hệ thống liên quan đến độ nhạy của nó đối với các biến thể của năng lượng hệ thống Nói một cách chính xác, đối với lớn, sự phát triển của nhạy cảm với các biến thể năng lượng thô hơn, trong khi nó nhạy cảm với các biến thể năng lượng nhỏ hơn khi nhỏ.
Tên của thuật toán yêu cầu một tính năng liên quan đến sự biến đổi nhiệt độ để được nhúng vào các đặc tính hoạt động của thuật toán Điều này đòi hỏi phải giảm dần nhiệt độ khi tiến hành mô phỏng Thuật toán bắt đầu với ban đầu được đặt thành giá trị cao (hoặc vô cùng), sau đó nó được giảm ở mỗi bước theo một số lịch luyện kim - có thể do người dùng chỉ định, nhưng phải kết thúc bằng T 0 vào cuối ngân sách thời gian được phân bổ Theo cách này, ban đầu hệ thống được kỳ vọng sẽ hướng tới một vùng rộng lớn của không gian tìm kiếm có chứa các giải pháp tốt, bỏ qua các đặc điểm nhỏ của hàm năng lượng; sau đó trôi về các vùng năng lượng thấp ngày càng hẹp dần, và cuối cùng di chuyển xuống dốc theo phương pháp heuristic steepest descent.
2.4.2 Xây dựng thuật toán luyện kim để giải quyết bài toán Đối với bài toán điều khiển lưu lượng trong NFV được phát biểu ở mục 2.2, mục tiêu của bài toán là tìm ra giải pháp để tối đa hóa hàm mục tiêu = + Để giải quyết bài toán trên với thuật toán SA, tác giả sẽ tùy biến mục tiêu và để phù hợp vì thuật toán SA sẽ tìm kiếm giải pháp mà cho hàm mục tiêu
47 có giá trị nhỏ nhất Theo đó, mục tiêu về chối thấp nhất
+ luồng sẽ tương ứng với số luồng bị từ
Và mục tiêu về trễ tương ứng với trễ đầu cuối trung bình trên các luồng là nhỏ nhất
Dựa theo xây dựng thuật toán DDPG ở mục 2.3.2.1, mỗi giải pháp sẽ là tập các bảng lập lịch luồng của các nút có trong mạng.
Từ những mô tả về thuật toán SA ở mục 2.4.1, ta có khuôn khổ điều khiển lưu lượng dựa trên thuật toán luyện kim (Traffic Engineering Framework Based- on Simulated Annealing – TEFBSA)
1 Chọn ngẫu nhiên chuyển động (move) hay trạng thái khác (state)
2 Tính toán giá trị năng lượng (energy) của trạng thái mới sử dụng hàm mục tiêu
3 So sánh năng lượng (energy) với trạng thái trước đó và xác định chấp nhận hay loại bỏ giải pháp dựa trên nhiệt độ hiện tại
4 Lặp lại cho tới khi thuật toán hội tụ ở một lời giải chấp nhận được
Trạng thái của bài toán (state) hay giải pháp là tập các bảng lập lịch luồng của các nút có trong mạng Hàm move() sẽ tạo ra trạng thái lân cận dựa trên trạng thái hiện tại Trong bài toán này, tác giả sẽ sử dụng nhiễu trắng Gauss trong hàm move() để tạo trạng thái lân cận Hàm năng lượng energy() sẽ được định nghĩa bởi mục tiêu tối ưu = + Do sự hạn chế về thời gian cũng như tài nguyên tính toán, trong khuôn khổ luân văn này, tác giả sẽ tiến hành thí nghiệm cho thuật toán luyện kim TEFBSA với thông số mục tiêu ( , ) = (0,1).
Kết luận chương 2
Trong chương hai, tác giả đã nêu lên bài toán điều khiển lưu lượng trong NFV cũng như các nghiên cứu liên quan Tiếp đó, tác giả mô hình hóa bài toán và xây dựng thuật toán DRL cũng như SA để giải quyết bài toán Trong chương tiếp theo, tác giả sẽ tiến hành thí nghiệm và đánh giá thuật toán đề xuất trên môi trường mô phỏng.
ĐÁNH GIÁ THUẬT TOÁN
Cài đặt thuật toán
3.1.1 Thuật toán học tăng cường sâu DDPG
Với mỗi kịch bản, tác giả tiến hành huấn luyện 10 tác nhân (agents) đến khi hội tụ (500 episodes) Tiếp theo tác nhân cho kết quả tốt nhất sẽ được chọn cho việc suy luận Sau đó các tác nhân sẽ được huấn luyện lại với các giá trị hyperparameter cố định trên tất cả các kịch bản Vì vậy, không cần điểu chỉnh thủ công để giải quyết từng kịch bản khác nhau Cho cả tác nhân và nhà phê bình, tác giả sử dụng mạng nơ-ron dầy (Dense Neural Network) với một lớp ẩn được kết nối đầy đủ duy nhất (gồm 64 nút ReLU) sử dụng trình tối ưu Adam Tác giả đã đặt thêm các cấu hình hyperparameter sau: i Yếu tố giảm giá thành (discount factor) γ = 0.99. ii Cập nhật mục tiêu mềm (sort target) với τ = 0.0001. iii Tốc độ học (learning rate) α = 0.01 với độ phân rã (decay) 0.001. iv Kích thước bộ đệm (buffer size) | | = 10000 với kích thước lô (batch size) | | = 64. v Cho mục đích khám phá, tác giả sử dụng nhiễu Gaussian với (0, 0.2).
3.1.2 Thuật toán luyện kim SA
Với mỗi kịch bản, tác giả điều chỉnh các tham số lập lịch của thuật toán SA bao gồm: Tmax, Tmin, steps sao cho tỷ lệ chấp thuận lời giải đạt trên 98% và tỷ lệ lời giải được cải thiện ở mức tiệm cận 0.0%.
Kịch bản đánh giá
3.2.1 Mô hình lưu lượng dữ liệu Để đánh giá hiệu quả của thuật toán DRL trên các mô lưu lượng hình dữ liệu khác nhau, tác giả sẽ đưa ra bốn mô hình tương ứng với ba loại tiến trình đến là Fixed, Poisson, MMPP Với mỗi mô hình lưu lượng dữ liệu, thí nghiệm sẽ được thực hiện trên mô hình mạng Abilence – mô hình mạng mô phỏng kết nối tại 11 thành phố trên khắp Hoa Kỳ, với sự thay đổi số lượng của các nút đầu vào (ingress node) từ 1 đến 5 Kết quả sẽ bao gồm các đường đồ thị của: DRL (flow weight: 1, delay weight: 0), DRL (flow weight: 0.5, delay weight: 0.5), DRL (flow weight:
Tại mỗi nút đầu vào, các luồng yêu cầu đến theo các khoảng thời gian (inter_arrival_mean) phụ thuộc vào tiến trình ngẫu nhiên ở mỗi mô hình lưu lượng dữ liệu Mỗi luồng yêu cầu có tốc độ dữ liệu được tạo ngẫu nhiên theo phân bố chuẩn đại diện bởi tốc độ dữ liệu trung bình (flow_dr_mean) và độ lệch chuẩn (flow_dr_stdev), cùng kích thước luồng (flow_size_shape), thời gian tồn tại (ttl_choices = 100) Trong quá trình mô phỏng, tác giả đặt mặc định giá trị tốc độ dữ liệu là 1 Mbps và kích thước luồng là 1 Mb Mỗi mô phỏng sẽ được chạy trong quãng thời gian chạy (run_duration) là 100 bước thời gian Bảng 3.1 dưới đây mô tả các tham số cấu hình chung của các mô hình
Bảng 3.1 Các tham số cấu hình mô hình lưu lượng dữ liệu chung
Tên tham số Kiểu dữ Ý nghĩa inter_arrival_mean liệufloat Khoảng thời gian đến trung bình của các luồng yêu cầu deterministic_arrival boolean Mô tả khoảng thời gian đến của các luồng là cố định hoặc không flow_dr_mean float Kỳ vọng của tốc độ đến luồng yêu cầu flow_dr_stdev float Độ lệch chuẩn của tốc độ đến luồng yêu cầu flow_size_shape float Kích thước của luồng yêu cầu đến deterministic_size boolean Mô tả kích thước các luồng yêu cầu đến là cố định hoặc không run_duration int Độ dài thời gian chạy mô phỏng ttl_choices int Thời gian tồn tại của một luồng yêu cầu
Với mô hình dữ liệu này, các luồng yêu cầu sẽ đến với các khoảng thời gian như nhau Trong khuôn khổ luận văn, nhằm phục vụ cho việc mô phỏng các luồng yêu cầu đến tuân theo mô hình True Arrival, tác giả sử dụng bộ cấu hình tham số như trong bảng 3.2.
Bảng 3.2 Bảng giá trị tham số mô hình lưu lượng dữ liệu Fixed Arrival
Tên tham số Kiểu dữ liệu Giá trị inter_arrival_mean: float 10.0 deterministic_arrival: boolean True flow_dr_mean: float 1.0 flow_dr_stdev: float 0.0 flow_size_shape: float 0.001 deterministic_size: boolean True run_duration: int 100 ttl_choices: int [100]
Với bộ tham số này, các luồng yêu cầu đến theo các khoảng thời gian dài như nhau (inter_arrival_mean: 10, deterministic_arrival: true).
Trong xác xuất thống kê và các lĩnh vực liên quan, tiến trình Poisson là một đối tượng toán học nghiên cứu về sự ngẫu nhiên, bao gồm các điểm nằm ngẫu nhiên trên một không gian toán học Tiến trình Poisson là một trong những tiến trình được ứng dụng khá rộng rãi Tiến trình này thường được sử dụng trong những trường hợp mà ta cần đếm số lần xuất hiện của một số sự kiện xảy ra với một tốc độ nhất định, nhưng hoàn toàn ngẫu nhiên cũng như không có cấu trúc nhất định.
Tiến trình Poisson thường được xác định trên trục số thực, nơi nó có thể coi là quá trình ngẫu nhiên Ví dụ trong nguyên lý hàng đợi, tiến trình Poisson thường được sử dụng cho mô hình các sự kiện ngẫu nhiên, như số lượng khách hàng đến một cửa hàng, các cuộc gọi tới tổng đài hay sự xảy ra hiện tượng động đất, phân bố theo thời gian Trong mặt phẳng, tiến trình điểm, còn được gọi là tiến trình Poisson không gian, có thể biểu diễn vị trí của các đối tượng phân tán như số máy phát trong mạng không dây, các hạt va chạm vào máy dò hoặc cây cối trong rừng.
Tiến trình Poisson có thể được định nghĩa dưới dạng toán học như sau:
Cho > 0 bất biến Tiến trình đếm { ( ), [0, )} được gọi là tiến trình
Poisson với tốc độ nếu thỏa mãn những điều kiện sau: i (0)=0 ii ( ) là độc lập tăng trưởng iii Số yêu cầu đến tại một khoảng thời gian > 0 bất kỳ có phân phối là
Trong khuôn khổ luận văn, nhằm phục vụ cho việc mô phỏng các luồng yêu cầu đến tuân theo tiến trình Poisson, tác giả sử dụng bộ cấu hình tham số như trên bảng sau.
Bảng 3.3 Bảng giá trị tham số mô hình lưu lượng dữ liệu Poisson Arrival
Tên tham số Kiểu dữ liệu Giá trị inter_arrival_mean: float 10.0 deterministic_arrival: boolean False flow_dr_mean: float 1.0 flow_dr_stdev: float 0.0 flow_size_shape: float 0.001 deterministic_size: boolean True run_duration: int 100 ttl_choices: int [100]
Với bộ tham số này, các luồng yêu cầu đến theo các khoảng thời gian tuân theo tiến trình Poisson (inter_arrival_mean: 10, deterministic_arrival: false)
MMPP (Markov-modulated Poisson Process) là tiến trình Poisson kép ngẫu nhiên mà tốc độ đến được cho bởi [ ( )], với ( ), 0 [118] Đây là một tiến trình Markov bất khả quy tại trạng thái ∗ Một tiến trình MMPP có thể được xây dựng từ nhiều tốc độ đến của một tiến trình Poisson dựa theo một chuỗi Markov liên tục theo thời gian bất khả quy có trạng thái mà không phụ thuộc vào tiến trình đến Khi chuỗi Markov ở trạng thái i, tiến trình đến diễn ra theo tiến trình poisson với tốc độ Tiến trình MMPP được tham số hóa bởi chuỗi Markov liên tục theo thời gian ở trạng thái m với ma trận khởi tạo và bộ tốc độ đến của m trạng thái 1 , 2 , 3 , … Cụ thể:
Trong khuôn khổ luận văn, nhằm phục vụ cho việc mô phỏng các luồng yêu cầu đến tuân theo mô hình MMPP, tác giả sử dụng bộ cấu hình tham số như trong bảng 3.4.
Bảng 3.4 Bảng giá trị tham số mô hình lưu lượng dữ liệu MMPP Arrival
Tên tham số Kiểu dữ liệu Giá trị inter_arrival_mean: float 12.0 deterministic_arrival: boolean False flow_dr_mean: float 1.0 flow_dr_stdev: float 0.0 flow_size_shape: float 0.001 deterministic_size: boolean True run_duration: int 100 ttl_choices: int [100] use_state boolean True init_state string ‘state_1 states dictionary switch_p float 0.05
Với bộ tham số này, các luồng yêu cầu đến theo các khoảng thời gian tuân theo tiến trình MMPP hai trạng thái với các tham số: i Trạng thái 1(state_1) có khoảng thời gian đến trung bình là
(inter_arr_mean: 12) ii Trạng thái 2(state_2) có khoảng thời gian đến trung bình là
Nhằm đánh giá hiệu quả của thuật toán DRL trên nhiều mô hình mạng có quy mô khác nhau, tác giả sẽ thực hiện thí nghiệm trên 4 mô hình mạng với số lượng các nút mạng tăng dần: Abilence (11 nút), BT Euro (24 nút), Chinanet (42 nút), Tinet (53 nút). Để thực hiện mô phỏng, tác giả sử dụng bộ dữ liệu từ nguồn http://www.topology-zoo.org/ Đây là một trang web chia sẻ các đồ hình mạng kèm thông tin của gần 215 mô hình mạng từ nhiều nước và khu vực trên thế giới [119].
Kết quả và đánh giá
3.3.1 Chọn số vòng lặp huấn luyện
Thí nghiệm được thực hiện trên các mô hình mạng Abilence (11 nút), BT Euro (24 nút), Chinanet (43 nút), TiNet (53 nút), với mô hình lưu lượng Poisson. Mỗi đường trên đồ thị thể hiện giá trị phần thưởng trung bình trên tập tương ứng với một mô hình mạng khác nhau Khi tác nhân thực hiện quá trình khám phá không gian hành động, phần thưởng sẽ nhỏ hơn và nhiễu hơn so với quá trình khai thác những kinh nghiệm trong quá trình học của tác nhân Tuy nhiên, sự tăng lên nhanh chóng của phần thưởng tập trong 100 tập đầu tiên cho thấy tác nhân DRL đã học được chính sách điều phối tốt một cách nhanh chóng.
Từ hình 3.1 ta thấy, huấn luyện lâu hơn có thể cho kết quả tốt hơn Với nhiều tập huấn luyện hơn nữa, ta có thể mong đợi những bước nhảy vọt tương tự về hiệu suất cho 53 nút Đặc biệt các mạng lớn đòi hỏi phải được huấn luyện kỹ lưỡng để khám phá không gian hành động lớn và tìm ra chính sách tối ưu Do thời gian và nguồn lực có hạn, tác giả phải hạn chế huấn luyện đến
Hình 3.1 Đường cong học tập của tác nhân DRL với các mạng có kích thước khác nhau 3.3.2 Số nút đầu vào của mỗi dịch vụ thay đổi
Nhằm đánh giá hiệu quả thuật toán khi số lượng các nút đầu vào tăng lên, các thí nghiệm được thực hiện trên mô hình mạng Abilence, mô hình lưu lượng dữ liệu có độ phức tạp tăng dần Kết quả so sánh giữa các thuật toán DRL trong các trọng số mục tiêu khác nhau, với thuật toán SA Hai tiêu chí là tỷ lệ đáp ứng yêu cầu và trễ đầu cuối trung bình trên các luồng được phục vụ thành công.
Trước tiên, chúng ta sẽ đánh giá tỷ lệ đáp ứng yêu cầu khi thay đổi số nút đầu vào Các biểu đồ dưới đây tương ứng với các mô hình lưu lượng dữ liệu được mô tả ở mục 3.2.1 Trục tung của mỗi biểu đồ biểu diễn tỷ lệ đáp ứng các dịch vụ yêu cầu với đơn vị là % Trục hoành của mỗi biểu đồ biểu diễn số lượng các nút đầu vào của các dịch vụ tăng dần từ 1 đến 5 Các đường biểu đồ tương ứng: màu xanh dương (thuật toán DRL với trọng số flow weight = 1, delay weight = 0);màu xanh lục (thuật toán DRL với trọng số flow weight = 0.5, delay weight 0.5); màu đỏ (thuật toán DRL với trọng số flow weight = 0, delay weight =1) và màu vàng (thuật toán SA).
Hình 3.2 Tỷ lệ chấp nhận yêu cầu với mô hình lưu lượng Fixed Arrival Ởhình 3.2, thí nghiệm được trên mô hình lưu lượng Fixed Arrival – các yêu cầu đến với các khoảng thời gian cố định Tại trường hợp 1 nút đầu vào, các thuật toán đều đạt 100% tỷ lệ chấp nhận yêu cầu Tuy nhiên bắt đầu từ 2 nút đầu vào trở đi, tác nhân DRL với trọng số flow weight bằng 1 tỏ ra vượt trội hơn so với phần còn lại Khi so sánh với thuật toán heuristic SA, khi số lượng yêu cầu tăng lên nhanh tương ứng với số nút đầu vào, cụ thể là từ nút đầu vào thứ 4 trở đi,thuật toán DRL (flow weight = 1, delay weight = 0) hoàn toàn vượt trội với tỷ lệ chấp nhận luôn trên 50%.
Hình 3.3 Tỷ lệ chấp nhận yêu cầu với mô hình lưu lượng Poisson Arrival Ởhình 3.3, các yêu cầu đến tuân theo mô hình lưu lượng Poisson Arrival – các yêu cầu đến theo các khoảng thời gian tuân theo phân bố Poisson Tại trường hợp 1 nút đầu vào, tác nhân DRL với trọng số flow weight = 1 đã tỏ ra vượt trội hơn so với các truờng hợp còn lại với tỷ lệ chấp nhận yêu cầu đạt 72% Sự vượt trội này càng được thể hiện với số lượng các nút đầu vào tăng lên Điều này chứng tỏ đề xuất của tác giả tốt hơn thuật toán SA trong trường hợp mô hình lưu lượng phức tạp hơn.
Hình 3.4 Tỷ lệ chấp nhận yêu cầu với mô hình lưu lượng MMPP Arrival
Trên hình 3.4, các yêu cầu đến tuân theo mô hình lưu lượng MMPP Arrival với hai trạng thái Ở trường hợp một nút đầu vào, tỷ lệ chấp nhận yêu cầu của tác nhân DRL với trọng số flow weight = 1 đạt 75% tốt hơn so với thuật toán SA (61%) Sự vượt trội này càng được thể hiện khi số nút đầu vào tăng lên Điều này chứng tỏ tính hiệu quả của thuật toán DRL vượt trội hơn số với thuật toán heuristic thông thường.
Như vậy, thông qua hình 3.2, 3.3, 3.4 ta có thể thấy là tác nhân DRL với trọng số flow weight bằng 1 luôn đạt hiệu năng tốt hơn so với thuật toán SA Nguyên nhân của sự vượt trội này là nhờ việc ghi nhớ và lựa chọn các giải pháp mang tính chọn lọc của thuật toán học tăng cường sâu nên trong các không gian lời giải lớn, thuật toán DRL sẽ có xu hướng tốt hơn thuật toán SA - chỉ tìm kiếm cục bộ lời giải chấp nhận được Còn khi so sánh giữa các tác nhân DRL, tác nhân nào có trọng số về flow weight lớn hơn sẽ cho kết quả tốt hơn Điều này có thể giải thích dễ dàng nhờ vào hàm mục tiêu, trọng số về flow weight càng lớn tức là hàm mục tiêu sẽ hướng về các miền giá trị cho tỷ lệ chấp nhận yêu cầu lớn, nhờ đó mà có kết quả như trên ba hình trên.
Tiếp theo, chúng ta sẽ đánh giá về độ trễ đầu cuối trung bình khi thay đổi số nút đầu vào Kết quả minh họa trên hình 3.5, 3.6, 3.7 Ở cả ba mô hình lưu lượng, khi so sánh thuật toán DRL với các trọng số mục tiêu khác nhau ta có thể thấy rõ sự khác biệt khi tác nhân DRL với trọng số về trễ cao hơn có trễ trung bình thấp hơn so với tác nhân DRL với trọng số về tỷ lệ chấp nhận yêu cầu cao Khi so sánh với thuật toán SA, với trường hợp 1 nút đầu vào, SA có xu hướng cho kết quả trễ trung bình lớn hơn hoặc bằng so với tác nhân DRL có trọng số trễ delay weight 1 Tuy nhiên khi số lượng nút đầu vào tăng lên (đồng nghĩa với số lượng luồng yêu cầu đến tăng lên) thì tác nhân DRL với trọng số mục tiêu về trễ delay weight cao tỏ ra hiệu quả hơn.
Thông qua hình 3.5, 3.6, 3.7 ta có thể thấy là tác nhân DRL với trọng số delay weight bằng 1 luôn đạt hiệu năng tốt hơn so với thuật toán SA Nguyên nhân của sự vượt trội này là nhờ việc ghi nhớ và lựa chọn các giải pháp mang tính chọn lọc của thuật toán học tăng cường sâu nên trong các không gian lời giải lớn, thuật toán DRL sẽ có xu hướng tốt hơn thuật toán SA - chỉ tìm kiếm cục bộ lời giải chấp nhận được Còn khi so sánh giữa các tác nhân DRL, tác nhân nào có trọng số về trễ lớn hơn sẽ cho kết quả tốt hơn Điều này có thể giải thích dễ dàng nhờ vào hàm mục tiêu, trọng số về delay weight càng lớn tức là hàm mục tiêu sẽ hướng về các miền giá trị cho trễ đầu cuối trung bình càng nhỏ, nhờ đó mà có kết quả như trên ba hình này.
Hình 3.5 Trễ đầu cuối trung bình với mô hình lưu lượng Fixed Arrival
Hình 3.6 Trễ đầu cuối trung bình với mô hình lưu lượng Poisson Arrival
Hình 3.7 Trễ đầu cuối trung bình với mô hình lưu lượng MMPP Arrival
3.3.3 Khả năng tính toán của nút trong mô hình mạng thay đổi
Nhằm đánh giá hiệu năng của thuật toán khi năng lực tính toán của các nút tăng lên Thí nghiệm được thực hiện trên mô hình mạng Abilence có 4 nút đầu vào, mô hình lưu lượng dữ liệu tuân theo phân bố Poisson Kết quả so sánh giữa các thuật toán DRL trong các trọng số mục tiêu khác nhau, với thuật toán SA. Hai tiêu chí là tỷ lệ đáp ứng yêu cầu và trễ đầu cuối trung bình trên các luồng được phục vụ thành công.
Trước tiên, chúng ta sẽ đánh giá tỷ lệ đáp ứng yêu cầu khi khả năng tính toán của nút thay đổi Trục tung của biểu đồ biểu diễn tỷ lệ đáp ứng yêu cầu với đơn vị là % Trục hoành của mỗi biểu đồ tổng khả năng tính toán của tất cả các nút tăng dần từ 10 đến 70, đơn vị là CPU Các đường biểu đồ tương ứng: màu xanh dương (thuật toán DRL với trọng số flow weight = 1, delay weight = 0); màu xanh lục (thuật toán DRL với trọng số flow weight = 0.5, delay weight = 0.5); màu đỏ (thuật toán DRL với trọng số flow weight = 0, delay weight = 1) và màu vàng (thuật toán SA).
Hình 3.8 Tỷ lệ chấp nhận yêu cầu khi năng lực tính toán của nút mạng tăng
Theo hình 3.8 ta thấy, khi năng lực tính toán của các nút tăng lên thì tỷ lệ chấp nhận yêu cầu cũng được cải thiện Với tác nhân DRL có trọng số mục tiêu flow weight = 1, thì tỷ lệ chấp nhận yêu cầu đạt 100% khi tổng khả năng tính toán của tất cả các nút tăng lên 5 lần còn với thuật toán SA thì cần tăng lên 6 lần Với các tác nhân DRL còn lại có có trọng số mục tiêu chấp nhận yêu cầu (flow weight) thấp hơn thì những thay đổi về năng lực tính toán ảnh hưởng không nhiều đến kết quả.
Tiếp theo, chúng ta sẽ đánh giá tỷ lệ độ trễ đầu cuối trung bình khi khả năng tính toán của nút thay đổi Kết quả minh họa trên hình 3.9 Trục tung của biểu đồ biểu trễ đầu cuối trung bình trên một luồng được phục vụ thành công, đơn vị là ms Trục hoành của mỗi biểu đồ biểu thị tổng khả năng tính toán của tất cả các nút tăng dần từ 10 đến 70, đơn vị là CPU Các đường biểu đồ tương ứng: màu xanh dương (thuật toán DRL với trọng số flow weight = 1, delay weight = 0); màu xanh lục (thuật toán DRL với trọng số flow weight = 0.5, delay weight 0.5); màu đỏ (thuật toán DRL với trọng số flow weight = 0, delay weight =1) và màu vàng (thuật toán SA).
Hình 3.9 Trễ đầu cuối trung bình khi năng lực tính toán của nút tăng
Với việc tăng năng lực tính toán của các nút cũng làm giảm độ trễ đầu cuối trung bình trên các luồng Cụ thể, với tác nhân DRL có trọng số mục tiêu về trễ delay weight = 1 thì trễ trung bình giảm từ 20 ms về 15 ms khi tăng năng lực tính toán của các nút lên 7 lần Khi so sánh giữa các tác nhân DRL có các trọng số mục tiêu khác nhau thì ta nhận thấy rằng trọng số mục tiêu về trễ càng lớn thì trễ càng giảm nhanh theo chiều tăng của trục hoành Còn khi so sánh với thuật toán
SA thì rõ ràng tác nhân DRL hoàn toàn vượt trội.
3.3.4 Quy mô mô hình mạng thay đổi
Kết luận
Trong luận văn, tác giả đã áp dụng học tăng cường sâu để xây dựng mô hình điều khiển lưu lượng trong ảo hóa chức năng mạng có thể đáp ứng được nhiều mục tiêu tối ưu cũng như các mô hình lưu lượng khác nhau Đồng thời, luận văn so sánh đánh giá hiệu quả mô hình ứng dụng học tăng cường sâu với thuật toán heuristic trong việc điều khiển lưu lượng Các kết quả đánh giá cho thấy mô hình học tăng cường có kết quả vượt trội so với thuật toán xấp xỉ luyện kim về tỷ lệ đáp ứng yêu cầu và độ trễ đầu cuối trung bình khi thay đổi số nút đầu vào, khả năng tính toán của nút và kích thước mô hình mạng Luận văn có một số hướng phát triển như sau:
• Mở rộng đánh giá hiệu quả của mô hình đề xuất cho các tham số hiệu năng quan trọng khác như thời gian đáp ứng yêu cầu, khả năng đảm bảo độ trễ đầu cuối
• Mở rộng mô hình để có thể điều khiển lưu lượng khi có lỗi xảy ra tại các nút hay liên kết trong hệ thống NFV.
• So sánh đánh giá mô hình học tăng cường sâu trong luận văn với các mô hình học tăng cường sâu khác.