Mơ hình cloud CDN

Một phần của tài liệu Phát triển công cụ giả lập hệ thống content delivery netwwork (Trang 31)

Hệ thống Telco CDN: Khi nhà cung cấp dịch vụ CDN sở hữu hoặc có thể chia

sẻ cơ sở hạ tầng mạng của nhà mạng ISP, hệ thống CDN có thể được triển khai ngay trên cơ sở hạ tầng này. Hình 3 mơ tả mơ hình Telco CDN. Trong mơ hình này, các replica server có thể kết nối trực tiếp với các routers của nhà mạng

ISP. Việc tận dụng cơ sở hạ tầng của nhà mạng ISP giúp giảm chi phí đầu tư, tăng hiệu quả của hệ thống CDN.

3.1.4 Các bài toán con trong chiến lược caching của hệ thống CDN:

Chiến lược caching của một hệ thống CDN có thể được chia thành ba bài toán con nhỏ hơn như sau:

Bài toán eviction: Là bài toán xác định khi nào và nội dung gì trong cache sẽ

được xóa.

Bài tốn admission: Là bài tốn xác định nội dung nào sẽ được cache. Thông

thường nhà cung cấp nội dung nếu muốn hệ thống CDN cache một nội dung, họ sẽ thêm vào 1 trường trong phần header của gói tin chứa nội dung để đánh dấu việc cache gói tin đó. Luận văn này khơng đề cập đến chiến lược admission trong mơi trường thí nghiệm nghĩa là các replica servers sẽ cache tất cả nội

dung mới.

Chiến lược định tuyến gói tin: Là bài toán xác định khi một nội dung khơng

có trong một replica servers thì server đó nên chuyển hướng u cầu đó đến server nào kế tiếp.

3.2 Thư viện Mininet

Công cụ giả lập trong luận văn này được phát triển dựa trên thự viện Mininet. Mininet là một thư viện giả lập mạng có khả năng giả lập các máy ảo chạy code thực. Mỗi máy ảo có trong mạng giả lập đều có network stack, Linux kernel riêng và chạy trên một namespace độc lập. Các máy ảo giao tiếp với nhau thông qua các đường kết nối ethernet ảo. Hơn thế nữa, trong phiên bản cập nhật Mininet HiFi [42] đã cung cấp cơ chế cô lập tài nguyên, đường kết nối ảo khả thiết lập. Cụ thể hơn, ta có thể cấp phát phần trăm tài nguyên CPU cố định cho mỗi máy ảo, cũng như các tài nguyên mạng như bandwidth, loss và delay cho mỗi đường ethernet ảo. Luận văn này sử dụng Containernet, một phiên bản mở rộng của Mininet. Containernet mở rộng khả năng triển khai các ứng dụng thực thông qua cơ chế sử dụng Docker container trên các máy ảo. Với phiên bản mở rộng này, luận văn có thể giả lập lại hệ thống thực chi tiết hơn. Về sự tương quan giữa tính đúng đắn, ổn định của thư viện Mininet và khả năng phần cứng của máy thực chạy thư viện đã được khảo sát và đánh giá trong [43]. Mininet ban đầu được thiết kế để giả lập các hệ thống Software Defined Network (SDN), nhưng độ tin cậy và tính ổn định của nó vẫn được đảm bảo khi giả lập các hệ thống

mạng truyền thống. Tuy nhiên, việc sử dụng các SDN controller có thể sẽ gia tăng việc tiêu tốn tài nguyên phần cứng chạy bộ giả lập. Công cụ giả lập được phát triển trong luận văn này thay vì sẽ định tuyến packet dựa vào một bộ SDN controller, các gói tin sẽ được định tuyến dựa vào các router giả lập. Chi tiết của phần hiện thực công cụ này sẽ được đề cập ở chương 4.

3.3 Bài tốn tối ưu hóa đa mục tiêu 3.3.1 Định nghĩa 3.3.1 Định nghĩa

