CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu Ngày nay, sự gia tăng nhanh chóng nhu cầu sử dụng internet của người dùng dẫn đến một khối lượng khổng lồ dữ liệu được sinh ra và truyền tải hằng ngày. Đặc biệt sự ra đời và 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). Các mô hình truyền thống một máy chủ phục vụ cho nhiều người dùng không thể đáp ứng được các ràng buộc về chất lượng cho các dịch vụ này. Các hệ thống CDN ra đời nhằm cải thiện trải nghiệm của người dùng thông qua việc làm giảm độ trễ dịch vụ.
Một hệ thống CDN gồm nhiều máy chủ phân bố địa lý, khi một nội dung gốc từ nhà cung cấp nội dung đi qua mạng CDN, nó sẽ được sao chép và phân tán trên nhiều máy trong mạng CDN. Khi người dùng yêu cầu một nội dung, thay vì nội dung này sẽ được gửi từ một máy chủ xa, nó sẽ được cung cấp từ một máy chủ CDN ở gần hơn. Việc đầu tư tài nguyên cũng như triển khai các chiến lược caching của hệ thống CDN là một bài toán mà nhà cung cấp CDN quan tâm. Ví dụ, nhà cung cấp CDN muốn biết rằng giả sử khách hàng của họ có nhiều hơn gấp đôi lượng người dùng, thì họ sẽ cần khoảng bao nhiêu máy chủ, mỗi máy chủ có bao nhiêu bộ nhớ, tài nguyên mạng nên được cấp phát như thế nào để tối ưu chi phí đầu tư.
Để trả lời cho những câu hỏi trên, họ không thể triển khai những test-beds cồng kềnh và tốn nhiều chi phi. Bên cạnh đó, các công cụ simulation là một lựa chọn phổ biến để phục vụ cho các mục đích này. Tuy nhiên, các công cụ simulation thường chỉ có thể đánh giá các metrics luận lý như traffic, hit rate và thiếu độ tin cậy khi đánh giá các độ đo liên quan đến chất lượng dịch vụ như độ trễ, sự ổn định, jitter,. Đề tài này nhằm phát triển công cụ emulation để giả lập CDN với khả năng thiết lập linh hoạt, độ tin cậy cao và ít tốn chi phí.
Công cụ này được xây dựng dựa trên thư viện Containernet [1]. Containernet là một bản mở rộng của thư viện Mininet [2]. Mininet là một thư viện giả lập mạng ảo sử dụng tài nguyên thực. Containernet kết hợp Mininet với Docker [3] để mở rộng khả năng giả lập ứng dụng của các hệ thống thực tế.
Các ứng dụng thực tế như ứng dụng web, dịch vụ HTTP có thể được tái triển khai dựa trên nền Docker container. Hơn thế 1 nữa, luận văn này sử dụng một tập dữ liệu log từ một hệ thống CDN thực và những ứng dụng thực tế của họ ở Việt Nam để giả lập và đánh giá độ tin cậy của công cụ. Ngoài ra, đề tài này sẽ mô hình hóa hai ví dụ thực tiễn về cấp phát tài nguyên CDN là: bài toán cấp phát bộ nhớ và bài toán phân bố replica servers của CDN. Trong đề tài này, bài toán cấp phát tài nguyên cho CDN được nhận định và giải quyết như một bài toán tối ưu rời rạc đa mục tiêu.
Cụ thể hơn, bài toán nhầm chọn bộ thiết lập tối ưu cho hệ thống CDN để giảm chi phí đầu tư đồng thời tăng chất lượng dịch vụ. Chất lượng dịch vụ với một bộ số thiết lập tương ứng được đánh giá dựa trên công cụ giả lập đã phát triển. Vì sử dụng một công cụ giả lập để đánh giá hàm mục tiêu là việc tiêu tốn thời gian, luận văn lựa chọn các phương pháp Bayesian như hướng tiếp cận để giải quyết bài toán tối ưu trên. Các giải thuật Bayesian thường được biết đến với khả năng tối ưu tốt bằng một số lượng ít lần chạy đánh giá hàm mục tiêu.
Các giải thuật Bayesian thường có hiệu năng kém với các bài toán rời rạc. Luận văn này đề xuất một phương pháp để cải thiện hiệu năng của giải thuật Bayesian trong không gian rời rạc. Tóm lại, luận văn này đã thực hiện các công việc sau: 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.1 Ý nghĩa thực tiễn Cung cấp môi trường thử nghiệm cho các nhà cung cấp dịch vụ CDN, cũng như các nhà nghiên cứu trong lĩnh vực này: Luận văn phát triển một công cụ giả lập CDN có tính năng thiết lập đa dạng và linh động với độ tin cậy cao và linh động trong việc thiết lập. Người sử dụng có thể giả lập lại hệ thống, ứng dụng của họ để thử nghiệm cho các chiến lược triển khai, cải tiến hệ thống trước khi đưa ra môi trường thực tiễn. Cung cấp một công cụ để tự động tối ưu hóa lợi ích và chất lượng dịch vụ của hệ thống CDN cho nhà cung cấp: Người dùng thay vì phải thử tay từng 2 bộ tham số để tìm ra một thiết lập tối ưu. Khi số lượng các bộ tham số khã dĩ là quá lớn, việc thử tay từng bộ trở nên bất khả thi.
Luận văn đã đề xuất một cách tiếp cận để tự động hóa bước này thông qua việc tối ưu hóa bài toán đa mục tiêu như đã đề cập ở trên.2 Ý nghĩa khoa học Mô hình hóa bài toán tìm bộ số thiết lập cho hệ thống CDN: Luận văn xét bài toán này như một bài toán đa mục tiêu rời rạc. Ngoài ra, luận văn cũng mô hình hóa và giải quyết hai ví dụ thực tiễn của bài toán này. Đề 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: Luận văn cũng đề xuất một cách tiếp cận để cải thiện 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.3 Phạm vi đề tài: Phạm vi bài toán tối ưu: Phương pháp đề xuất trong luận văn đề cải thiện giải thuật tối ưu Bayesian có thể được áp dụng cho bài toán tối ưu đa mục tiêu rời rạc. 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 [4], Pháp [5], và Nhật [6] để chạy thí nghiệm.
Bên cạnh đó, một tập dữ liệu được trích xuất từ log file thực của hệ thống CDN ở Việt Nam được sử dụng để đánh giá độ tin cậy của công cụ giả lập, cũng như được sử dụng trong 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 mà sẽ được đề cập chi tiết ở chương 6. Bên cạnh tập dữ liệu thực, một tập dữ liệu giả lập được tạo ra 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 ở Pháp và Nhật. Phương pháp thực hiện: Luận văn sử dụng phương pháp nghiên cứu thực nghiệm để đánh giá về độ tin cậy và mức độ tiêu thụ tài nguyên của công cụ giả lập. Bên cạnh đó, đối với giải thuật tối ưu hóa được đề xuất, luận văn phân tích từ lý thuyết rồi mới đến phân tích các kết quả thực nghiệm để kiểm chứng độ hiệu quả và tính đúng đắn.4 Bố cục: Trong báo cáo luận văn này có 8 chương.
Trong đó, chương 2 giới thiệu các công trình liên quan đến đề tài, cũng như các hướng tiếp cận tổng quan để giải quyết vấn đề. Chương 3 cung cấp các thông tin chung về thư viện Mininet và cơ sở lý thuyết nền móng cho các ý tưởng đề xuất trong luận văn. Chương 4 mô tả thiết kế tổng quan cũng như cách hiện thực công cụ giả lập. Chương 5 mô tả vấn đề tổng quát của các nhà đầu tư hệ thống CDN, đồng thời là hai ví dụ bài toán thực tiễn.
Giải pháp cải tiến cũng được mô tả trong chương này. Chương 6 là kết quả thí nghiệm đánh giá công cụ, cũng như các thí nghiệm đánh giá giải pháp đề xuất. Chương 7 là kết luận về các ưu điểm, hạn chế cũng như các công việc trong tương lai. Cuối cùng là danh sách trích dẫn, tài liệu tham khảo được đề cập trong luận văn.
4 CHƯƠNG 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 2.1 Tổng quan về các hướng phân tích và mô hình hóa hệ thống CDN Trong các năm gần đây, CDN đã được giới nghiên cứu và doanh nghiệp chú ý, nghiên cứu và ứng dụng rộng rãi trong thực tế. Các nhà nghiên cứu phân tích hành vi, đặc điểm và đề xuất những chiến lược, giải thuật để cải thiện chất lượng dịch vụ, tối ưu hiệu suất của hệ thống và giảm chi phí tài nguyên. Những nghiên cứu nảy thường được chia thành hai hướng chính gồm: Hướng tiếp cận bằng các mô hình lý thuyết: Trong cách tiếp cận này, các nhà nghiên cứu sử dụng các mô hình toán học để mô hình hóa và phân tích hành vi của các hệ thống CDN. Các công trình nghiên cứu theo hướng tiếp cận này thường dựa trên lý thuyết hàng đợi.
Một công trình nghiên cứu nổi tiếng và là nền tảng của hướng tiếp cận này là bài báo của Che [7]. Trong bài báo này, tác giả đã mô hình hóa hành vi của hệ thống CDN trong trường hợp đơn giản với nhiều ràng buộc phi thực tế. Cụ thể hơn hành vi một yêu cầu của người dùng gửi tới hệ thống CDN được mô hình hóa như một Poisson arrival process. Bài báo này đã đưa ra một công thức lý thuyết để tính xấp xỉ số lượng miss và hit của hệ thống CDN trong trường hợp sử dụng giải thuật caching eviction LRU với nhiều ràng buộc để đơn giản hóa bài toán.
Các mô hình mở rộng hơn cho các giải thuật eviction khác được đề xuất trong [8][9]. Trong những năm gần đây, nhiều mô hình kế thừa, mở rộng và loại bỏ dần nhiều ràng buộc thực tế từ mô hình của Che đã được công bố. Tuy nhiên, cách tiếp cận này thường sẽ đặt ra những ràng buộc để đơn giản hóa mô hình. Những ràng buộc lý thuyết này thường sẽ gây ra tính phi thực tế của hướng tiếp cận bằng cách mô hình hóa này.
Nhiều yếu tố có thể ảnh hưởng đến hành vi và hiệu suất của cả hệ thống nhưng không được xét đến. Hướng tiếp cận bằng sử dụng các công cụ mô phỏng: Một cách tiếp cận khác có thể khắc phục được những khuyết điểm của cách tiếp cận lý thuyết là 5 sử dụng các công cụ giả lập. Các công cụ giả lập, mô phỏng được xây dựng để bắt chước hành vi của hệ thống CDN.