1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Phát triển công cụ giả lập hệ thống content delivery network

83 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 08 năm 2021

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM

Cán bộ hướng dẫn khoa học: PGS.TS Thoại Nam

Cán bộ chấm nhận xét 1: TS Nguyễn Lê Duy Lai

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

KỸ THUẬT MÁY TÍNH

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: LA HOÀNG LỘC MSHV:1970019 Ngày, tháng, năm sinh: 24-09-1996 Nơi sinh: TP.HCM Ngành: Khoa Học Máy Tính Mã số : 8480101 I TÊN ĐỀ TÀI: Phát triển công cụ giả lập hệ thống Content Delivery Network

II NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu về kiến trúc, đặc tính của hệ thống Content Delivery Network (CDN) Thiết kế và hiện thực công cụ giả lập cho hệ thống CDN Đề xuất giải thuật tự động tìm bộ số tối ưu cho hệ thống CDN

III NGÀY GIAO NHIỆM VỤ : 21/09/2020

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 13/06/2021

V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): PGS.TS Thoại Nam

Trang 4

LỜI CẢM ƠN

Trong suốt thời gian học chương trình đào tạo thạc sĩ tại Đại học Bách Khoa thành phố Hồ Chí Minh, đặc biệt là giai đoạn làm luận văn tốt nghiệp, tôi đã nhận được rất nhiều sự quan tâm, động viên, giúp đỡ của gia đình, thầy cô, các anh chị trong phòng thí nghiệm

Trước hết, tôi xin gửi lời cảm ơn sâu sắc đến gia đình mình, đặc biệt là mẹ tôi Người luôn bên cạnh và ủng hộ tôi trong suốt con đường học tập mà tôi đã chọn

Tiếp theo tôi xin gửi lời cảm ơn chân thành nhất đến thầy hướng dẫn PGS.TS Thoại Nam Thầy là người luôn nhiệt tình lắng nghe và đóng góp ý kiến cho luận văn của tôi Đồng thời thầy luôn có định hướng và hướng dẫn rõ ràng nên làm gì và không nên làm gì cho sinh viên của mình

Tôi cũng xin gửi lời cám ơn đến các thầy cô đã giảng dạy cho tôi trong suốt thời gian tại cao học cũng như đại học, những người đã trang bị cho tôi các kiến thức quý báu và cần thiết cho con đường học thuật phía trước của tôi

Cuối cùng tôi xin cảm ơn Trường Đại học Bách Khoa và Phòng thí nghiệm Tính toán hiệu năng cao, tất cả các thầy cô, các bạn/anh/chị đồng nghiệp, đã tạo cho tôi một môi trường học tập, nghiên cứu tốt, hào hứng, và ý nghĩa

Một lần nữa, tôi xin chân thành cảm ơn!

La Hoàng Lộc 13/06/2021

Trang 5

TÓM TẮT LUẬN VĂN

Trong những năm gần đây, nhu cầu người sử dụng các dịch vụ trực tuyến ngày càng tăng dẫn đến việc một khối lượng dữ liệu khổng lồ được truyền tải trong mạng Việc phục vụ một số lượng lớn yêu cầu người dùng tạo nên áp lực lớn lên cơ sở hạ tầng mạng, ảnh hưởng trực tiếp đến chất lượng dịch vụ của các nhà cung cấp nội dung trực tuyến Mô hình mạng truyền thống khó có thể đáp ứng được khi quy mô dịch vụ ngày càng tăng Một giải pháp nhằm giải quyết vấn đề này là mô hình mạng Content Delivery Network (CDN) Cụ thể hơn, mô hình này sinh ra nhằm giảm thiểu độ trễ gói tin truyền tải từ hệ thống đến người dùng, từ đó tăng tốc độ phản hồi, cải thiện chất

lượng dịch vụ và trải nghiệm phía người dùng Một hệ thống CDN gồm nhiều replica servers phân tán, cache nội dung đi qua nó và truyền tải nội dung tới người dùng với

chi phí thấp hơn khi truyền tải từ hệ thống của nhà cung cấp nội dung