Một bài tốn tối ưu hóa đa mục tiêu thường sẽ bao gồm hai hay nhiều hơn các hàm mục tiêu cần tối ưu. Giả sử ta có bài tốn tối ưu k mục tiêu, ta kí hiệu hàm mục tiêu thứ i là ( ) với x là là biến số thực đầu vào d chiều . Mục tiêu của bài tốn này là tối thiểu hóa những mục tiêu này với khơng gian đầu vào X, tuy nhiên các mục tiêu này thường đối nghịch nhau. Trong bài toán đa mục tiêu, khi chỉ tập trung tối ưu một mục tiêu riêng lẻ có thể sẽ ảnh hưởng hay làm tệ đi những mục tiêu khác.

Để tìm nghiệm tối ưu cho bài tốn đa mục tiêu, trước tiên ta phải định nghĩa một lời giải như thế nào thì tốt hơn một lời giải khác. Trong trường hợp bài toán đơn mục tiêu, sự “vượt trội” của lời giải được xác định đơn giản bởi sự so sánh giá trị của hàm mục tiêu đơn liên quan. Trong bài toán đa mục tiêu, sự vượt trội này được đánh giá qua khái niệm dominanace. Một lời giải x1 được gọi là dominate x2 khi thỏa mãn cả 2 điều kiện sau:

x1 không tệ hơn x2 trong tất cả các mục tiêu.  x1 tốt hơn x2 trong ít nhất một mục tiêu.

Một bài toán đa mục tiêu giải quyết theo cách tiếp cận Pareto sẽ có một tập nghiệm tối ưu được gọi là tập Pareto. Những nghiệm trong tập Pareto P (Pareto set) sẽ không bị dominate bởi bất kỳ giá trị nào khác trong tập X. Nói cách khác, ta có các phát biểu sau cho bài tốn tối thiểu hóa:

Hình 4 là ví dụ minh họa cho khái niệm dominate và Pareto front với bài tốn

có 2 mục tiêu , . A và B không dominate nhau, trong khi đó A và B đều dominate C. Đường màu đỏ chứa các điểm là giá trị các hàm mục tiêu của các nghiệm tối ưu còn được gọi là Pareto front. Mỗi bài tốn tối ưu hóa đa mục tiêu đều có một true Pareto front. Đây là Pareto front lý tưởng và không tồn tại một Pareto front nào “tốt”

hơn. Mục tiêu cao nhất của hướng tiếp cận Pareto này là có thể tìm được true Pareto

front của bài tốn.

Hình 4: Ví dụ về Dominance và Pareto front cho bài toán 2 mục tiêu.

3.3.2 Độ đo

Để so sánh giữa các giải thuật tối ưu hóa đa mục tiêu theo cách tiếp cận Pareto, ta cần một độ đo để so sánh giữa các tập nghiệm Pareto. Một phép đo phổ biến

thường được sử dụng trong mục đích này là Hypervolume Indicator [44]. Giả sử, ta có điểm tham khảo ∈ . Hypervolume Indicator của tập Pareto P là phép đo khu vực bị dominate bởi tập P và giới hạn bởi điểm tham khảo r. Với Λ(. ) là phép đo

Lebesgue, ta có cơng thức tính sau:

( ) = Λ({q ∈ R | ∃p ∈ P ∶ p ≤ q và q ≤ r }))

Hình 5 mơ tả Hypervolume Indicator của 1 tập gồm 4 điểm {p1, p2, p3, p4} và điểm tham khảo r trong khơng gian 2 chiều.

.

Hình 5: Ví dụ Hypervolume trong khơng gian 2 chiều (diện tích vùng màu xám)

3.4 Giải thuật NSGA-II cho bài toán đa mục tiêu

