TỔNG QUAN
Giới thiệu
Ngày nay, nhu cầu sử dụng internet tăng nhanh đã tạo ra một lượng lớn dữ liệu được sinh ra và truyền tải hàng ngày Sự phát triển mạnh mẽ của các dịch vụ live-streaming, Video-on-Demand (VoD) và Over-The-Top (OTT) đã khiến các mô hình truyền thống với một máy chủ phục vụ nhiều người dùng không còn đáp ứng được yêu cầu về chất lượng Do đó, các hệ thống CDN ra đời nhằm cải thiện trải nghiệm người dùng bằng cách giảm độ trễ dịch vụ.
Hệ thống CDN bao gồm nhiều máy chủ phân bố địa lý, cho phép nội dung gốc từ nhà cung cấp được sao chép và phân phối trên nhiều máy trong mạng Khi người dùng yêu cầu nội dung, nó sẽ được cung cấp từ máy chủ CDN gần nhất, giúp giảm độ trễ Nhà cung cấp CDN cần tính toán tài nguyên cần thiết và triển khai chiến lược caching để tối ưu chi phí đầu tư, đặc biệt khi lượng người dùng tăng gấp đôi Việc sử dụng các công cụ simulation để đánh giá các chỉ số như traffic và hit rate là phổ biến, nhưng thường thiếu độ tin cậy trong việc đo lường chất lượng dịch vụ như độ trễ và jitter Đề tài này phát triển công cụ emulation cho CDN với khả năng thiết lập linh hoạt và độ tin cậy cao, dựa trên thư viện Containernet, một mở rộng của Mininet kết hợp với Docker Công cụ này cho phép tái triển khai các ứng dụng thực tế như dịch vụ HTTP và sử dụng dữ liệu log từ hệ thống CDN thực tại Việt Nam để đánh giá độ tin cậy.
Đề tài này mô hình hóa hai ví dụ thực tiễn về cấp phát tài nguyên CDN, bao gồm bài toán cấp phát bộ nhớ và phân bố replica servers Bài toán cấp phát tài nguyên cho CDN được xem như một bài toán tối ưu rời rạc đa mục tiêu, với mục tiêu chọn bộ thiết lập tối ưu nhằm giảm chi phí đầu tư và nâng cao chất lượng dịch vụ Chất lượng dịch vụ được đánh giá thông qua một công cụ giả lập đã phát triển Để tiết kiệm thời gian trong việc đánh giá hàm mục tiêu, luận văn áp dụng các phương pháp Bayesian, vốn nổi bật với khả năng tối ưu hiệu quả chỉ qua một số lần chạy đánh giá hàm mục tiêu hạn chế.
Luận văn này đề xuất một phương pháp nhằm cải thiện hiệu năng của giải thuật Bayesian trong các bài toán rời rạc, nơi mà phương pháp Bayesian thường gặp khó khăn Tóm lại, nghiên cứu đã thực hiện các công việc quan trọng để nâng cao hiệu quả của giải thuật này trong không gian rời rạc.
Phát triển công cụ giả lập hệ thống CDN với khả năng thiếp lập linh động, ít tốn chi phí, có độ tin cậy cao.
Mô hình hóa bài toán cấp phát tài nguyên cho hệ thống CDN Đồng thời, đề xuất giải thuật để giải quyết bài toán này.
Ý nghĩa đề tài
Luận văn này cung cấp một công cụ giả lập CDN linh hoạt và đáng tin cậy, tạo điều kiện cho các nhà cung cấp dịch vụ CDN và nhà nghiên cứu thử nghiệm các chiến lược triển khai và cải tiến hệ thống Người dùng có thể mô phỏng hệ thống và ứng dụng của mình để tìm kiếm thiết lập tối ưu trước khi áp dụng vào thực tiễn Với số lượng lớn các bộ tham số khả dĩ, việc thử nghiệm từng bộ trở nên không khả thi, vì vậy luận văn đã đề xuất một phương pháp tự động hóa quá trình này thông qua tối ưu hóa bài toán đa mục tiêu.
Mô hình hóa bài toán tìm bộ số thiết lập cho hệ thống CDN được xem như một bài toán đa mục tiêu rời rạc Luận văn không chỉ phân tích vấn đề này mà còn mô hình hóa và giải quyết hai ví dụ thực tiễn liên quan, nhằm cung cấp cái nhìn sâu sắc và ứng dụng thực tiễn cho hệ thống CDN.
Đề xuất cải tiến giải thuật tối ưu hóa đa mục tiêu dựa trên Bayesian trong không gian rời rạc nhằm nâng cao tốc độ hội tụ của các phương pháp Bayesian cho bài toán đa mục tiêu rời rạc.
Phạm vi đề tài
Phương pháp cải tiến thuật toán tối ưu Bayesian trong luận văn này có khả năng áp dụng cho bài toán tối ưu đa mục tiêu rời rạc, mở ra hướng đi mới cho việc giải quyết các vấn đề phức tạp trong lĩnh vực tối ưu hóa.
Môi trường thử nghiệm: Luận văn sử dụng 3 hệ thống mạng thực ở Việt Nam
Một tập dữ liệu thực được trích xuất từ log file của hệ thống CDN tại Việt Nam được sử dụng để đánh giá độ tin cậy của công cụ giả lập và thực hiện một số thí nghiệm liên quan đến ứng dụng thực tiễn của giải thuật tối ưu, sẽ được trình bày chi tiết ở chương 6 Ngoài ra, một tập dữ liệu giả lập dựa trên phân phối Gamma cũng được sử dụng để chạy thí nghiệm với các kiến trúc mạng tại Pháp và Nhật.
Luận văn áp dụng phương pháp nghiên cứu thực nghiệm để đánh giá độ tin cậy và mức tiêu thụ tài nguyên của công cụ giả lập Ngoài ra, đối với giải thuật tối ưu hóa được đề xuất, nghiên cứu tiến hành phân tích lý thuyết trước, sau đó kiểm chứng hiệu quả và tính đúng đắn thông qua các kết quả thực nghiệm.
Bố cục
Báo cáo luận văn này bao gồm 8 chương, trong đó chương 2 trình bày các công trình liên quan và các hướng tiếp cận để giải quyết vấn đề Chương 3 cung cấp thông tin về thư viện Mininet và cơ sở lý thuyết cho các ý tưởng trong luận văn Chương 4 mô tả thiết kế tổng quan và cách hiện thực hóa công cụ giả lập Chương 5 nêu rõ vấn đề của các nhà đầu tư hệ thống CDN cùng với hai ví dụ thực tiễn và giải pháp cải tiến Chương 6 trình bày kết quả thí nghiệm đánh giá công cụ và giải pháp đề xuất Chương 7 kết luận về ưu điểm, hạn chế và công việc tương lai Cuối cùng, danh sách trích dẫn và tài liệu tham khảo được nêu rõ trong luận văn.
CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Tổng quan về các hướng phân tích và mô hình hóa hệ thống CDN
Trong những năm gần đây, CDN đã thu hút sự quan tâm của cả giới nghiên cứu và doanh nghiệp, dẫn đến việc nghiên cứu và ứng dụng rộng rãi trong thực tiễn Các nhà nghiên cứu không ngừng phân tích hành vi và đặc điểm của CDN, đồng thời đề xuất các chiến lược và giải thuật nhằm cải thiện chất lượng dịch vụ, tối ưu hiệu suất hệ thống và giảm thiểu chi phí tài nguyên Các nghiên cứu này thường được chia thành hai hướng chính.
Trong nghiên cứu về hệ thống CDN, các nhà nghiên cứu áp dụng mô hình lý thuyết bằng cách sử dụng các mô hình toán học, chủ yếu dựa trên lý thuyết hàng đợi Một nghiên cứu quan trọng trong lĩnh vực này là bài báo của Che, trong đó tác giả đã mô hình hóa hành vi của hệ thống CDN với giả định đơn giản và nhiều ràng buộc phi thực tế, cụ thể là mô hình hóa yêu cầu người dùng như một quá trình Poisson Bài báo này cung cấp công thức lý thuyết để tính toán xấp xỉ số lượng miss và hit trong hệ thống CDN khi áp dụng thuật toán caching eviction LRU Các mô hình mở rộng cho các thuật toán eviction khác cũng đã được đề xuất trong các nghiên cứu tiếp theo Mặc dù nhiều mô hình hiện nay đã kế thừa và mở rộng từ mô hình của Che, nhưng chúng thường vẫn giữ lại những ràng buộc để đơn giản hóa, dẫn đến tính phi thực tế trong việc mô hình hóa hành vi và hiệu suất của hệ thống, khi nhiều yếu tố quan trọng không được xem xét.
Một trong những cách tiếp cận hiệu quả để khắc phục những hạn chế của phương pháp lý thuyết là sử dụng các công cụ mô phỏng Các công cụ này, như CoDeeN và CDNSim, được thiết kế để giả lập hành vi của hệ thống CDN, nhưng mỗi công cụ đều có những ưu nhược điểm riêng CoDeeN, phát triển từ những năm 2000, gặp khó khăn do hạn chế truy cập vào hệ thống PlanetLab, trong khi CDNSim, mặc dù linh hoạt và ít tốn chi phí, lại không đảm bảo tính chính xác khi mô phỏng các ứng dụng thực tế như web hay dịch vụ streaming Để giải quyết những vấn đề này, luận văn này sẽ phát triển một công cụ emulator mới, nhằm mô phỏng chính xác các ràng buộc về môi trường mạng và cung cấp khả năng triển khai linh hoạt cho các ứng dụng thực của hệ thống CDN.
Một số nghiên cứu liên quan đến bài toán cấp phát tài nguyên cho hệ thống CDN
Hệ thống CDN cần tối ưu hóa chi phí đầu tư và hiệu năng thông qua việc quản lý tài nguyên hiệu quả Các tài nguyên thường được xem xét bao gồm dung lượng bộ nhớ cho các máy chủ replica, vị trí và số lượng của chúng, tài nguyên mạng, cũng như chiến lược lưu trữ và xóa nội dung Để giải quyết vấn đề này, có hai hướng tiếp cận chính: tối ưu hóa theo hàm mục tiêu mới hoặc giải quyết bài toán đa mục tiêu trực tiếp Tùy thuộc vào loại tài nguyên và yêu cầu cụ thể, các giải pháp cấp phát có thể là tĩnh hoặc động Chẳng hạn, trong việc cấp phát bộ nhớ cho các máy chủ replica trong môi trường cloud, có thể áp dụng cả hai phương pháp để tối ưu hóa theo lưu lượng traffic Bảng 2-1 cung cấp danh sách một số nghiên cứu liên quan đến cấp phát tài nguyên cho hệ thống CDN.
Bảng 2-1: Một số công trình liên quan đến bài toán cấp phát tài nguyên CDN Hướng tiếp cận Mục tiêu Các biến đầu vào Cơ chế cấp phát
Công trình Đơn mục tiêu có ràng buộc
Tối thiểu tổng chi phí truyền tải gói tin với ràng buộc về khả năng lưu trữ bị giới hạn của replica server
Nội dung cần cache tại mỗi replica server Tĩnh [13]
Tối ưu hóa chi phí với ràng buộc về chất lượng dịch vụ
Nội dung sẽ được chứa trong data center nào Động [14]
Chi phí bandwidth và lưu trữ cho trường hợp CDN có topology dạng tree 2 tầng (Tác giả chứng minh lý thuyết công thức tính cận dưới của biến chi
Lưu và xóa nội dung ở các replica servers Động [16]
Vị trí đặt máy chủ, cách cache nội dung tại các replica server Tĩnh và động [17]
Vị trí đặt máy chủ và số lượng máy Tĩnh [18] Đa mục tiêu Tối thiểu chi phí thuê dịch vụ.
Tăng chất lượng dịch vụ.
Số lượng máy ảo tại mỗi data centers.
Nội dung nào sẽ được cách trong các data centers
Tổng quan về bài toán tối ưu hóa đa mục tiêu
2.3.1 Các hướng nghiên cứu chính
Bài toán tối ưu hóa đa mục tiêu thường được giải quyết theo 2 hướng chính là scalarization và hướng tiếp cận Pareto.
Các phương pháp scalarization chuyển đổi bài toán đa mục tiêu thành bài toán đơn mục tiêu, giúp đơn giản hóa quá trình giải quyết Hàm mục tiêu trong trường hợp này là tổng có trọng số của các hàm mục tiêu ban đầu Mặc dù các phương pháp này cung cấp một lời giải duy nhất, nhưng chúng thường yêu cầu điều chỉnh trọng số giữa các hàm mục tiêu, và việc lựa chọn trọng số thường không đảm bảo tính tối ưu Ngoài ra, sự lựa chọn giải pháp cho bài toán đa mục tiêu thường mang tính chủ quan, phụ thuộc vào hoàn cảnh và thời điểm cụ thể, dẫn đến hạn chế trong tính linh hoạt khi tìm kiếm phương án tối ưu.
Các phương pháp theo hướng tiếp cận Pareto tập trung vào việc tối ưu hóa một mục tiêu mà không làm giảm hiệu suất ở các mục tiêu khác Giải thuật di truyền, một phương pháp cổ điển và phổ biến, mô phỏng các phép di truyền để tối ưu hóa hàm mục tiêu Trong bài viết này, giải thuật NSGA-II sẽ được sử dụng như một trong những tiêu chuẩn để so sánh với các giải thuật mới được đề xuất Bên cạnh đó, các ý tưởng từ các giải thuật khác cũng sẽ được xem xét trong nghiên cứu này.
Phương pháp Bayesian nổi bật với khả năng hội tụ nhanh chóng sau một vài lần đánh giá hàm mục tiêu, đặc biệt hữu ích trong trường hợp đánh giá này tốn nhiều thời gian Luận văn này tập trung vào việc cải tiến phương pháp Bayesian để giải quyết hiệu quả bài toán đa mục tiêu rời rạc.
2.3.2 Giải thuật Bayesian cho bài toán đa mục tiêu
Giải thuật Bayesian là một phương pháp lặp lại, sử dụng mô hình surrogate để xác định phân bố hàm mục tiêu và một hàm acquisition nhằm chọn lựa điểm tối ưu tiềm năng Trong nghiên cứu này, chúng tôi áp dụng một trong những phương pháp phổ biến nhất cho mô hình surrogate, đó là Gaussian Process.
Trong nghiên cứu này, các giải thuật như Random Forest, Decision Tree, và T-Student process được đề xuất để tối ưu hóa bài toán, với các hàm acquisition như Expected Improvement (EI) và Upper Confidence Bound (UCB) giúp lựa chọn nghiệm tối ưu tiềm năng Hai hướng chính trong việc lựa chọn điểm kế tiếp là lựa chọn đơn (single selection) và lựa chọn bó (batch selection) Trong khi lựa chọn đơn chỉ chọn một nghiệm tại mỗi vòng lặp, lựa chọn bó cho phép đánh giá nhiều nghiệm cùng lúc, tiết kiệm thời gian và được ưa chuộng trong ứng dụng thực tiễn Để áp dụng giải thuật Bayesian cho bài toán đa mục tiêu, có thể quy về bài toán đơn mục tiêu thông qua scalarization, như trong giải thuật ParEGO Tuy nhiên, giải thuật này cũng gặp phải một số vấn đề Gần đây, giải thuật USeMO kết hợp NSGA-II và ý tưởng của giải thuật Bayesian đã được đề xuất để giải quyết bài toán đa mục tiêu Đề xuất trong luận văn này sẽ xây dựng và cải tiến dựa trên USeMO, một trong những giải thuật state-of-the-art hiện nay, cùng với các công trình liên quan như TSEMO và DGEMO sẽ được mô tả chi tiết trong chương 3.
2.3.3 Các cách tiếp cận để giải quyết bài toán tối ưu hóa rời rạc sử dụng
Giải thuật Bayesian gốc được thiết kế để giải quyết các bài toán trong không gian liên tục, nhưng khi áp dụng cho không gian rời rạc, điều này có thể ảnh hưởng đến khả năng hội tụ và kết quả cuối cùng Nghiên cứu đã chỉ ra những hạn chế của việc áp dụng phương pháp Bayesian trong không gian liên tục.
Nhóm tác giả đã đề xuất một phương pháp cải thiện khả năng hội tụ của giải thuật Bayesian cho bài toán đơn mục tiêu rời rạc, nhưng phương pháp này còn tồn tại một số hạn chế Để khắc phục, Phuc et al đã phát triển một giải thuật tự động điều chỉnh các tham số nhằm cân bằng giữa exploitation và exploration cho bài toán đơn mục tiêu Tuy nhiên, khi áp dụng cho bài toán đa mục tiêu, số lượng tham số cần điều chỉnh có thể rất lớn, gây khó khăn và tốn thời gian trong việc tìm ra bộ số tối ưu Luận văn này sẽ trình bày một cách tiếp cận mới, lấy cảm hứng từ ý tưởng đó, nhằm cải thiện giải thuật UsEMO cho bài toán đa mục tiêu.
CƠ SỞ LÝ THUYẾT
Tổng quan về Content Delivery Network
Trong mô hình mạng truyền thống, tất cả yêu cầu từ người dùng đều được xử lý bởi một máy chủ hoặc data center của nhà cung cấp nội dung Khi số lượng người dùng tăng cao, kiến trúc này gặp khó khăn trong việc duy trì chất lượng dịch vụ ổn định Mô hình mạng CDN ra đời nhằm đáp ứng nhu cầu này, giúp doanh nghiệp giảm tải traffic nội mạng, giảm độ trễ và tăng tính ổn định Khi người dùng yêu cầu nội dung, thay vì gửi đến máy chủ chính, yêu cầu sẽ được chuyển đến các máy chủ replica trong hệ thống, cải thiện trải nghiệm người dùng.
CDN Nội dung sẽ được cache trong một hay nhiều replica servers của CDN
Có 4 đối tượng chính trong một mô hình kinh doanh của hệ thống CDN gồm:
Người dùng cuối là những người sử dụng dịch vụ từ nhà cung cấp nội dung, thường trả phí hàng tháng để truy cập internet hoặc các dịch vụ OTT, VoD Một trong những mục tiêu quan trọng khi nghiên cứu hệ thống CDN là nâng cao trải nghiệm cho người dùng cuối.
Nhà cung cấp nội dung cung cấp dịch vụ trực tiếp cho khách hàng mà không cần phải thông qua các giao dịch phức tạp với nhà mạng ISP Họ thường ưu tiên tiết kiệm chi phí cho cơ sở hạ tầng, nâng cao chất lượng dịch vụ và duy trì tính độc quyền với khách hàng.
Nhà cung cấp dịch vụ CDN cung cấp hạ tầng mạng và máy chủ cần thiết cho mạng phân phối nội dung Họ thiết lập các hợp đồng chất lượng với nhà cung cấp nội dung để đảm bảo hiệu suất và độ tin cậy của dịch vụ.
Nhà mạng ISP chủ yếu thu phí từ người dùng cuối và có thể nhận thêm từ nhà cung cấp dịch vụ CDN Họ cần duy trì và cân bằng chi phí hạ tầng cùng chất lượng mạng để cạnh tranh hiệu quả với các nhà mạng khác.
Tùy thuộc vào cách triển khai và mô hình kinh doanh, các hệ thống CDN được phân loại thành ba nhóm chính:
Hệ thống CDN truyền thống được mô tả qua hình 1, trong đó các máy chủ replica được đặt tại nhiều trung tâm dữ liệu (PoP) kết nối trực tiếp với routers của nhà mạng ISP Mỗi PoP phục vụ cho một khu vực nhỏ, chỉ đáp ứng các yêu cầu từ người dùng cuối trong khu vực đó Nhà cung cấp nội dung thuê dịch vụ CDN để nâng cao chất lượng phục vụ, với hợp đồng thường bao gồm cam kết về chất lượng dịch vụ tối thiểu.
Hình 1: Mô hình CDN truyền thống
Hệ thống cloud CDN hiện nay được cung cấp bởi nhiều nền tảng lớn như Akamai, CloudFront, Google Cloud và Amazon AWS Các nhà cung cấp nội dung thường thuê dịch vụ cloud từ những nền tảng này để đáp ứng nhu cầu của họ Chi phí dịch vụ CDN phụ thuộc vào chính sách của từng công ty, thường được tính dựa trên số lượng máy chủ, dung lượng lưu trữ và lưu lượng traffic, với cách tính khác nhau theo từng khu vực Mỗi "region" trong mô hình này bao gồm nhiều "district" và được phục vụ bởi các data center trong khu vực của nhà cung cấp dịch vụ cloud.
Hình 2: Mô hình cloud CDN
Hệ thống Telco CDN cho phép nhà cung cấp dịch vụ CDN sử dụng hoặc chia sẻ cơ sở hạ tầng mạng của nhà mạng ISP, từ đó triển khai CDN trực tiếp trên nền tảng này Mô hình Telco CDN, như được mô tả trong Hình 3, cho phép các máy chủ replica kết nối trực tiếp với các router của nhà mạng, tối ưu hóa hiệu suất và tốc độ truyền tải dữ liệu.
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 toán admission là việc xác định nội dung nào sẽ được lưu trữ trong bộ nhớ cache Thông thường, các nhà cung cấp nội dung sẽ thêm một trường vào header của gói tin để đánh dấu nội dung cần được cache trong hệ thống CDN Tuy nhiên, luận văn này không bàn về chiến lược admission trong môi trường thí nghiệm, mà các máy chủ replica sẽ cache toàn bộ nội dung mới.
Chiến lược định tuyến gói tin là quá trình xác định cách thức chuyển hướng yêu cầu từ một server đến một server khác khi nội dung không có trong các bản sao của server đó.
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, một thư viện giả lập mạng cho phép tạo ra các máy ảo chạy mã thực Mỗi máy ảo trong mạng giả lập có network stack và Linux kernel riêng, hoạt động trên một namespace độc lập và giao tiếp qua các kết nối ethernet ảo Phiên bản cập nhật Mininet HiFi cung cấp cơ chế cô lập tài nguyên và khả năng thiết lập đường kết nối ảo, cho phép cấp phát phần trăm tài nguyên CPU cố định và điều chỉnh các yếu tố mạng như bandwidth, loss và delay Luận văn này sử dụng Containernet, một phiên bản mở rộng của Mininet, cho phép triển khai các ứng dụng thực qua Docker container trên các máy ảo, giúp giả lập hệ thống thực chi tiết hơn.
Nghiên cứu về sự tương quan giữa tính đúng đắn và ổn định của thư viện Mininet với khả năng phần cứng của máy thực đã được thực hiện Mininet, được thiết kế để giả lập các hệ thống Software Defined Network (SDN), vẫn duy trì độ tin cậy và ổn định khi mô phỏng các mạng truyền thống Tuy nhiên, việc sử dụng các SDN controller có thể làm tăng mức tiêu thụ tài nguyên phần cứng Trong luận văn này, công cụ giả lập được phát triển sẽ định tuyến gói tin dựa vào các router giả lập thay vì sử dụng bộ SDN controller Chi tiết về việc hiện thực công cụ này sẽ được trình bày trong chương 4.
Bài toán tối ưu hóa đa mục tiêu
Bài toán tối ưu hóa đa mục tiêu bao gồm nhiều hàm mục tiêu cần tối ưu hóa, ký hiệu hàm mục tiêu thứ i là f_i(x) với x là biến số thực đầu vào d chiều Mục tiêu là tối thiểu hóa các hàm mục tiêu này trong không gian đầu vào X, nhưng các mục tiêu thường đối kháng nhau Khi tối ưu hóa một mục tiêu riêng lẻ, có thể ảnh hưởng tiêu cực đến các mục tiêu khác Để tìm nghiệm tối ưu, cần định nghĩa rõ ràng thế nào là một lời giải tốt hơn lời giải khác Trong bài toán đơn mục tiêu, sự "vượt trội" được xác định qua so sánh giá trị hàm mục tiêu, trong khi ở bài toán đa mục tiêu, khái niệm dominance được sử dụng để đánh giá sự vượt trội, trong đó một lời giải x_1 được gọi là dominate x_2 nếu thỏa mãn hai điều kiện cụ thể.
x 1 không tệ hơn x 2 trong tất cả các mục tiêu
x 1tốt hơn x 2trong ít nhất một mục tiêu
Bài toán đa mục tiêu được giải quyết theo phương pháp Pareto sẽ tạo ra một tập nghiệm tối ưu, được gọi là tập Pareto Các nghiệm trong tập Pareto P sẽ không bị chi phối bởi bất kỳ giá trị nào khác trong tập X Đặc biệt, trong bối cảnh bài toán tối thiểu hóa, các nghiệm này thể hiện tính ưu việt mà không bị ảnh hưởng bởi các lựa chọn khác.
Định nghĩa dominanace: x 1 dominate x 2 nếu thỏa cả 2 điều kiện sau: ∀ ,
Hình 4 là ví dụ minh họa cho khái niệm dominate và Pareto front với bài toá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 toá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 toá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 {p 1 , p 2 , p 3 , p 4} 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)
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 di truyền cổ điển và phổ biến nhất để giải quyết bài toán đa mục tiêu Giải thuật này hoạt động theo cơ chế lặp, với mỗi vòng lặp tương ứng với một thế hệ Quy trình của NSGA-II có thể được tóm tắt trong 6 bước chính.
Bước đầu tiên trong quá trình tối ưu hóa là khởi tạo quần thể P t, được thực hiện thông qua các chiến lược lấy mẫu khác nhau, chẳng hạn như lấy mẫu ngẫu nhiên theo phân phối chuẩn hoặc áp dụng phương pháp Latin Hypercube Sampling (LHS).
Bước 2: Thực hiện giải thuật Non-dominated sorting (NDS) trong bài toán tối thiểu hóa, nghiệm của quần thể P t được phân loại thành N Pareto fronts, với mỗi front được gọi là rank của Pareto front Giải thuật NDS bắt đầu bằng cách chọn những nghiệm không bị dominate bởi bất kỳ nghiệm nào khác trong tập P t và gán chúng vào Pareto front có rank 1 Quá trình này tiếp tục lặp lại để xác định các Pareto front tiếp theo cho đến khi tất cả các mẫu trong P t đều được phân loại vào 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 P t 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 tập đời con S t với tập P t ban đầu, sau đó chọn ra các mẫu tốt nhất để tạo ra thế hệ mới P t+1, đảm bảo kích thước quần thể tương đương với tập P t ban đầu Tiếp tục quay lại bước 1.
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
Giải thuật Bayesian là phương pháp hiệu quả để giải quyết các bài toán có hàm mục tiêu “đắt giá”, tức là tốn nhiều thời gian và chi phí trong việc tính toán Ưu điểm của giải thuật này là chỉ cần tính toán hàm mục tiêu với số lần ít nhưng vẫn đạt kết quả chấp nhận được Quá trình lặp lại của giải thuật xây dựng và huấn luyện một mô hình thay thế (surrogate model) để xấp xỉ phân bố của hàm mục tiêu Mô hình thay thế cung cấp phân bố xác suất cho các giá trị có thể có của hàm mục tiêu, khác với hàm mục tiêu chỉ trả về một giá trị cố định Sau khi huấn luyện mô hình thay thế, một hàm thu thập (acquisition function) kết hợp với tiêu chí lựa chọn sẽ được sử dụng để xác định điểm dữ liệu tiềm năng mới, điểm này sẽ được bổ sung vào tập huấn luyện cho mô hình trong vòng lặp tiếp theo Trong luận văn này, các hàm thu thập được sử dụng là EI và UCB Hình 6 minh họa quy trình tối ưu hóa Bayesian cho bài toán đơn mục tiêu.
Hình 6: Mã giả giải thuật tối ưu hóa Bayesian tổng quát.
Phần này sẽ trình bày nền tảng lý thuyết cho thuật toán Bayesian trong bối cảnh bài toán đơn mục tiêu, và sẽ được phát triển để áp dụng cho nhiều hàm mục tiêu trong phần tiếp theo.
Mô hình GP (Gaussian Process) được định nghĩa là một phân bố xác suất tiên nghiệm trên hàm mục tiêu Giả sử có một hàm mục tiêu f và một tập hợp k điểm giá trị đã quan sát, cùng với các giá trị hàm mục tiêu tương ứng được biểu diễn dưới dạng vector Các giá trị này được giả định là 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, được đặc trưng bởi vector trung bình và ma trận hiệp phương sai.
Ta xây dựng vector trung bình cộng bằng cách định giá một hàm trung bình cộng là 0 cho mỗi giá trị x_i Ma trận hiệp phương sai được tính dựa trên hàm hiệp phương sai, hay còn gọi là kernel K, cho mỗi cặp giá trị x_i và x_j Hàm kernel được chọn sao cho cặp điểm x_i và x_j càng gần nhau thì hệ số tương quan giữa chúng càng cao, điều này ngụ ý rằng các điểm gần nhau sẽ có giá trị hàm mục tiêu tương tự hơn so với những điểm xa Cần lưu ý rằng ma trận hiệp phương sai phải là ma trận nửa xác định dương và K không phải là 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ó:
Giả sử không có nhiễu, dựa trên k điểm dữ liệu đã quan sát, chúng ta cần dự đoán giá trị cho điểm dữ liệu tiềm năng mới xk+1 Phân phối tiên nghiệm trên hàm [ ( : ), ( )] được tính theo công thức (1), từ đó cho phép chúng ta tính phân phối hậu nghiệm dựa trên các quan sát đã có theo định lý Bayes.
Giá trị trung bình hậu nghiệm ( +1) được tính bằng trung bình cộng có trọng số giữa giá trị trung bình tiên nghiệm ( +1) và dự đoán dựa trên tập dữ liệu quan sát ( : ) Phương sai hậu nghiệm ( ) được xác định bằng hiệp phương sai tiên nghiệm ( , ) trừ đi 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à phương pháp truyền thống trong việc sử dụng GPR.
Luận văn này áp dụng hàm Matèrn, một trong những kernel phổ biến nhất, được tính toán thông qua hàm gamma Γ(.) và tham số α của kernel, kết hợp với hàm Bessel.
Để tính toán hàm mean, luận văn lựa chọn hàm hằng đơn giản nhất Một yếu tố quan trọng cần chú ý là việc tối ưu hóa các tham số của kernel, đặc biệt là tham số α Để tìm ra giá trị α tối ưu, luận văn áp dụng phương pháp Ước lượng Maximum Likelihood (MLE).
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
Hàm acquisition Bayesian sử dụng phân phối xác suất hậu nghiệm từ mô hình surrogate để đánh giá độ "tốt" của hàm mục tiêu tại từng điểm giá trị đầu vào Mục tiêu chính của hàm này là xác định điểm giá trị tối ưu nhất để thêm vào tập dữ liệu cho vòng lặp tiếp theo Giả sử thuật toán Bayesian đã trải qua n vòng lặp trước đó, điểm dữ liệu được chọn sẽ được tính theo một biểu thức cụ thể.
Hàm acquisition không phụ thuộc trực tiếp vào hàm mục tiêu gốc, mà thay vào đó, nó dựa vào phân phối hậu nghiệm từ mô hình surrogate tại các điểm giá trị tiềm năng Luận văn này sẽ áp dụng hai hàm acquisition nổi tiếng là Expected Improvement (EI) và Upper Confidence Bound (UCB).
Hàm EI được xác định thông qua giá trị kỳ vọng của hàm u(y) = max(0, v − y) dưới phân bố xác suất hậu nghiệm của mô hình surrogate với biến ngẫu nhiên y Trong đó, v = min(0, {y}) là giá trị quan sát tốt nhất cho đến thời điểm hiện tại, giả định rằng bài toán tối ưu hóa là nhằm mục đích cực tiểu hóa Vì vậy, hàm EI thực chất là một phép đo trung bình về độ cải thiện tiềm năng.
Giải pháp này vượt trội hơn so với phương án tốt nhất hiện tại nhờ vào việc đánh giá từng điểm giá trị đầu tiềm năng Công thức tính hàm EI được thực hiện như sau:
Trong mô hình này, γ(x) được xác định bởi 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ố α đóng vai trò quan trọng trong việc cân bằng giữa việc khám phá (exploration) và khai thác (exploitation), và thường được gán giá trị bằng 0.
Một hàm thu hút khác được đề xuất dựa trên ý tưởng về cận trên của khoảng tin cậy, nhằm tối đa hóa giá trị regret từ việc lựa chọn giá trị tiềm năng.
Tham số được sử dụng để cân bằng giữa exploitation và exploration trong giải thuật là rất quan trọng Có nhiều phương pháp heuristic để lựa chọn tham số này, trong đó lựa chọn phổ biến nhất là = ( ) với đại diện cho 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
THIẾT KẾ CỦA BỘ GIẢ LẬP
Các thành phần chính
Thư viện Mininet cung cấp chức năng định tuyến và theo dõi gói tin trong mạng với các bộ SDN controller, nhưng việc chạy thêm một bộ SDN controller trong công cụ giả lập CDN có thể tốn tài nguyên không cần thiết Trong luận văn này, tôi phát triển các routers ảo để mô phỏng hành vi của các routers trong môi trường thật, sử dụng giao thức Open Shortest Path First (OSPF) để định tuyến Để giảm thời gian khởi tạo mạng, công cụ sẽ xây dựng trước một bảng định tuyến tĩnh cho mỗi routers ảo Công cụ này bao gồm 5 thành phần chính.
Client là các máy ảo trong công cụ dùng để mô phỏng người dùng cuối Để minh họa cho việc mô phỏng môi trường thực, luận văn này sử dụng tập dữ liệu từ hệ thống log file của một CDN thực tại Việt Nam Mỗi mẫu dữ liệu chứa thông tin về yêu cầu gửi từ người dùng tới hệ thống, bao gồm thời gian gửi, độ trễ, nội dung, kích thước nội dung, trạng thái cache và địa chỉ IP.
Luận văn sử dụng thông tin thô để xác định vị trí địa lý và nhóm nhiều người dùng thực thành một số lượng ít hơn các client ảo, mỗi client ảo sẽ mô phỏng hành vi của người dùng trong cùng khu vực Công cụ cung cấp hai chế độ gửi yêu cầu: đồng bộ và bất đồng bộ Chế độ bất đồng bộ cho phép mô phỏng tính đồng thời của nhiều yêu cầu từ nhiều người dùng, trong khi chế độ đồng bộ yêu cầu được gửi tuần tự từ client ảo.
Cụ thể hơn của cơ chế này sẽ được mô tả trong phần 4.2.3
Máy chủ mô phỏng (Replica Server) cho phép triển khai các ứng dụng của hệ thống CDN qua Docker container, đặc biệt với các framework HTTP như Nginx, Apache và Varnish Tuy nhiên, những công cụ này thường bị giới hạn trong cơ chế cache và định tuyến Để phục vụ nghiên cứu, công cụ còn hỗ trợ một module HTTP server ảo, giúp dễ dàng triển khai các chiến lược caching mới Vấn đề xác thực tính đúng đắn của chức năng server ảo này sẽ được thí nghiệm và đánh giá trong phần 6.1.2.
Thư viện Mininet hỗ trợ Traffic Control (TC) link, cho phép người dùng thiết lập các tài nguyên của đường dẫn như băng thông, mất mát và độ trễ Chức năng này của Mininet đã được đánh giá về mức độ tin cậy trong một nghiên cứu trước đó.
Trước khi công cụ mô phỏng hành vi bắt đầu, nó trải qua một quá trình khởi tạo quan trọng Trong giai đoạn này, các tài nguyên mạng, cấu trúc mạng (network topology) và định tuyến tĩnh sẽ được thiết lập Bảng định tuyến tĩnh sẽ được khởi tạo trước để đảm bảo quá trình hoạt động hiệu quả.
Origin Server là máy chủ chịu trách nhiệm tạo ra nội dung và phản hồi yêu cầu từ Client hoặc Replica Server Trong thực tế, các Origin Server thường được sử dụng cho các ứng dụng video streaming và xử lý đa phương tiện, vốn yêu cầu nhiều tài nguyên Việc triển khai lại các ứng dụng này trong môi trường giả lập là không cần thiết, do đó, luận văn này sẽ phát triển một bộ tạo nội dung đơn giản và tiết kiệm tài nguyên hơn Origin Server được xây dựng dưới dạng một máy chủ HTTP đa xử lý dựa trên FastAPI, một trong những framework dịch vụ web hiệu suất cao nhất hiện nay.
Cơ chế cô lập tài nguyên là một điểm quan trọng trong việc phân bổ tài nguyên CPU cho từng máy ảo trong hệ thống một cách độc lập Mininet sử dụng cơ chế này để cấp phát tài nguyên CPU cho cả Client và các Server, đảm bảo hiệu suất hoạt động tối ưu cho từng thành phần.
Thiết kế tổng quan
Công cụ giả lập bao gồm bốn module chính: Main Module, Server Module, Client Module và Content Provider Module, như được minh họa trong Hình 7 Quá trình chạy bộ giả lập được chia thành ba giai đoạn chính: khởi tạo, mô phỏng và đánh giá.
Hình 7: Tổng quan thiết kế các module của bộ giả lập
Trong giai đoạn khởi tạo, bộ giả lập sẽ đọc và trích xuất thông tin từ file thiết lập JSON, bao gồm cấu trúc mạng, tham số tài nguyên, chiến lược caching và các thiết lập khác Main Module có nhiệm vụ xây dựng mạng ảo và khởi tạo các replica servers dựa trên thông tin này Sau khi hệ thống CDN và các servers được khởi tạo, cơ chế định tuyến tĩnh hoặc động sẽ được triển khai cho các routers tùy thuộc vào thiết lập Đối với định tuyến tĩnh, công cụ sử dụng thuật toán Dijkstra có trọng số để tìm đường đi ngắn nhất giữa các routers, với trọng số được xác định dựa trên bandwidth và delay Chiến lược định tuyến này mô phỏng cách định tuyến gói tin của nhà mạng ISP, đồng thời module cũng giám sát trạng thái mạng ảo và tổng hợp, đánh giá kết quả sau quá trình mô phỏng.
Server Module hoạt động như các máy chủ replica trong mạng ảo, tạo thành một hệ thống CDN với nhiều máy chủ replica Ngoài cơ chế định tuyến tại các router đã đề cập trước đó, còn có một cơ chế định tuyến khác giúp chuyển hướng yêu cầu của người dùng khi máy chủ replica hiện tại không có nội dung cần thiết.
Containernet cung cấp giao diện kết hợp giữa container Docker và máy ảo Mininet, cho phép triển khai các ứng dụng tương tự như trong hệ thống thực Nhờ vào cơ chế này, bộ giả lập có khả năng mô phỏng hiệu quả các tình huống thực tế.
Nếu ứng dụng này là CPU-bound và yêu cầu thời gian xử lý lớn, điều đó có thể tác động đến hiệu suất mô phỏng của công cụ.
Trên cùng một phần cứng, sự hiện diện của nhiều ứng dụng CPU-bound nặng sẽ hạn chế số lượng máy ảo và kích thước mạng ảo mà công cụ có thể mô phỏng Điều này đặc biệt quan trọng đối với các ứng dụng dịch vụ HTTP phổ biến hiện nay.
Apache và Nginx thường gặp phải những hạn chế trong việc tùy chỉnh và có cấu trúc cồng kềnh Bài viết này giới thiệu một chế độ mới cho Server Module, đó là một máy chủ HTTP tùy chỉnh, nhằm cải thiện tính linh hoạt và hiệu suất.
Hybrid Cache hỗ trợ hai chiến lược định tuyến cơ bản: chiến lược đường đi ngắn nhất tới Origin Server và chiến lược color-based Mỗi máy chủ replica sẽ có một bảng đổi hướng gói tin, cho phép dễ dàng tùy chỉnh bảng này để phù hợp với chiến lược của hệ thống CDN Hình 8 minh họa hai loại Server Module như đã mô tả.
Hình 8: Hai lựa chon cho Server Module
Client Module được sử dụng để mô phỏng các hoạt động của người dùng thực
Do hạn chế về tài nguyên phần cứng, một số đặc trưng hành vi của hệ thống thực không thể được mô phỏng trong môi trường ảo, như cường độ yêu cầu gửi từ người dùng Nhiều người dùng có thể đồng thời gửi yêu cầu tới hệ thống CDN tại nhiều replica servers Để xấp xỉ hành vi này, bộ giả lập sử dụng cơ chế bất đồng bộ khi gửi yêu cầu tới hệ thống, được hiện thực hóa với đa luồng nhằm tăng tốc độ chạy quá trình mô phỏng Cơ chế này bao gồm 4 bước chính.
Để mô phỏng hành vi người dùng, bước đầu tiên là trích xuất thông tin và hoạt động từ log file của hệ thống thực Thông tin địa chỉ IP sẽ được chuyển đổi thành dữ liệu địa lý, trong khi thời gian gửi tin nhắn sẽ được tính theo đơn vị giây.
Trong bước 2, log file thực tế có thể ghi nhận hàng chục nghìn người dùng hoạt động đồng thời mỗi giờ Việc tạo ra số lượng lớn Client ảo trong môi trường giả lập là không khả thi Do đó, người dùng sẽ được phân nhóm dựa trên thông tin địa chỉ IP và vị trí địa lý của họ.
Sau khi phân loại người dùng theo vị trí địa lý, chúng ta sẽ nhóm các yêu cầu của họ dựa trên thời gian gửi, tạo thành các nhóm tương ứng với các khoảng thời gian nhỏ T.
Bước 3: Các Client ảo sẽ gửi song song và bất đồng bộ tất cả yêu cầu của một khoảng T và đợi phản hồi từ hệ thống CDN
Bước 4: Sau khi đã nhận đủ phản hồi hoặc hết thời gian timeout, các Client sẽ thực hiện lại bước 3
Các ứng dụng thực tế của nhà cung cấp nội dung như xử lý video, hình ảnh và dịch vụ web phức tạp không thể triển khai trên môi trường mô phỏng với tài nguyên hạn chế Do đó, luận văn này phát triển một module tiết kiệm tài nguyên, có khả năng mô phỏng các chức năng chính của nhà cung cấp nội dung Cụ thể, các server của nhà cung cấp nội dung được mô phỏng bởi một Origin Server đa luồng, có nhiệm vụ tạo ra nội dung Khi một Client gửi yêu cầu, yêu cầu đó sẽ bao gồm thông tin về kích thước và loại nội dung cần thiết.
Origin Server sẽ chịu trách nhiệm tạo nội dung phù hợp dựa trên thông tin mà yêu cầu gửi tới
Một vấn đề quan trọng trong việc so sánh môi trường thực và môi trường mô phỏng là tài nguyên mạng Trong môi trường thực, băng thông có thể rất cao, như trong hệ thống CDN tại Việt Nam Ngược lại, môi trường mô phỏng bị giới hạn bởi thư viện Mininet, với băng thông tối đa chỉ 1Ghz cho mỗi đường dẫn Do đó, cần thiết phải có cơ chế điều chỉnh băng thông và lưu lượng hợp lý để giảm thiểu tài nguyên mạng, đồng thời đảm bảo mô phỏng chính xác hành vi của hệ thống.
Trọng số α được định nghĩa là tỷ lệ giữa băng thông thực và băng thông ảo, và có thể điều chỉnh theo sức mạnh phần cứng cũng như quy mô hệ thống cần mô phỏng Băng thông của đường dẫn i trong môi trường được ký hiệu là RLC i và VLC i Thông tin về kích thước nội dung và tài nguyên mạng trong môi trường thực được trích xuất từ log file Để tính toán kích thước nội dung và tài nguyên mạng trong môi trường ảo, ta sử dụng công thức sau:
Độ đ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ó khả năng đánh giá các chỉ số chất lượng dịch vụ và hiệu suất của hệ thống CDN.
Traffic trong hệ thống CDN là lượng dữ liệu di chuyển qua mạng trong một khoảng thời gian nhất định Để so sánh traffic giữa các thiết lập khác nhau, luận văn sử dụng độ đo traffic chuẩn hóa (normalized traffic), được tính bằng tỷ lệ giữa tổng traffic của mạng khi sử dụng cache và không sử dụng cache Một chiến lược cache hiệu quả sẽ dẫn đến giá trị traffic chuẩn hóa thấp hơn, cho thấy sự giảm thiểu trong lượng dữ liệu cần truyền tải.
Tỷ lệ Hit Ratio là chỉ số quan trọng trong việc đánh giá hiệu suất của các máy chủ replica Khi người dùng gửi yêu cầu nội dung, nếu máy chủ chứa nội dung đó, trạng thái sẽ là "HIT" Ngược lại, nếu không có, trạng thái sẽ là "MISS", và yêu cầu sẽ được chuyển tới một máy chủ khác Quy trình chuyển hướng này phụ thuộc vào chiến lược định tuyến của hệ thống, ảnh hưởng đến tốc độ và hiệu quả truy xuất dữ liệu.
Độ trễ là khoảng thời gian mà người dùng chờ đợi từ khi gửi yêu cầu đến khi nhận được phản hồi Đối với các dịch vụ như livestreaming và video theo yêu cầu (VoD), người dùng thường mong muốn có trải nghiệm với độ trễ ổn định và thấp.
Tối đa hóa Sử dụng Liên kết (MLU) là một chỉ số quan trọng để đánh giá hiệu quả của mạng lưới, được tính bằng tỷ lệ giữa lưu lượng trung bình qua đường mạng trong một khoảng thời gian nhất định và băng thông của đường mạng đó Để xác định MLU, chúng ta tính toán Sử dụng Liên kết (LU) cho tất cả các đường dẫn trong hệ thống CDN và lấy giá trị LU cao nhất Chỉ số này giúp đánh giá khả năng cân bằng và phân tải của hệ thống, đảm bảo sự ổn định trong thời gian cao điểm của lưu lượng truy cập, đồng thời hỗ trợ phát hiện các nút tắc nghẽn trong mạng.
Jitter là yếu tố quan trọng mà các nhà cung cấp dịch vụ giải trí và đa phương tiện cần chú ý để đảm bảo độ trễ ổn định cho dịch vụ của họ Đối với dịch vụ Video on Demand (VoD), độ trễ không ổn định có thể dẫn đến trải nghiệm kém cho người dùng Để đánh giá tình trạng này, người ta sử dụng chỉ số jitter.
Cấu trúc của file cấu hình hệ thống
Môi trường giả lập hệ thống CDN được cấu hình với 3 máy chủ replica và 1 máy chủ gốc, như thể hiện trong Hình 10 Cấu hình này giúp tối ưu hóa việc phân phối nội dung và cải thiện hiệu suất truy cập cho người dùng.
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 tập trung vào việc tìm kiếm đường đi ngắn nhất đến máy chủ gốc gần nhất Khi một máy chủ replica không có nội dung được yêu cầu, nó sẽ chuyển hướng yêu cầu đến một máy chủ replica khác gần nhất, đảm bảo tối ưu hóa khoảng cách giữa máy chủ đó và máy chủ gốc.
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 yêu cầu người dùng cho quá 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.
Kết luận
Phần này trình bày kiến trúc và thiết kế của công cụ giả lập, cùng với cách triển khai các module của nó Công cụ này có khả năng mô phỏng các ứng dụng thực tế trong hệ thống Những vấn đề liên quan đến việc mô phỏng tài nguyên thực như CPU, mạng và bộ nhớ cũng đã được thảo luận và giải quyết Độ tin cậy của công cụ sẽ được đánh giá qua các thí nghiệm trong chương 6 Tóm lại, công cụ giả lập cung cấp nhiều tính năng hữu ích cho việc mô phỏng.
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, …