4.3 Độ đo đánh giá chất lượng hệ thống CDN
Công cụ giả lập được phát triển trong luận văn này có thể đánh giá một số độ đo về chất lượng dịch vụ và hiệu năng của hệ thống CDN như sau:
Traffic: Khi một gói tin di chuyển trong mạng của hệ thống CDN, nó sẽ đóng góp vào traffic của cả hệ thống. Tổng quát hơn, traffic là lượng dữ liệu di chuyển trong mạng trong suốt thời gian xét đến. Do traffic có thể ảnh hưởng bởi kích thước gói tin, số lượng gói,... để có thể so sánh được đại lượng này với nhiều thiết lập môi trường, chiến lược cache khác nhau, luận văn sử dụng độ đo
normalized traffic. Normalized traffic đơn giản là tỉ lệ giữa tổng traffic của mạng trong trường hợp sử dụng cache và trong trường hợp không sử dụng cache. Chiến lượng cache càng hiệu quả thì độ đo này càng thấp.
Hit Ratio: Khi người dùng gửi yêu cầu một nội dung tới một replica server, nếu
server đó chứa nội dung này, trạng thái gói tin gửi sẽ là “HIT”. Ngược lại, nó sẽ là “MISS”, và server sẽ chuyển yêu cầu này tới một server khác để yêu cầu nội dung. Việc lựa chọn server khi chuyển hướng này phụ thuộc vào chiến lược định tuyến của hệ thống.
Latency (độ trễ): Độ trễ là khoảng thời gian mà người dùng phải đợi tử lúc họ
gửi yêu cầu tới lúc nhận được phản hồi. Đối với những dịch vụ như live streaming, VoD, người dùng thường muốn trải nghiệm độ trễ ổn định và thấp. Maximum Link Utilization (MLU): Link Utilization (LU) đơn giản là mức độ
hiệu quả của một đường mạng. Nó bằng tỉ lệ giữa traffic trung bình đi qua đường mạng trong một đơn vị thời gian chia cho bandwidth của đường mạng đó. Để tính MLU, ta tính LU của mọi đường dẫn mạng trong hệ thống CDN và lấy giá trị LU tối đa. Độ đo này là một tiêu chí quan trọng để đánh giá khả năng cân bằng và chia tải của hệ thống. Nếu khả năng cân bằng tải của hệ thống tốt thì hệ thống sẽ ổn định trong khung giờ cao điểm của traffic. Độ đo này cũng được sử dụng để phát hiện những nút tắt nghẽn của hệ thống. Ta kí hiệu L là một tập các đường dẫn của hệ thống. LU và MLU được tính như sau:
= max ( )
Jitter: Nhà cung cấp dịch vụ giải trí, đa phương tiện ln muốn dịch vụ của họ
có độ trễ ổn định. Một dịch vụ VoD nếu có độ trễ khơng ổn định có thể gây trải nghiệm khơng tốt ở phía người dùng. Độ đo jitter được sử dụng để đánh giá điều này. Độ đo này có thể được đánh giá như sau:
, = −
= − 1 1 ,
4.4 Cấu trúc của file cấu hình hệ thống:
Hình 10 là ví dụ cấu hình của một mơi trường giả lập hệ thống CDN gồm 3
replica servers và 1 origin server. Cụ thể mơi trường giả lập có thơng tin đơn giản như sau:
Nội dung yêu cầu của người dùng gồm 200 nội dung khác nhau với độ phổ biến theo phân phối Gamma.
Chiến lược định tuyến gói tin là chiến lược đường đi ngắn nhất tới origin server gần nhất. Nghĩa rằng nếu replica server khơng có một nội dung được u cầu thì nó sẽ chuyển hướng yêu cầu tới một replica server khác gần nhất trên
đường đi ngắn nhất giữa nó và origin server.
Mỗi nội dung có kích thước bằng nhau là 1024 byte.
Số lượng yêu cầu người dùng cho quá trình khởi tạo cache là 100. Số lượng u cầu người dùng cho q trình mơ phỏng là 100.
Mỗi replica server có một LRU cache với kích thước là 2204857600 byte. Tài nguyên đường mạng giữa các node được thiết lập trong mục “Links”.
Hình 10: Ví dụ về file thiết lập mơi trường cho bộ giả lập.
4.5 Kết luận
Phần này đã giới thiệu kiến trúc, thiết kế, cũng như cách hiện thực các module của công cụ giả lập. Cơng cụ này có thể mơ phỏng lại các ứng dụng thực của hệ thống thực. Đối với những vấn đề liên quan đến sự bất khả thi trong mô phỏng tài nguyên thực như CPU, mạng, bộ nhớ,... cũng đã được đề cập và giải quyết trong chương này. Độ tin cậy của công cụ này sẽ được đánh giá trong các thí nghiệm ở chương 6. Tóm lại, các tính năng mà cơng cụ giả lập cung cấp là:
Khả năng thiết lập mơi trường linh động với chi phí thấp, độ tin cậy cao.
Cung cấp một dashboard thời gian thực để người dùng có thể theo dõi mạng và tình trạng của các node ảo.
Người dùng có thể dễ dàng tái triển khai các ứng dụng thực tế từ hệ thống thực của họ.
Công cụ cung cấp nhiều độ đo đánh giá hệ thống như: traffic, hit rate, độ trễ, MLU, jitter, …
CHƯƠNG 5: BÀI TOÁN TỐI ƯU THIẾT LẬP CDN CDN
Các nhà cung cấp dịch vụ CDN thường đối mặt với những bài toán đầu tư khi cần mở rộng hay xây dựng một hệ thống mới. Một ví dụ là việc xây dựng quá nhiều
replica server hay đặt chúng ở những vị trí khơng thích hợp có thể tăng chi phí đầu tư
lãng phí nhưng khơng cải thiện hay thậm chí làm giảm chất lượng dịch vụ hay trải nghiệm của người dùng. Luận văn này đưa ra một cách tiếp cận sử dụng giải thuật tối ưu Bayesian để giải quyết bài toán này. Đồng thời, một cách tiếp cận cải thiện giải
thuật tối ưu Bayesian cũng được đề xuất trong luận văn này. Chương 5 sẽ mơ tả bài
tốn tổng qt cũng như hai ví dụ bài tốn thực tế minh họa cho ứng dụng giải pháp được đề xuất.
5.1 Bài toán tổng quát
Trong luận văn này, bài tốn tối ưu hóa tài ngun CDN được xét đến như một bài toán tối ưu đa mục tiêu rời rạc. Cụ thể hơn có 2 loại hàm mục tiêu được xét đến là tối đa chất lượng dịch vụ cũng như hiệu năng hệ thống và tối thiểu hóa chi phí đầu tư và có thể có những ràng buộc tối thiểu về chất lượng dịch vụ được giao kèo giữa nhà cung cấp dịch vụ CDN và nhà cung cấp nội dung. Mỗi loại hàm mục tiêu có thể có một hay nhiều hàm mục tiêu riêng lẻ tùy thuộc vào bài toán cụ thể cần giải quyết. Giả sử, ta có n hàm đánh giá hệ thống ( ) , ( ) , … , ( ) và m hàm tính chi phí đầu tư ( ), ( ), … , ( ). Cận dưới của chất lượng dịch vụ cho hàm đánh giá hệ thống thứ i được kí hiệu là ci. Những hàm này lấy X là vector đầu vào chứa giá trị rời rạc. X là rời rạc do các biến đầu vào xét đến ở đây là các thiết lập hệ thống như giải thuật eviction ở từng server trong hệ thống, số lượng memory, phần trăm CPU usage được cấp cho mỗi server hay vị trí đặt replica server trong hệ thống mạng Telco CDN. Các biến thiết lập này thường là các số nguyên, nhị phân hay các giá trị rời rạc. Bài toán này được định nghĩa như sau:
maximize ( ) ( ), ∀ ∈ {1, … , }, minimize ( )( ), ∀ ∈ {1, … , },
: ( ) ≥ , ∃ ∈ {1, … , }.
Các hàm đánh giá hệ thống (.) có thể được tính trực tiếp thơng qua các mơ hình tốn học. Tuy nhiên, các mơ hình này thường sẽ có những ràng buộc nghiêm ngặt về phân bố độ phổ biến nội dung, phân bố thời điểm gói tin tới hay các ràng buộc không thực tế khác. Điều này sẽ ảnh hưởng đến việc đánh giá này trở nên khơng cịn chính xác và phi thực tế. Luận văn này sẽ tận dụng công cụ giả lập đã được mô tả ở phần trước để đánh giá hàm (.) này. Tuy nhiên, thách thức đặt ra ở đây là việc chạy mơ phỏng có thể tốn rất nhiều thời gian. Vậy nên, ta cần phải giảm số lần chạy tính tốn hàm (.) nhiều nhất có thể nhưng vẫn đảm bảo kết quả chấp nhận được. Vậy nên luận văn lựa chọn cách tiếp cận Bayesian.
5.2 Bài toán cấp phát bộ nhớ
Trong bài tốn này, ta xét đến một hệ thống CDN có N replica servers. Có tổng cộng C nội dung khác nhau. Bài toán này gồm hai hàm mục tiêu. Mục đích chính của bài tốn này là tìm bộ thiết lập tối ưu nhất cấp phát bộ nhớ cho mỗi replica server
nhằm tối thiểu hóa chi phí đầu tư và tối thiểu hóa traffic nội mạng. Việc tối thiểu hóa hàm tương đương với việc tối đa hóa như trong bài tốn tổng qt. Bên cạnh traffic nội mạng, bài tốn này có thể sử dụng bất kì hàm đánh giá hiệu năng CDN. Bài toán sử dụng biến đầu vào , ∀ ∈ {1, … , } là biến số nguyên đại diện cho lượng bộ nhớ được cấp phát tại replica server i. Miền giá trị khả dĩ của
biến đầu vào là Dx. Hàm chi phí đơn giản là tổng bộ nhớ được cấp phát của tồn hệ thống. Do có nhiều yếu tố khác có thể ảnh hưởng đến hàm bên cạnh biến đầu vào, để đơn giản hóa bài tốn, ta có một số giả định giới hạn sau:
Chỉ có một original server chịu trách nhiệm tạo nội dung. Trong môi trường
thực tế, nhà cung cấp nội dung có thể có nhiều original servers ở các vị trí khác nhau.
Tất cả replica servers sử dụng giải thuật LRU như giải thuật eviction. Đây là
giải thuật đơn giản, phổ biến và là mặc định của nhiều HTTP framework. Ràng buộc về cận dưới của hàm cũng được loại bỏ và sẽ xét đến sau.
Việc giải một bài tốn có ràng buộc thường sẽ khó hơn một bài tốn khơng có ràng buộc. Ràng buộc đơn giản ở hàm có thể được sử dụng để lọc tập nghiệm Pareto set thu được sau khi giải xong bài toán.Gọi s là kích thước trung bình của nội dung được u cầu từ người dung. Do bộ nhớ cấp phát cho mỗi máy là số nguyên và ta có thể áp đặt cận trên và dưới nên cho biến đầu vào. Hay nói cách khác ta có ⊂ {0, … , . }.
Một điểm cần lưu ý là việc giải bài toán này với phương pháp brute-force là bất khả thi. Cụ thể hơn, giả sử ta có 4 server trong hệ thống CDN, mỗi server sẽ có 10 giá trị khả dĩ cho biến xi. Vậy tập nghiệm khả dĩ có kích thước là 104. Nếu vét cạn sẽ cần chạy 104 lần bộ giả lập để có thể thu được kết quả tối ưu.
5.3 Bài tốn phân bố replica server
Bài tốn này nhằm tìm vị trí đặt server và số lượng server cần có dựa trên cơ sở hạ tầng mạng của nhà mạng ISP. Đây là bài toán đặt ra khi nhà mạng cần xây dựng cho chính họ một hệ thống Telco-CDN. Giả sử hệ thống Telco-CDN này có N routers. Hàm đánh giá hệ thống trong bài toán này là traffic nội mạng của hệ thống . Bài toán sử dụng biến đầu vào , ∀ ∈ {1, … , } là biến nhị phân đại diện cho việc có đặt replica server tại router i. Với = 1, nếu có replica server tại router i và = 0
thì ngược lại. Hàm chi phí là tổng bộ số lượng replica server có trong hệ thống CDN. Các giả định của bài toán cấp phát bộ nhớ cũng được áp dụng tương tự như trong bài toán này. Một điểm đáng lưu ý là bài toán này có thể giải quyết được với kĩ thuật
brute-force trong trường hợp mạng Telco-CDN có kích thước nhỏ. Vậy nên trong luận
văn này, kích thước mạng được xét cho bài tốn này sẽ có kích thước lớn (> 10 routers cho mỗi mạng).
5.4 Giải pháp
5.4.1 Giải thuật tiến hóa (Baseline)
Một cách tiếp cận truyền thống để quyết bài tốn tối ưu hóa đa mục tiêu là các giải thuật tiến hóa di truyền. Trong luận văn này, giải thuật NSGA-II được sử dụng như một baseline để so sánh với các giải thuật Bayesian. Để sử dụng giải thuật
NSGA-II, việc đầu tiên cần phải mã hóa các biến đầu vào thành dạng vector. Gọi X là vector đầu vào tương ứng với N biến đầu vào , ∀ ∈ {1, … , }.
Luận văn sử dụng một population với kích thước 100 mẫu để khởi tạo cho giải thuật NSGA-II và chạy 30 thế hệ. Tùy thuộc vào bài toán các tham số và phép toán di truyền được thiết lập như sau:
Bài toán cấp phát bộ nhớ:
o Phép lai tạo: Luận văn áp dụng phép lai tạo single-point crossover với xác suất lai là 0.9.
o Phép đột biến: Vector đầu vào X đột biến bởi phép đột biến uniform
mutation. Điều đó nghĩa rằng với mỗi phần tử trong X có xác suất là 1/N được thay thế bởi một giá trị được lấy ngẫu nhiên từ miền giá trị đầu
vào Dx.
Bài toán phân bố replica server:
o Phép lai tạo: Luận văn áp dụng phép lai tạo binary uniform crossover.
o Phép đột biến: Vector đầu vào X đột biến bởi phép đột biến bitflip mutation. Nghĩa rằng giải thuật sẽ ngẫu nhiên thay đổi giá trị nhị phân
của 1 phần tử trong vector đầu vào.
5.4.2 Giải thuật Bayesian
5.4.2.1 Đề xuất cải tiến
Các giải thuật Bayesian được đề cập trong phần 3.5 đều được phát triển cho bài tốn đa mục tiêu trong khơng gian liên tục. Việc áp dụng các giải thuật này cho bài tốn rời rạc có thể ảnh hưởng đến hiệu năng và khả năng hội tụ của giải thuật. Đề xuất
Để gia tăng tốc độ tối ưu và thí nghiệm, luận văn sử dụng phiên bản batch
evaluation của giải thuật TSEMO và USeMO như trong [39]. Cả 2 giải thuật đều có
population được khởi tạo bởi giải thuật LHS. Giải thuật LHS bản gốc lấy mẫu trên khơng gian liên tục, để có thể áp dụng cho khơng gian rời rạc, luận văn thay đổi giải thuật này như trong bài báo [55].
Vấn đề về áp dụng giải thuật Bayesian trong khơng gian rời rạc cho bài tốn đơn mục tiêu đã được phân tích và giải quyết trong nhiều nghiên cứu [40][56]. Ý tưởng cải tiến trong luận văn này lấy cảm hứng từ đề xuất của Phuc et al. [41]. Cụ thể hơn, trong bài báo này, tác giả đã phân tích các tác nhân ảnh hưởng đến vấn đề giải thuật Bayesian thường bị vướng vào các điểm tối ưu cục bộ gây khó khăn khi hội tụ trong không gian rời rạc. Một đặc điểm cần lưu ý của giải thuật Bayesian, tác nhân chính ảnh hưởng đến khả năng hội tụ và hiệu năng của giải thuật là việc tối ưu hóa hàm acquisition function. Để giải quyết vấn đề này, Phuc et al. đã đề xuất giải thuật tìm các tham số của hàm kernel Radial Basis Function (RBF) [23] và acquisition
function UCB để cân bằng giữa exploitation và exploration. Đề xuất này được áp dụng
cho các giải thuật Bayesian với single evaluation. Các tham số này được tối ưu và cập nhật khi xảy ra tình trạng nghiệm được đề xuất bị trùng với nghiệm cũ đã tìm được. Một khuyết điểm của cách tiếp cận này là khi áp dụng chiến lược này cho bài toán đa mục tiêu có thể rất cồng kềnh và gây tốn thời gian cho quá trình tìm tham số phù hợp. Một ví dụ cụ thể là giả sử đối với bài tốn đơn mục tiêu giải thuật Bayesian có t tham số cần tối ưu, tuy nhiên trong bài toán k mục tiêu, có thể có hơn ∗ tham số cần tối ưu. Bài tốn tìm tham số này có thể trở nên phức tạp và khó tối ưu hơn rất nhiều trong ngữ cảnh bài toán đa mục tiêu.
Để hạn chế số lượng tham số cần tối ưu, đề xuất trong luận văn này chỉ tập trung tối ưu tham số cân bằng việc exploration và exploitation của các acquisition function. Cụ thể hơn, luận văn sẽ thí nghiệm ý tưởng với 2 hàm acquisition function là
EI và UCB với tham số của đẳng thức (3) và (4). Đối với batch evaluation của bài toán đa mục tiêu, luận văn định nghĩa nghiệm của 2 vòng lặp kế tiếp nhau của giải thuật Bayesian khi 2 Pareto front của các tập nghiệm này có hình mẫu rất giống nhau và nằm gần nhau. Luận văn sử dụng độ đo khoảng cách Hausdorff hai chiều để đánh
giá sự tương tự nhau giữa 2 tập Pareto front. Khoảng cách Hausdorff là một độ đo
thông dụng trong xử lý ảnh để đánh giá sự giống nhau giữa 2 tập điểm ảnh. Giả sử có