Giải thuật NSGA-II là một trong những giải thuật cổ điển, phổ biến và điển hình nhất của hướng tiếp cận di truyền để giải quyết bài toán đa mục tiêu. Giải thuật này là giải thuật lặp, mỗi vòng lặp tương ứng với một thế hệ. Ta có thể tóm tắt vào trong 6 bước sau:

 Bước 1: Khởi tạo population Pt. Population được khởi tạo dựa trên một số chiến lược lấy mẫu, ví dụ như lấy mẫu ngẫu nhiên theo phân phối chuẩn, hay dựa trên phương pháp Latin Hypercube Sampling (LHS).

 Bước 2: Thực hiện giải thuật Non-dominated sorting (NDS). Khơng mất tính tổng qt, xét trong bài tốn tối thiểu hóa, giả sử rằng nghiệm của population Pt được gán cho N Pareto fronts, ,∀i ∈ [1, N], được gọi là rank của Pareto

front. Đầu tiên, giải thuật NDS sẽ chọn những nghiệm không bị dominate bởi

bất kì nghiệm nào khác từ tập Pt và gán chúng thuộc (Pareto front này có

rank 1). Tương tự với tập \ để tìm Pareto front . Giải thuật NDS sẽ lặp đến khi tất cả các mẫu trong Pt đều đã được gắn với một Pareto front.

 Bước 3: Tính Crowding Distance [22] cho mỗi mẫu của từng Pareto front .  Bước 4: Lựa chọn mẫu từ tập Pt dựa trên chiến lược Crowded Tournament

 Bước 5: Thực hiện các phép toán di truyền: lai tạo và đột biến để tạo ra tập đời con S.

 Bước 6: Kết hợp giữa tập đời con St và tập Pt ban đầu rồi lựa chọn các mẫu tốt nhất để tạo ra một thế hệ mới Pt+1 với cùng kích thước population như tập Pt ban đầu. Quay lại bước 1.

3.5 Giải thuật Bayesian cho bài toán đa mục tiêu 3.5.1 Cơ sở lý thuyết cho giải thuật Bayesian tổng quát 3.5.1 Cơ sở lý thuyết cho giải thuật Bayesian tổng quát

3.5.1.1 Tổng quan

Giải thuật Bayesian là cách tiếp cận phổ biến và hiệu quả nhất để giải quyết các bài tốn có hàm mục tiêu “đắt giá”. Hàm mục tiêu “đắt giá” nghĩa là việc tính tốn, đánh giá mục tiêu cho mỗi điểm đầu vào có thể tốn nhiều thời gian hay các chi phí khác. Một trong những ưu điểm của giải thuật Bayesian là giải thuật này chỉ cần tính tốn hàm này với một số lượng ít lần nhưng vẫn đạt được một kết quả chấp nhận được. Giải thuật Bayesian là một giải thuật lặp. Mỗi vòng lặp sẽ xây dựng và huấn luyện một surrogate model để có thể xấp xỉ được phân bố của hàm mục tiêu. Từ đó, thay vì tính tốn hàm mục tiêu “đắt giá” để đánh giá một điểm dữ liệu mới, ta có thể sử dụng surrogate model. Một khác biệt chính giữa surrogate model và hàm mục tiêu là surrogate model trả về một phân bố xác suất cho các giá trị có thể có của hàm mục tiêu cho mỗi giá trị đầu vào, trong khi đó hàm mục tiêu trả về một giá trị hằng. Sau khi đã huấn luyện surrogate model, một acquisition function kết hợp với một tiêu chí lựa chọn được sử dụng để tìm điểm dữ liệu có tiềm năng mới. Điểm dữ liệu mới này sẽ được thêm vào tập huấn luyện cho surrogate model trong vòng lặp kế. Acquisition

function sử dụng chính trong luận văn này là EI và UCB. Hình 6 mơ tả giải thuật tối

Hình 6: Mã giả giải thuật tối ưu hóa Bayesian tổng quát.

Phần này sẽ giới thiệu phần nền tảng lý thuyết cho thuật toán Bayesian trong trường hợp bài toán đơn mục tiêu và sẽ được mở rộng cho nhiều hàm mục tiêu trong phần kế tiếp.

3.5.1.2 Gaussian Process Regression (GPR)