Tuy nhiên, một vấn đề khi ứng dụng các hệ thống CDN vào thực tế là các nhà cung cấp dịch vụ CDN muốn đầu tư cơ sở hạ tầng để mở rộng dịch vụ của họ, hay họ muốn thử nghiệm các chiến lược, giải thuật caching mới khác Để giải đáp những vấn đề này, một môi trường giả lập để thử nghiệm là vô cùng cần thiết Mặc dù trước đây đã có nhiều công cụ mô phòng hệ thống CDN nhưng chúng đều có những khuyết điểm nhất định Cụ thể hơn, những công cụ mô phỏng simulation thường dựa trên mô hình discrete-event và không thể giả lập được các chức năng, hành vi của các ứng dụng thực tiễn Một cách tiếp cận khác xây dựng các test-bed để tái triển khai các ứng dụng thực lên thiết bị phần cứng Tuy nhiên, các test-beds này rất cồng kềnh, thiếu tính linh hoạt và chỉ sử dụng được trong các ngữ cảnh hạn hẹp Để khắc phục các nhược điểm kể trên, luận văn này phát triển một bộ giả lập với tính năng thiết lập hệ thống đa dạng, có khả năng tái triển khai lại các ứng dụng thực tế của môi trường thực với chi phí thấp, độ tin cậy cao Đây cũng là môi trường thử nghiệm đáng tin cậy cho các nhà nghiên cứu lĩnh vực này

Bên cạnh bộ giả lập hệ thống CDN, luận văn cũng phát triển một module tự động tối ưu hóa thiết lập tài nguyên cho hệ thống Các nhà đầu tư hệ thống CDN thường quan tâm đến bài toán tối ưu hóa chi phí khi đầu tư cơ sở hạ tầng Cụ thể hơn,

Trang 6

họ muốn tối thiểu hóa các chi phí đầu tư tài nguyên của hệ thống, đồng thời tối đa hóa chất lượng dịch vụ và trải nghiệm người dùng Luận văn giải quyết bài toán này như

một bài toán tối ưu hóa đa mục tiêu rời rạc sử dụng giải thuật Bayesian Tuy nhiên, giải thuật Bayesian gốc khi áp dung cho bài toán rời rạc thường rất dễ bị “kẹt” tại các điểm tối ưu cục bộ Để cải thiện vấn đề này của giải thuật Bayesian trong ngữ cảnh bài

toán tối ưu hóa đa mục tiêu rời rạc, luận văn đề xuất một hướng tiếp cận để tối ưu hóa quá trình exploration và exploitation thông qua việc điều chỉnh các tham số của

acquisition function

Luận văn vừa mang tính ứng dụng thực tiễn vừa có tính đóng góp học thuật với bộ công cụ được phát triển và các kết quả thí nghiện sử dụng dữ liệu và thông tin từ hệ thống thực tại Việt Nam Cụ thể hơn, luận văn ứng dụng giải thuật tối ưu hóa được đề suất vào một hệ thống CDN thực tế tại Việt Nam Kết quả thí nghiệm cho thấy, giải thuật tối ưu hóa được đề xuất có khả năng cải thiện gần 39% chi phí với cùng chất lượng dịch vụ

Trang 7

ABSTRACT

In recent years, the arising demand for media services led to generating an enormous amount of network traffic Serving a large number of users can put pressure on the network infrastructure, which directly affects the quality of content providers' services The traditional hosting schema cannot guarantee the quality of service (QoS) when the services scale up A solution for this problem is the Content Delivery

Network (CDN) schema In particular, this schema tries to improve QoS and the user experience by reducing packet latency A CDN system contains several

geographically distributed replica servers, which cache contents and send them to the

users at a low cost comparing with sending from the content providers' system However, there are many arising problems when applying this schema to the real environment For instance, the CDN provider wants to know how many resources to invest when scaling up their services Another example, they want to experiment with new caching strategies to improve their system performance To resolve these problems, developing an experimental environment is necessary Furthermore, many simulators and testbeds have been published, but they have typical limitations Simulators are usually based on the discrete event model and cannot guarantee the functional realism of system applications Another approach is to building testbeds on the physical machine The real applications are also reproduced in the test-beds environment However, these environments are cumbersome and difficult to adapt to new systems To overcome these drawbacks, this thesis develops a CDN emulator Especially, our tool provides a virtual environment with high fidelity, network flexibility, low cost, and repeatability of simulators but still guarantees testbeds' realism This is also a reliable experimental environment for researchers