Một mơ hình GP được định nghĩa như một phân bố xác suất tiên nghiệm trên hàm mục tiêu. Giả sử ta có một hàm mục tiêu f và một tập gồm k điểm giá trị đã quan sát được , , … , ∈ , các giá trị hàm mục tiêu tương ứng được viết dưới dạng vector [ ( ), ( ), … , ( )]. Ta giả sử giá trị vector này được lấy ngẫu nhiên từ một phân bố xác suất tiên nghiệm có dạng phân phối chuẩn đa chiều. Phân phối chuẩn này được đặc trưng bởi vector chứa giá trị trung bình cộng và ma trận hiệp phương sai.

Ta xây dựng vector trung bình cộng bởi đánh giá một hàm trung bình cộng µ0 cho mỗi giá trị xi. Ma trận hiệp phương sai được tính dựa trên một hàm hiệp phương

sai hay còn gọi là kernel K cho mỗi cặp giá trị xi và xj. Hàm kernel được chọn sao cho nếu cặp điểm xi, xj càng gần nhau thì hệ số tương quan giữa chúng càng cao. Điều này nhằm ngụ ý rằng nếu những điểm càng gần nhau thì càng nên có giá trị hàm mục tiêu giống nhau hơn những điểm ở xa chúng. Một đặc trưng cần lưu ý là ma trận hiệp phương sai phải là một ma trận nửa xác định dương và K không phải là một hàm đối xứng. Phân phối tiên nghiệm nhận được là:

Trong đó, : là chuỗi giá trị , , … , , ta có:

( : ) =[ ( 1), 2), … , ( ],

µ ( 1: )=[µ ( ), µ ( ), … , µ ( )], ( 1: , 1: )=[ ( , ), ( , ), … , ( , )].

Giả sử rằng ( : ) khơng có nhiễu, dựa trên k điểm dữ liệu đã quan sát được, ta cần dự đoán giá trị ( )với điểm dữ liệu tiềm năng mới xk+1.Ta có phân phối tiên nghiệm trên hàm [ ( : ), ( )] được tính như (1), vậy nên ta có thể tính phân phối

hậu nghiệm dựa trên quan sát có được theo định lý Bayes như cơng thức sau:

( )| ( 1: )~ µ ( +1), 2( +1)

µ ( +1)= ( +1, 1: ) −1( +1, 1: ) ( 1: )−µ ( 1: ) +µ ( +1)

( ) = ( , ) − ( , : ) ( : , : ) ( : , )

Trong đó, giá trị trung bình hậu nghiệm µ ( +1) đơn giản là trung bình cộng

có trọng số giữa giá trị trung bình tiên nghiệm µ ( +1) và dự đốn dựa trên tập dữ

liệu đã quan sát ( : ). Phương sai hậu nghiệm ( ) bằng hiệp phương sai tiên nghiệm ( , ) trừ cho một đại lượng liên quan đến phần phương sai bị trừ bởi dữ liệu quan sát cũ ( : ). Đây là cách tính truyền thống để sử dụng GPR.

Luận văn này sử dụng một trong những kernel phổ biến nhất hàm Matèrn [45]. Hàm Matérn được tính như sau với Γ(.) là hàm gamma, α là tham số của kernel và là hàm Bessel [46].

( 1, 2)=α ( ) (√2 | 2− 1| ) (√2 | 2− 1|)

Đối với hàm tính mean µ , luận văn sử dụng lựa chọn đơn giản nhất là sử dụng hàm hằng µ ( ) = µ. Một vấn đề cần lưu ý là các tham số của kernel, cụ thể ở đây là α cần được tối ưu. Luận văn sử dụng phương pháp Maximum Likelihood Estimate (MLE) [23] để tìm tham số α tối ưu.

3.5.1.3 Acquisition function

Nhân tố chính ảnh hưởng đến hiệu năng và khả năng hội tụ của giải thuật

Bayesian là acquisition function (. ). Hàm này sử dụng phân phối xác suất hậu nghiệm trả về từ surrogate model để tính một đại lượng đánh giá về độ “tốt” của hàm mục tiêu với mỗi điểm giá trị đầu vào. Mục tiêu của hàm này là lựa chọn điểm giá trị có độ “tốt” tối ưu nhất và thêm điểm này vào tập dữ liệu cho vòng lặp kế tiếp. Giả sử giải thuật Bayesian đã thực hiện n vịng lặp trước đó. Điểm dữ liệu sẽ được