Besides the emulator, this thesis also develops a module to optimize the

resource configuration for the CDN system automatically The CDN providers usually want to resolve the investment problem when building the system infrastructure Particularly, they want to minimize the investment cost and maximize their system performance or the QoS at the same time The thesis model this problem as a discrete

Trang 8

multi-objective problem and resolves it using Bayesian algorithms However, when resolving discrete problems, the original Bayesian methods are usually stuck in local optimal points To overcome this problem, the thesis proposed an approach to

dynamically adapt the trade-off between exploration and exploitation by modifying the parameters of the acquisition function

This thesis results contribute both practical meaning and academic meaning with the emulator and the experimental results using a real dataset from a Vietnam CDN system Particularly, the thesis applies the proposed method to optimize this real system The experimental results show that the proposed method can help the system owner save 39% of the cost with the same QoS

Trang 9

LỜI CAM ĐOAN

Luận văn của tôi có tham khảo các tài liệu, bài báo, trang web như được trình bày ở mục tài liệu tham khảo và ở mỗi tham khảo tôi đều trích dẫn nguồn gốc Tôi xin cam đoan rằng ngoài những trích dẫn từ các tham khảo trên, toàn bộ nội dung trong báo cáo là do tôi tự soạn thảo từ những kết quả nghiên cứu của riêng tôi, không sao chép từ bất kì tài liệu nào khác.

Tôi sẽ hoàn toàn chịu xử lí theo qui định nếu có bất cứ sai phạm nào so với lời cam kết

La Hoàng Lộc

Trang 10

CHƯƠNG 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 5

2.1 Tổng quan về các hướng phân tích và mô hình hóa hệ thống CDN 5

2.2 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………… 7

2.3 Tổng quan về bài toán tối ưu hóa đa mục tiêu 8

2.3.1 Các hướng nghiên cứu chính 8

Trang 11

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

Bayesian………10

CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 11

3.1 Tổng quan về Content Delivery Network 11

3.1.1 Khái niệm 11

3.1.2 Các đối tượng chính 11

3.1.3 Phân loại 12

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

3.2 Thư viện Mininet 15

3.3 Bài toán tối ưu hóa đa mục tiêu 16

3.3.1 Định nghĩa 16

3.3.2 Độ đo 17

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

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

3.5.1 Cơ sở lý thuyết cho giải thuật Bayesian tổng quát 19

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

CHƯƠNG 4: THIẾT KẾ CỦA BỘ GIẢ LẬP 25

Trang 12

4.4 Cấu trúc của file cấu hình hệ thống: 33

4.5 Kết luận 34

CHƯƠNG 5: BÀI TOÁN TỐI ƯU THIẾT LẬP CDN 35

5.1 Bài toán tổng quát 35

5.2 Bài toán cấp phát bộ nhớ 36

5.3 Bài toán phân bố replica server 37

5.4 Giải pháp 38

5.4.1 Giải thuật tiến hóa (Baseline) 38

5.4.2 Giải thuật Bayesian 38

CHƯƠNG 6: THỰC NGHIỆM 43

6.1 Thí nghiệm đánh giá công cụ giả lập CDN 43

6.1.1 Môi trường thí nghiệm 44

6.1.2 Thí nghiệm đánh giá độ tin cậy 46

6.1.3 Thí nghiệm đánh giá mức hiệu năng của công cụ 48

6.1.4 Một use case thực tiễn: Điều chỉnh thông số bộ nhớ cấp phát cho hệ thống CDN 50

6.2 Thí nghiệm cho bài toán tối ưu thiết lập CDN 51

6.2.1 Môi trường thí nghiệm 51

6.2.2 Kết quả thí nghiệm 52

CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57

DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ 59

TÀI LIỆU THAM KHẢO 60

LÝ LỊCH TRÍCH NGANG 67

Trang 13

DANH MỤC HÌNH

Hình 1 Mô hình CDN truyền thống 13

Hình 2 Mô hình cloud CDN 14

Hình 3 Mô hình Telco CDN 14

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

Hình 5 Ví dụ Hypervolume Indicator trong không gian 2 chiều 18

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

Hình 7 Tổng quan thiết kế các module của bộ giả lập 27

Hình 8 Hai lựa chon cho Server Module 29

Hình 9 Ví dụ 1 chart trong dashboard theo dõi tình trạng các máy ảo 31

Hình 10 Ví dụ về file thiết lập môi trường cho bộ giả lập 34

Hình 11 Ví dụ trường hợp 2 Pareto front có cùng Hypervolume Indicator nhưng có hình dáng khác nhau 40

Hình 12 Mã giả giải thuật điều chỉnh tham số β 41

Hình 13 Kiến trúc hệ thống CDN của một công ty tại Việt Nam 45

Hình 14 Hit rate trung bình tại Edge Servers, Regional Servers và toàn hệ thống của bộ giả lập và log file hệ thống thực 47

Hình 15 Độ trễ của dịch vụ ở khung giờ thấp và cao điểm trả về từ bộ giả lập và log file hệ thống thực 48

Hình 16 Tương quan về thời gian chạy và bandwidth mạng của bộ giả lập với các kích thước mạng khác nhau 49

Hình 17 Thời gian chạy và tiêu thụ bộ nhớ của bộ giả lập với số lượng node ảo và giá trị PD khác nhau 50

Hình 18 Hit rate hệ thống CDN của công ty Việt Nam khi thay đổi bộ nhớ tại Edge và Regional Servers 51

Hình 19 Kiến trúc hệ thống CDN của một nhà mạng tại Pháp 52

Hình 20 Kiến trúc hệ thống CDN của công ty NTT tại Pháp 52

Hình 21 Kết quả chạy các giải thuật tối ưu hóa đa mục tiêu cho bài toán cấp phát bộ nhớ với dữ liệu mô phỏng 54

Trang 14

Hình 22 Pareto front của giải thuật USeMO-UCB gốc và giải thuật USeMO-UCB với

giải pháp điều chỉnh tham số β 55

Hình 23 Sự đánh đổi giữa chi phí tiết kiệm được và chất lượng hệ thống 55 Hình 24 Kết quả chạy các giải thuật tối ưu hóa đa mục tiêu cho bài toán phân phối replica servers với dữ liệu mô phỏng 56

Trang 15

DANH MỤC BẢNG

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……… 7 Bảng 5-1: Thông số giải thuật Bayesian……… …… 42 Bảng 6-1: Thống kê số lượng yêu cầu người dùng theo từng loại dịch vụ ……… 44 Bảng 6-2: Cấu hình hệ thống thực và môi trường mô phỏng……… 45 Bảng 6-3: Thông số thiết lập cho môi trường dữ liệu mô phỏng theo phân phối…… 46

Trang 16

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 17

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ế

Trang 18

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.2 Ý nghĩa đề tài 1.2.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

Trang 19

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

1.2.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

1.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

Trang 20

1.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

Trang 21

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à