acquisition function chọn sẽ được tính dưới dạng biểu thức sau:

= ( ) (2)

Một điều đáng lưu ý ở đây là hàm (. ) không phụ thuộc trực tiếp vào hàm

mục tiêu gốc, thay vào đó nó phụ thuộc vào phân phối hậu nghiệm của hàm này từ

surrogate model tại một điểm giá trị tiềm năng. Luận văn này sẽ sử dụng 2 acquisition function nổi tiếng là EI và UCB.

Hàm EI được tính bởi giá trị kỳ vọng của hàm u(y) = max(0, v − ) dưới phân bố xác suất hậu nghiệm của surrogate model với biến ngẫu nhiên y. Trong đó,

v = min(0, { } ) là giá trị quan sát được tốt nhất tới thời điểm hiện tại (giả sử bài tốn tối ưu hóa là cực tiểu hóa). Do đó, hàm EI thực ra là phép đo trung bình về độ “tốt” hơn so với giải pháp tốt nhất hiện tại bởi việc thực hiện đánh giá cho mỗi điểm giá trị đầu tiềm năng. Hàm EI có thể được tính như sau:

(u(y)) = EI(u(y)) = E(u(y)) = σ(x)(γ(x)ϕ(γ(x) + φ(γ(x)))) (3) Trong đó, γ(x) =( µ( ) )( ) , với ϕ (.) và φ(.) lần lượt là hàm mật độ xác suất và hàm phân phối tích lũy của phân phối chuẩn Gaussian. Tham số là tham số cân bằng giữa exploration và exploitation. Thông thường, tham số này được gán là = 0.

Một acquisition function khác được đề xuất dựa trên ý tưởng về cận trên của khoảng tin cậy để cực đại hóa giá trị regret của việc lựa chọn giá trị tiềm năng. Cách

Trong đó, tham số được sử dụng để cân bằng exploitation và exploration của giải thuật. Có nhiều hướng tiếp cận heuristic để lựa chọn tham số này. Trong đó, lựa chọn phổ biến nhất là = ( ) với là số lượng mẫu trong tập giá trị tiềm năng tại vòng lặp thứ t.

3.5.2 Giải thuật Bayesian cho bài toán đa mục tiêu

Như đã đề cập ở phần phần 2.3.1, để áp dụng giải thuật Bayesian cho bài toán đa mục tiêu có hai hướng tiếp cận chính:

 Đưa về bài toán đơn mục tiêu bằng cách trọng số hóa các hàm mục tiêu như giải thuật ParEGO.

 Luận văn này theo hướng tiếp cận thứ hai là sẽ giải quyết bài toán theo dựa trên ý tưởng xấp xỉ true Pareto front của bài toán đa mục tiêu.

Cụ thể hơn, luận văn này sử dụng hai giải thuật SOTA là USeMO và TSEMO. Phần này sẽ đề cập đến ý tưởng cơ bản của hai giải thuật này. Giả sử ta có bài tốn tối ưu k mục tiêu. Giải thuật Bayesian cho bài toán đa mục tiêu là giải thuật lặp gồm 4 bước chính như sau:

 Bước 1: Đối với bài tốn có k mục tiêu : (. ), ta sẽ xây dựng k mơ hình GPR

, , … , . Mỗi mơ hình này ứng với mỗi hàm mục tiêu của bài toán. Để huấn luyện các mơ hình này ta sử dụng một tập dữ liệu đã quan sát được Dt với

t là thứ tự của vòng lặp hiện tại. Cụ thể hơn, luận văn này sử dụng hàm Matérn

với tham số = . Sau mỗi vòng lặp, các tham số của kernel này sẽ được tối

Một phần của tài liệu Phát triển công cụ giả lập hệ thống content delivery netwwork (Trang 31)

Tải bản đầy đủ (PDF)

(84 trang)