Trang 22

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 Các công cụ này có thể là những testbeds được triển khai trên hệ thống phần cứng thực với những hạn chế về tính linh động và có thể tốn nhiều thời gian cho một lần chạy mô phỏng Một cách tiếp cận khác là những bộ công cụ simulation giả lập về mặt luận lý hành vi của hệ thống Các công cụ này thường sẽ cho kết quả nhanh hơn, nhưng thường chỉ đánh giá được một vài độ đo của hệ thống CDN như hit rate, traffic, Những độ đo nhạy cảm hơn như độ trễ, độ ổn định của dịch vụ hay chất lượng dịch vụ thường không thể được đánh giá bởi những công cụ này hoặc kết quả đánh giá là không đáng tin cậy Cụ thể hơn, một hệ thống mô phỏng CDN nổi tiếng được phát triển từ những năm đầu 2000 như CoDeeN [10] CoDeeN là một hệ thống giả lập CDN chạy trên nhiều máy thực dựa trên nền tảng PlanetLab [11] của đại học Princeton Tuy nhiên, những năm gần đây việc truy cập của hệ thống PlanetLab đã bị giới hạn, vậy nên việc sử dụng CoDeeN cũng bị hạn chế theo Bên cạnh CoDeeN, một công cụ simulators mô phỏng CDN có tên là CDNSim được công bố trong [12] CDNSim chạy trên một thư viện mô phỏng mạng được viết bằng C++ có tên là OMNeT++ [9] OMNeT++ được phát triển dựa trên mô hình discrete event model CDNSim cung cấp các tính năng như linh động trong thiết lập và ít tốn chi phí khi chạy Tuy nhiên, công cụ này lại không đảm bảo tính đúng đắn về mặt chức năng của các ứng dụng khi mô phỏng các hệ thống thực Cụ thể hơn, những ứng dụng của hệ thống thực như ứng dụng web, HTTP server, dịch vụ streaming, không thể được mô phỏng lại trên công cụ này Do đó, người dùng khó có thể đánh giá được các tiêu chí như độ ổn định và chất lượng của dịch vụ Để vượt qua được những khuyết điểm đó, luận văn này sẽ phát triển một công cụ emulator, cố gắng mô phỏng cả về những ràng buộc về môi trường mạng và cung cấp khả năng triển khai linh động những ứng dụng thực của hệ thống CDN

Trang 23

2.2 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

Để tối ưu hóa được chi phí đầu tư và tối đa hóa hiệu năng của hệ thống, nhiều công trình khoa học trước đó đã đề xuất nhiều cách tiếp cận giải quyết bài toán về cấp phát tài nguyên Các loại tài nguyên thường được xét đến như: dung lượng bộ nhớ cấp

phát cho mỗi replica servers, vị trí và số lượng của replica servers, tài nguyên mạng

của hệ thống CDN, chiến lược lưu nội dung mới và xóa nội dung nội dung dư thừa, Để giải quyết bài toán này hai hướng tiếp cận chính là quy bài toán vệ bài toán tối ưu hóa đơn mục tiêu với hàm mục tiêu mới là tổ hợp tuyến tính của các hàm mục tiêu từ bài toán gốc hoặc giải trực tiếp bài toán đa mục tiêu Tùy thuộc vào loại tài nguyên cần cấp phát cũng như bài toán đặt ra mà nhiều công trình đã đề xuất các giải pháp

cấp phát tĩnh hay động Một ví dụ là đối với bài toán cấp phát bộ nhớ cho các replica servers trong môi trường cloud, bài toán này có thể được tối ưu hóa theo cả 2 cách

tiếp cận là tĩnh hay sẽ thay đổi định kỳ (động) theo từng khung giờ để phù hợp với lưu lượng traffic Bảng 2-1 liệt kê một số công trình liên quan đến bài toá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

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

Tĩnh [15]

Trang 24

[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ĩnh và động

[19]

2.3 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: Cách tiếp cận này đưa bài toán đa mục tiêu

gốc về bài toán đơn mục tiêu để có thể dễ giải hơn Hàm mục tiêu lúc này sẽ là tổng có trọng số của các hàm mục tiêu từ bài toán gốc [20] Các phương pháp tiếp cận theo hướng này sẽ đưa ra một lời giải duy nhất cho bài toán Tuy nhiên, các tiếp cận này thường yêu cầu phải điều chỉnh các trọng số về mức độ quan trọng giữa các hàm mục tiêu Đã có một số phương pháp heuristic để chọn lựa các trọng số này [21] Tuy nhiên, các phương pháp này đều không đảm bảo vệ tính tối ưu của các trọng số được chọn Hơn nữa, việc lựa chọn lời giải một vấn đề đa mục tiêu thường mang tính chủ quan, tùy thuộc vào hoàn cảnh thực tế và thời điểm của bài toán Với một lời giải duy nhất cho bài toán đa mục tiêu sẽ hạn chế tính linh hoạt trong việc lựa chọn phương án tối ưu  Các phương pháp theo hướng tiếp cận Pareto: Một cách tiếp cận khác là sẽ

tìm ra một tập các lời giải tối ưu Pareto set Một tập các lời giải được gọi là tập

Trang 25

tiêu nhưng không làm tệ hơn ở một hay nhiều mục tiêu khác Một cách tiếp cận

cổ điển và thường đc sử dụng là giải thuật di truyền Giải thuật di truyền mô

phỏng, sử dụng các phép di truyền để tối ưu hóa hàm mục tiêu Một giải thuật nổi tiếng của hướng tiếp cận này là giải thuật NSGA-II [22] Luận văn này sẽ sử dụng giải thuật NSGA-II như một trong các baseline để so sánh với các giải thuật được đề xuất Một hướng tiếp cận khác là sử dụng ý tưởng từ giải thuật

Bayesian Trong trường hợp việc đánh giá hàm mục tiêu rất tốn thời gian, hướng tiếp cận Bayesian thường được biết đến với khả năng hội tụ nhanh sau

một số ít lần chạy đánh giá hàm mục tiêu Giải thuật đề xuất trong luận văn này

tập trung vào việc cải tiến cách tiếp cận Bayesian để giải quyết 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 giải thuật lặp, dựa trên việc xây dựng một mô hình surrogate model để tìm phân bố hàm mục tiêu và một acquisition function để lựa chọn điểm tối ưu tiềm năng Có nhiều hướng tiếp cận cho mô hình surrogate model, luận

văn này sử dụng một trong những hướng tiếp cận phổ biến nhất là Gaussian Process [23] (GP) Bên cạnh GP, phụ thuộc vào bài toán áp dụng mà nhiều công trình đã đề xuất sử dụng các giải thuật như Random Forest [24], Decision Tree [25], T-Student

process [26], Acquisition function kết hợp với các tiêu chí heuristic được sử dụng để

lựa chọn các nghiệm tối ưu tiềm năng Một số acquistion function thường được sử dụng như Expected Improvement (EI) [28], Upper Confidence Bound (UCB) [28],… Các tiêu chí heuristic để lựa chọn điểm kế tiếp thường được chia thành 2 hướng chính

là lựa chọn đơn và lựa chọn bó Lựa chọn đơn (single selection hay single evaluation) chỉ chọn một nghiệm tiềm năng tại mỗi vòng lặp của giải thuật Bayesian Đây là

hướng tiếp cận truyền thống và đã có nhiều công trình trước đó như [28, 29, 30] Mặt

khác, lựa chọn bó (batch selection hay batch evaluation) sẽ hy sinh độ chính xác

nhưng sẽ tận dụng được cơ chế song song hóa nhờ cơ chế đánh giá bó cho mỗi vòng lặp [31, 32, 33, 34, 35] Hướng tiếp cận bó này sẽ mang lại nhiều lợi ích về tiết kiệm thời gian, và phổ biến hơn trong môi trường ứng dụng Các giải thuật trong luận văn sẽ sử dụng hướng tiếp cận bó này

Trang 26

Để áp dụng giải thuật Bayesian cho bài toán đa mục tiêu, một giải pháp tự nhiên nhất là quy về bài toán đơn mục tiêu như hướng tiếp cận scalarization như trong

giải thuật ParEGO [36] Tuy nhiên, giải thuật này cũng gặp một số vấn đề của hướng

tiếp cận scalarization như đã đề cập ở trên Gần đây, một hướng nghiên cứu khác đề

xuất giải thuật USeMO [37] sử dụng kết hợp giữa giải thuật NSGA-II và ý tưởng của

giải thuật Bayesian để giải quyết bài toán Đề xuất của luận văn này sẽ được xây dựng

và cải tiến dựa trên giải thuật USeMO USeMO là một trong các giải thuật the-art (SOTA) giải quyết bài toán đa mục tiêu hiện nay Một số công trình liên quan đến hướng tiếp cận này như TSEMO[38], DGEMO[39], Cụ thể hơn về các giải thuật này sẽ được mô tả trong chương 3.

state-of-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

Bayesian

Giải thuật Bayesian gốc được phát triển để giải quyết bài toán trên không gian liên tục Việc áp dụng giải thuật Bayesian cho không gian rời rạc sẽ ảnh hưởng tới khả

năng hội tụ và kết quả cuối cùng của giải thuật Những khuyết điểm của việc áp dụng

hướng tiếp cận Bayesian với không gian liên tục đã được phân tích trong nghiên cứu

[40] Hơn thế nữa, nhóm tác giả của bài báo này đưa ra một cách tiếp cận để cải thiện

khả năng hội tụ giải thuật Bayesian cho bài toán đơn mục tiêu rời rạc Tuy nhiên, giải

pháp này cũng có một số mặt hạn chế Để vượt qua những hạn chế đó, Phuc et al [41] đã đề xuất một giải thuật tự động điều chỉnh các tham số cân bằng việc exploitation và

exploration của giải thuật Bayesian cho bài toán đơn mục tiêu Một mặt hạn chế của

phương pháp này là khi áp dụng cho bài toán đa mục tiêu, số lượng tham số cần phải điều chỉnh có thể là rất lớn, dẫn đến việc khó và tốn thời gian để có thể tìm ra một bộ số tối ưu Luận văn này sẽ đề xuất một cách tiếp cận lấy cảm hứng từ ý tưởng này cải thiện giải thuật UsEMO để giải quyết cho bài toán đa mục tiêu

Trang 27

CHƯƠNG 3: CƠ SỞ LÝ THUYẾT

Chương 3 trình bày một số khái niệm, lý thuyết nền tảng liên quan đến bài toán cần giải quyết và đề suất cải tiến được sử dụng trong luận văn Đầu tiên, chương này đề cập đến một số thông tin chung về thư viện Mininet, mô hình hoạt động của hệ thống CDN Bên cạnh đó, chương này đề cập một số khái niệm về bài toán tối ưu đa

mục tiêu, giải thuật Bayesian tổng quát cũng như trong ngữ cảnh đa mục tiêu

3.1 Tổng quan về Content Delivery Network 3.1.1 Khái niệm

Trong mô hình mạng truyền thống, tất cả yêu cầu từ người dùng sẽ được phục vụ bởi một máy chủ hay một data center của nhà cung cấp nội dung Khi nhu cầu, số lượng người dùng trở nên ngày càng lớn, kiến trúc truyền thống và cơ sở hạ tầng mạng khó có thể đem lại chất lượng dịch vụ tốt và ổn định Mô hình mạng CDN ra đời nhằm phục vụ cho nhu cầu này Doanh nghiệp sử dụng dịch vụ CDN để giảm traffic nội mạng, giảm độ trễ của dịch vụ, tăng tính ổn định và cải thiện trải nghiệm của người dùng Khi người dùng yêu cầu một nội dung, thay vì yêu cầu này sẽ được gửi từ

một máy chủ của nhà cung cấp, nó sẽ được gửi từ các replica server của hệ thống CDN Nội dung sẽ được cache trong một hay nhiều replica servers của CDN

Nhà cung cấp nội dung: cung cấp dịch vụ cho khách hàng mà không cần phải

thông qua các giao dịch, hợp đồng phức tạp với nhà mạng ISP Hơn thế nữa, họ thường không muốn tốn nhiều chi phí cho cơ sở hạ tầng, gia tăng chất lượng dịch vụ và duy trì tính độc quyền với khách hàng

Trang 28

Nhà cung cấp dịch vụ CDN: cung cấp cơ sở hạ tầng CDN (máy chủ và có thể

cả hạ tầng mạng) và có những hợp đồng ràng buộc về chất lượng với nhà cung cấp nội dung

Nhà mạng ISP: chủ yếu nhận tiền từ người dùng cuối và có thể cả từ nhà cung

cấp dịch vụ CDN Họ muốn duy trì và cân bằng chi phí cơ sở hạ tầng và chất lượng mạng để có thể cạnh tranh với các nhà mạng khác

3.1.3 Phân loại

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: Hình 1 minh họa cho mô hình CDN truyền

thống Trong mô hình mạng CDN này, các replica server của hệ thống CDN sẽ

đặt tại một hay nhiều trung tâm dữ liệu Mỗi trung tâm dữ liệu Point-of-Present (PoP) sẽ kết nối trực tiếp với routers thuộc nhà mạng ISP Mỗi PoP sẽ phục vụ cho một khu vực “district” nhỏ gồm một cụm nhỏ các người dùng cuối Các request trong một “district” chỉ được phục vụ bởi 1 PoP riêng thuộc “district” đó Nhà cung cấp nội dung sẽ thuê và trả tiền cho nhà cung cấp dịch vụ CDN để cải thiện dịch vụ của họ Hợp đồng giữa 2 bên thường sẽ có những cam kết về chất lượng dịch vụ tối thiểu

Trang 29

Hình 1: Mô hình CDN truyền thống

Hệ thống cloud CDN: Hiện này, có rất nhiều nền tảng lớn cung cấp dịch vụ

cloud CDN nổi tiếng như Akamai, CloudFront, Google Cloud, Amazon AWS, Các nhà cung cấp nội dung sẽ thuê dịch vụ cloud từ các nền tảng này để phục vụ cho nhu cầu của họ Tùy thuộc vào chính sách của các công ty cung cấp nền tảng CDN mà họ sẽ có các cách tính chi phí khác nhau Những mục chi phí thường được tính khi cung cấp dịch vụ CDN của các nền tảng là số lượng máy, dung lượng lưu trữ của mỗi máy, lưu lượng traffic, Cách tính chi phí cho những mục này thường sẽ khác nhau cho từng khu vực Trong mô hình này, mỗi “region” sẽ gồm nhiều “district” Các “region” sẽ đượ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 minh họa mô hình cloud CDN

Trang 30

Hình 2: Mô hình cloud CDN

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

Trang 31

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à bài toá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 yê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

Trang 32

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 toán tối ưu hóa đa mục tiêu 3.3.1 Định nghĩa

Một bài toá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 toá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 toá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 toá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

x1tốt hơn x2trong í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 toán tối thiểu hóa:

Định nghĩa dominanace: x1 dominate x2 nếu thỏa cả 2 điều kiện sau: ∀ ,( ) ≤ ( ) và ∃ , ( ) < ( )

Trang 33

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 {p1, p2, p3, p4} và điểm tham khảo r trong không gian 2 chiều

Trang 34

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 quát, xét trong bài toá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

Selection Giả sử có hai nghiệm x1 và x2, nếu x1 có rank thấp hơn x2 thì ta lựa

Trang 35

 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.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 toá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 toá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

toá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 toá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

ưu hóa Bayesian tổng quát cho bài toán đơn mục tiêu

Trang 36

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à:

Trang 37

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ự đoá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

Trang 38

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:

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 toá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 tính hàm này như sau:

Trang 39

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 toá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 toá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 ưu theo phương pháp MLE như đã đề cập ở phần 3.6.1.2

 Bước 2: Thay vì phải giải quyết bài toán gốc với các hàm mục tiêu tốn chi phí, ta có thể quy về một bài toán đa mục tiêu mới “tiết kiệm hơn”, tận dụng mô hình GPR như một hàm xấp xỉ hàm mục tiêu gốc và vận dụng các giải thuật tối

ưu hóa đa mục tiêu theo hướng tiếp cận Pareto như các giải thuật NSGA-II

Bài toán đa mục tiêu mới này gồm k mục tiêu ( ), ( ), … , ( ) Với

( ) có thể là bất kì acquisition function nào trong giải thuật Bayesian cho bài

toán đơn mục tiêu Cụ thể, đối với giải thuật USeMO ta có thể sử dụng EI và

Trang 40

UCB Đối với giải thuật TSEMO, acquisition function là Thompson Sampling

[38]

 Bước 3: Để lựa chọn giá trị tiềm năng mới xt giải thuật USeMO sử dụng tiêu

chí về tối ưu hóa mức độ không chắc chắn (Uncertainty) [37] Trong khi đó giải thuật TSEMO sử dụng tiêu chí cực đại hóa HVI [38]

 Bước 4: Tập dữ liệu huấn luyện được cập nhật với các giá trị tiềm năng mới, = ( , : ( ))

Ngày đăng: 31/07/2024, 10:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN