ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRẦN HOÀNG VINH
LẤY MẪU DỮ LIỆU ĐẦU VÀO ĐỂ CẢI THIỆN GIẢI THUẬT TÔ MÀU CHO MẠNG LƯỚI CDNS
Chuyên ngành : Khoa Học Máy Tính Mã số: 8.48.01.01
LUẬN VĂN THẠC SĨ
Trang 2CƠNG TRÌNH ĐƯỢC HỒ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
Cán bộ chấm nhận xét 2 : PGS TS Trần Công Hùng
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 13 tháng 7 năm 2023
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS TS Trần Văn Hoài .- Chủ tịch hội đồng 2 TS Lê Thành Sách .- Thư ký
3 TS Nguyễn Lê Duy Lai .- Phản biện 1 4 PGS TS Trần Công Hùng - Phản biện 2 5 PGS TS Lê Trung Quân .- Ủy Viên
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ó)
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA
Trang 3i ĐẠ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 Độ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: Trần Hoàng Vinh MSHV: 1970135
Ngày, tháng, năm sinh: 27/03/1996 Nơi sinh: TP Hồ Chí Minh Chuyên ngành: Khoa học máy tính Mã số : 8480101
I TÊN ĐỀ TÀI : Lấy mẫu dữ liệu đầu vào để cải thiện giải thuật tô màu cho mạng lưới CDN / Sampling input data to improve coloring algorithm for Content Delivery Network
II NHIỆM VỤ VÀ NỘI DUNG: Thực hiện nghiên cứu và đánh giá việc cải thiện giải
thuật tô màu cho mạng CDNs thông qua việc lấy mẫu dữ liệu đầu vào
III NGÀY GIAO NHIỆM VỤ : 06/02/2023
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 11/06/2023 V CÁN BỘ HƯỚNG DẪN: PGS.TS Thoại Nam
Tp HCM, ngày tháng năm 2023 CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) HỘI ĐỒNG NGÀNH (Họ tên và chữ ký) TRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 4ii
LỜI CẢM ƠN
Tôi xin chân thành gửi lời cảm ơn đến thầy Thoại Nam – Phó Giáo sư Tiến sĩ của trường đại học Bách Khoa Thành phố Hồ Chí Minh Thầy đã tận tình hướng dẫn, chỉ bảo tơi và giải đáp thắc mắc trong suốt quá trình thực hiện đề tài Bên cạnh đó, xin cảm ơn thạc sĩ La Hồng Lộc, người đã hỗ trợ tôi chạy lại giải thuật tô màu cho mạng CDNs mơ phỏng Ngồi ra, tơi cũng gửi lời biết ơn chân thành tới tất cả các q Thầy, Cơ trong khoa Khoa học Máy Tính đã nhiệt tình giảng dạy, truyền đạt kiến thức cho tơi trong suốt quá trình học tập tại trường
Trân Trọng
Trang 5iii
TÓM TẮT LUẬN VĂN
Trang 6iv
ABSTRACT
Trang 7v
LỜI CAM ĐOAN
Tôi xin cam đoan rằng tất cả những thông tin và kết quả được trình bày trong luận văn này ngồi việc tham khảo các nguồn tài liệu đã được ghi đầy đủ trong phần phụ lục các tài liệu tham khảo, thì đều cho chính tơi thực hiện Khơng có phần nội dung nào được sao chép từ các đề tài thực tập tốt nghiệp, luận văn đại học của trường này hay trường khác Nếu có bất kỳ sai phạm hay gian lận nào, tơi xin hồn tồn chịu trách nhiệm trước Ban Chủ Nhiệm Khoa và Ban Giám Hiệu Nhà Trường
Người cam đoan
Trang 8vi
MỤC LỤC
NHIỆM VỤ LUẬN VĂN THẠC SĨ i
LỜI CẢM ƠN i
TÓM TẮT LUẬN VĂN iii
ABSTRACT iv
LỜI CAM ĐOAN v
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 Tổng quan về mạng CDNs 4
2.2 Phương pháp lấy mẫu 12
CHƯƠNG 3: BÀI TOÁN LẤY MẪU TẬP TRUNG TRONG MẠNG CDNS 19
3.1 Phân tích giải thuật tơ màu trong CDNs 19
3.2 Bài toán lấy mẫu tập trung trong mạng CDNs 21
CHƯƠNG 4: LẤY MẪU PHÂN TÁN CHO GIẢI THUẬT TÔ MÀU TRONG CDNS 24
4.1 Giải thuật lấy mẫu phân tán trong mạng CDNs 24
4.2 Công thức tính độ tương đồng 26
CHƯƠNG 5: THỰC NGHIỆM 29
5.1 Hệ thống, dữ liệu và công cụ thực nghiệm 29
5.2 Kết quả thực nghiệm 32
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40
6.1 Kết luận 40
Trang 9vii
Trang 101
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Trang 112
cả hai bài toán này Luận văn cũng thử nghiệm trên tập dữ liệu thực tế được trích suất từ một ISP lớn của Việt Nam
Mục tiêu đề tài:
1 Chia nhỏ bài toán lấy mẫu dữ liệu đầu vào cho mạng CDNs thành hai hướng tiếp cận chính: Lấy mẫu tập trung và lấy mẫu phân tán 2 Đưa ra cơng thức đánh giá tính tương đồng giữa kết quả của giải
thuật tô màu trước vào sau khi lấy mẫu
3 Thực nghiệm việc lấy mẫu trên tập dữ liệu thực tế và đánh giá kết quả thông qua mạng CDN mô phỏng
Đối tượng và phạm vi nghiên cứu:
Trong luận văn này, mạng CDN sẽ được mô phỏng lại bưởi công cụ Mininet Đầu vào của mạng sẽ là dữ liệu yêu cầu của người dùng theo thời gian được trích suất từ một ISP lớn của Việt Nam trong ngày 6/12/2018 Tập dữ liệu này được chia thành 24 khoảng thời gian với mỗi khoảng thời gian tương ứng với 1 tiếng trong ngày Phạm vi nghiên cứu của luân văn sẽ tập trung vào việc lấy mẫu của dữ liệu đầu vào, đánh giá sự tương đồng của đầu ra giải thuật tô màu trước và sau lấy mẫu
Phương pháp:
Đề tài sử dụng kỹ thuật lấy mẫu (Data Sampling) để giảm tải khối lượng dữ liệu, từ đó làm giảm độ phức tạp của giải thuật tô màu Dữ liệu này sẽ được chạy trong mạng CDN mô phỏng để sinh ra tập số để tô màu nội dung tương ứng Tập số này là kết quả chính nhằm đánh giá tính tương đồng giữa kết quả trước và sau lấy mẫu thông qua công thức phát triển từ giải thuật đánh giá tính tương động Jaccard
Cấu trúc luận văn:
Trang 123
Trang 134
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về mạng CDNs
Cơ sở lý thuyết và việc mô phỏng mạng CDNs đã được mô tả trong các bài báo [3, 4, 5].Cụ thể như sau:
2.1.1 Mạng CDNs
Mạng CDNs là một mạng lưới bao gồm nhiều máy chủ hỗ trợ lẫn nhau để cung cấp nội dung đến người dùng từ nhiều khu vực, vị trí địa lý khác nhau Mạng lưới CDNs này đóng góp cải thiện băng thơng tiêu thụ và thời gian người dùng nhận được nội dung yêu cầu Hiện nay, mạng lưới CDNs được áp dụng khá phổ biến, đặc biệt là các nhà cung cấp dịch vu Video-on-Demand Vì được đặt ở nhiều vùng địa lý khác nhau, người dùng ở bất kỳ nơi nào cũng có thể nhận được nội dung yêu cầu thông qua máy chủ gần nhất Điều này giúp tăng trải nghiệm của người dung và giảm thiểu thời gian phản hồi của máy chủ gốc (Orgin Server)
Một mạng lưới CDNs bao gồm các thành phần sau:
● Origin Server: Là máy chủ gốc chứa toàn bộ nội dung
● Edge Server (Cache server): Là các máy chủ đặt tại các vị trí địa lý khác nhau để phục vụ người dùng Các máy chủ này có nhiệm vụ chính là lưu trữ một bản sao của nội dung từ máy chủ gốc và phân phối nội dung đó tới người dùng
Trang 145
đó, CDN giúp phân phối tải trọng trên nhiều máy chủ Với một dịch vụ trong mạng Internet, nếu chỉ được dựng trên một máy chủ đơn lẻ, số lượng yêu cầu cho dich vụ đó sẽ bị giới hạn Nếu vượt qua giới hạn này có thể gây ra áp lực lớn cho máy chủ đó, dẫn đến quá tải ảnh hưởng tới dịch vụ Nhờ vào việc phân phối tải trọng trên nhiều máy chủ của mạng CDN, dịch vụ đó có thể tiếp nhận nhiều yêu cầu hơn, khả năng chịu tải cao hơn Một điểm mạnh khác của mạng CDN là khả năng mở rộng Với khả năng mở rộng linh hoạt, thêm các nút Edge Server và nâng cấp hệ thống dễ dàng để đáp ứng lưu lượng truy cập ngày càng tăng của hệ thống
Bên cạnh những điểm mạnh trên, mạng CDNs cũng có một vài điểm yếu cần được cải thiện và chú ý Thứ nhất là về chi phí, để xây dừng và vận hành một mang CDNs địi hỏi phải có chi phí đầu tư lớn Bên cạnh đó việc phân phối và quản lý mạng CDN có thể trở nên rất phức tạp Đặc biệt đối với các mạng có số lượng Edge Server lớn Thứ hai là giới hạn về phần cứng, bên cạnh về khả năng xử lý, khả năng lưu trữ trên các Edge Server là một giới hạn của mạng CDNs Việc lưu trữ nội dung trên các Edge Server sẽ bị giới hạn bởi khả năng lưu trữ vật lý của máy chủ [3] Thứ ba là khả năng routing trong mạng CDNs, nếu không có bảng phân phối đường đi hợp lý, lưu lượng trong mạng CDNs có thể trở nên rất lớn Điều này ảnh hưởng trực tiếp để hiệu suất của mạng
Trang 156
2.1.2 Giải thuật Caching dựa theo màu (Color-based Caching Algorithm)
Mục đích chính của giải thuật Caching dựa theo màu trong mạng CDNs là kết hợp các Edge Server để tăng dung lượng lưu trữ về mặt vật lý và tổ chức lại chiến lược lưu trữ bản sao một cách hợp lý Cụ thể, giải thuật này là sự kết hợp giữa Cooperative Caching và Hybrid Caching Cooperative Caching là phương pháp kết hợp các Cache Server nhằm tăng không gian lưu trữ Hybrid Caching cho phép Edge Server chia không gian lưu trữ làm hai phần Phần thứ nhất sử dụng Least Frequently Used (LFU) để lưu trữ nội dung phổ biến để tăng tỷ lệ truy cập, trong khi phần còn lại sử dụng First In Frist Out để lưu trữ các nội dung gần nhất để theo dõi những thay đổi về mức độ phổ biến của nội dung Việc kết hợp hai chiến lược này vừa giúp tăng không gian lưu trữ cũng như đáp ứng được sự thay đổi nhanh chóng của nội dung phổ biến
Trang 167
bất kỳ nội dung không trùng màu với Edge Server Phương pháp LRU cải tiến [7] này cho tỉ lệ truy cập tốt hơn phương pháp LRU [8]
Hình 1 Nội dung được đánh màu và lưu trữ trên các Edge Server được tơ màu [3]
Hình 2 Chiến lược Hybrid Caching trên Edge Server [3]
a) Đánh màu Edge Server
Trang 178
b) Đánh màu nội dung
Tùy vào mức độ phổ biến của nội dung mà nội dung đó có thể có nhiều nhất N màu Khi này độ phổ biến của nội dung sẽ được thể hiện qua số lượng màu mà nội dung đó được gán Một nội dung được biểu diễn bằng N-bit vectơ, trong đó 0 có nghĩa là khơng có màu và 1 có nghĩa là được đánh màu Tương tự như đánh màu Edge Server, chúng ta cũng có 4 màu (đỏ, lục, lam, vàng) Như vậy độ phổ biến của nội dung cũng sẽ được chia làm 5 lớp Lớp thứ nhất với tất cả các bit là 0, lớp thứ 2 gồm 3 bit 0 và 1 bit 1, lớp thứ 3 gồm 2 bit 0 và 2 bit 1, lớp thứ 4 gồm 1 bit 0 và 3 bit 1, và lớp cuối cùng gồm 4 bit 1
Trang 189
Độ phổ biến Hạng của
nội dung Số màu
Vectơ nhị phân Đỏ Lục Lam Vàng Cao 1 – 22 4 1 1 1 1 Cao – vừa 23 – 25 3 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 Vừa 26 – 47 2 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 Vừa – thấp 48 – 305 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Thấp 306 - 0 0 0 0 0
Bảng 1 Bảng ánh xạ độ phổ biến và thẻ màu trong trường hợp 4 màu [4]
Như vậy, một vấn đề mới làm sao tìm được tập hợp Separator Ranks phù hợp? Bài báo [3] đã chứng minh với mỗi tập Separator Ranks khác nhau, traffic có thể được tính mà khơng quan tâm đến băng thông và thời gian truyền tải nội dung qua công thức:
𝑇𝑒𝑠𝑡 = ∑ ∑ ∑ 𝑒𝑖𝑗𝑝𝑖𝑘𝑦𝑖𝑗𝑘𝐾
𝐽𝐼
Với 𝑇𝑒𝑠𝑡 là tổng traffic trong mạng, 𝑒𝑖𝑗 là số đường mà nội dung k đi đến với người dùng thứ i từ Edge Server, 𝑝𝑖𝑘 là xác suất yêu cầu mà người dùng i đối với nội dung k, 𝑦𝑖𝑗𝑘 là một biến nhị phân cho biết Cache Server j lưu trữ nội dung k là máy chủ gần nhất với người dùng i I, J, K tương ứng với số người dùng, số Edge Server và số nội dung được lưu trữ ở Origin Server [3]
Trang 1910
𝑎 ≤ 𝑏 ≤ 𝑐 ≤ 𝑑 (1)
𝑎 + 𝑏 + 𝑐 + 𝑑 = 4 ∗ 𝐶 (2)
Với a, b, c, d là các Separator Ranks của các lớp phổ biến ứng với 4, 3, 2, 1 màu Ràng buộc (1) chỉ ra rằng, Separator Ranks của lớp phổ biến hơn sẽ nhỏ hơn hoặc bằng Separator Ranks của lớp phổ biến ít hơn Ràng buộc (2) miêu tả tổng không gian lưu trữ trong mạng không vượt quá tổng không gian lưu trữ của tất cả các Edge Server, trong đó, C là số lượng nội dung mà Edge Server có thể lưu trữ Từ kết luận trên, với bài tốn tơ N màu, Separator Ranks có thể được lưu trong một mảng N phần tử và đáp ứng các ràng buộc sau:
{ 𝑆[0] ≤ 𝑆[1] ≤ ≤ 𝑆[𝑁 − 1]𝑆[0] + 𝑆[1] + + 𝑆[𝑁 − 1] = 𝑁 ∗ 𝐶
2.1.3 Giải thuật định tuyến dựa theo màu (Color-based Routing)
Bên cạnh việc lưu trữ bản sao của nội dung trên các Edge Server, định tuyến trong mạng CDNs cũng rất quan trọng trong việc chi phối mạng toàn bộ traffic Khi nhận một yêu cầu cho một nội dung mà Edge Server đó khơng lưu trữ, thơng thường Edge Server sẽ gửi yêu cầu đó về Origin Server để lấy nội dung đó Lúc này thuật tốn Dijkstra [9] được sử dụng để tìm đường đi ngắn nhất từ Edge Server về Origin Server Tuy nhiên, đường đi ngắn nhất này đôi khi có thể đi qua các Edge Server khác, nơi có thể chứa những nội dung đang được yêu cầu Điều này cho thấy rằng, các thuật toán định tuyến thông thường không khai thác được thế mạnh của chiến lược Cooperative caching Hơn nữa, nếu có quá nhiều yêu cầu gửi về Origin Server có thể gây ra tắt nghẽn, làm giảm hiệu suất của mạng CDNs
Trang 2011
(Response Routing Table) nhằm lưu trữ địa chỉ mạng và giao diện phản hồi khi tìm thấy nội dung được u cầu Chính vì giải thuật tơ màu các Edge Server dựa trên thuật tốn Welsh-Powell cải tiến, nên chúng ta có thể gom nhóm các Cache Server gần nhau nhưng khác màu thành các cụm nhỏ Cụ thể hơn, các thẻ màu của nội dung được thể hiện trong các yêu cầu gửi đến các Edge Server Khi này Edge Server sẽ kiểm tra không gian lưu trữ LFU và LRU Nếu nội dung đó được tìm thấy, Edge Server sẽ trả lời trực tiếp cho yêu cầu đó và ngược lại, yêu cầu đó sẽ chuyển tiếp đến Cache Server cùng màu gần nhất thông qua Bảng định tuyến yêu cầu Nếu là một nội dung mới, không màu, yêu cầu sẽ được chuyển tiếp như mặc định
Trang 2112
Hình 3 Mơ phỏng giải thuật Color-based Routing và Shortest-path routing [4]
2.2 Phương pháp lấy mẫu
Lấy mẫu là phương pháp lựa chọn một số phần tử để tạo thành một tập hợp có thể quan sát được từ một quần thể nhằm ước tính hoặc đánh giá tồn bộ quần thể đó Lấy ví dụ như, khi có một cuộc điều tra ý kiến quốc gia, chỉ có một mẫu người dân được tiếp xúc và lấy ý kiến Ý kiến của mẫu người dân này sẽ đại diện cho toàn bộ người trong quốc gia đó [10]
Áp dụng các phương pháp chọn mẫu để tìm ra mẫu đặc trưng là một việc đơn giản, nhưng để xác định mẫu mà chúng ta đạt được có thật sự tốt hay khơng lại là một vấn đề khác Một mẫu tốt là mẫu có đầy đủ tất cả các điểm đặc trưng của quần thể Mỗi cá thể trong quần thể đều phải có cơ hội được chọn ngẫu nhiên như nhau Ngoài ra, mẫu được chọn phải có tính hợp lệ, tính đúng đắn và tính chính xác Các tính chất này có thể được chứng minh về mặt toán học hay bằng cách làm thí nghiệm để kiểm chứng Ví dụ như một quần thể có 100 người trong đó có 50 người mặc áo đỏ, 30 người mặc áo xanh và 20 người mặc áo vàng Như vậy, mẫu mà chúng ta trích xuất từ quần thể cũng phải có tỉ lệ tương ứng 50% đỏ, 30% xanh và 20% vàng
Trang 2213
như ta đang quan tâm mối quan hệ giữa cân nặng và chiều cao trong một quần thể thì ngồi những đặc tính như cân nặng, chiều cao của mỗi người thì độ tuổi cũng là một đặc tính cần xem xét Ngồi ra, một số tham số mà ta cần quan tâm như phương sai, giá trị trung bình, kích cỡ của mẫu,… Mẫu lấy bao nhiêu phần tử của quần thể là phù hợp? Đây cũng là câu hỏi mà các nhà khoa học dữ liệu phải đặt ra Nếu lấy quá ít thì khơng đủ dữ liệu để khai thác giá trị hoặc dẫn đến giá trị không phù hợp Ngược lại, nếu lấy q nhiều thì việc lấy mẫu khơng có nhiều ý nghĩa Vì vậy, việc lấy mẫu cũng phải tuân theo một số quy tắc nhất định như:
● Đặc tính trong quần thể biến thiên càng nhiều thì kích cỡ của mẫu phải lớn để đạt tính chính xác
● Mẫu càng lớn thì phạm vi sai số càng nhỏ ● Mẫu càng lớn thì mức độ tin cậy càng cao
Có hai kĩ thuật lấy mẫu chính mà ta thường gặp là lấy mẫu ngẫu nhiên và lấy mẫu phi ngẫu nhiên Tuỳ vào bài tốn mà chúng ta có thể lựa chọn những kỹ thuật lấy mẫu phù hợp
Phương pháp lấy mẫu ngẫu nhiên
Trang 2314
Hình 4 Ví dụ về Random Number Table
Ưu điểm của hướng tiếp cận này là chúng ta không quan tâm đến kích cỡ của quần thể và rất dễ để áp dụng Ngược lại, nhược điểm của phương pháp này là tốn nhiều thời gian và có sai số lớn Phương pháp này thích hợp với các bài tốn khơng có nhiều thơng tin về tập mẫu
+ Stratified Sampling: Phương pháp này chia quần thể thành các nhóm nhỏ dựa trên tính tương đồng (Similarity) sau đó chọn ngẫu nhiên các cá thể trong từng nhóm Phương pháp này phù hợp với các bài tốn có nhiều thơng tin về quần thể Tuy nhiên, cần lưu ý rằng, việc chia nhóm càng nhiều thì chi phí cho phương pháp này càng lớn Bên cạnh đó, việc chia các nhóm nhỏ cũng cần được cân nhắc, ví dụ như nếu tổng là 200 thì nên chia 4 nhóm hay 10 nhóm là hợp lý Hướng tiếp cận này có ưu điểm làm đảm bảo mức đại diện cho từng nhóm nghiên cứu, kiểm sốt kích thước mẫu ở các nhóm nhỏ, tăng hiệu quả cho việc thống kê và có thể áp dụng nhiều phương pháp lấy mẫu khác nhau cho từng nhóm Nhược điểm thì như đề cập ở trên, việc chia nhóm sẽ gây tốn kém chi phí cũng như việc lựa chọn ở các nhóm có tỉ lệ khác nhau
Trang 2415
chọn các cụm một cách ngẫu nhiên và tổng hợp thành tập mẫu Một số chiến lược để chọn cụm:
+ Single Stage Cluster Sampling - các cụm sẽ được chọn ngẫu nhiên và tổng hợp thành mẫu
+ Two Stage Cluster Sampling - sau khi lựa chọn ngẫu nhiên các cụm, các phần tử trong mỗi cụm sẽ được lựa chọn ngẫu nhiên lần nữa
+ Multi-Stage Sampling: Kết hợp một hay nhiều phương pháp trên để lấy mẫu Tương tự với Two Stage Cluster Sampling, quần thể sẽ được chia thành từng nhóm nhỏ và áp dụng các kỹ thuật lấy mẫu lên từng nhóm Q trình này sẽ lặp lại nhiều lần đến khi nào cụm không thể phân chia được nữa
Phương pháp lấy mẫu phi ngẫu nhiên
+ Covenience Sampling: Kỹ thuật này chọn các cá thể trong quần thể bằng cách dụa trên phần tử dễ lấy nhất Ví dụ, một tổ chức muốn thành lập chi nhánh tại 10 thành phố trong nước Họ sẽ chọn những thành phố nào gần với nơi mà nhân viên của họ sinh sống nhất để tiện việc đi lại Việc thành lập mẫu với phương pháp này rất thuận tiện và nhanh chóng Tuy nhiên, nếu lựa chọn các phần tử dễ lấy nhất thì mẫu của chúng ta khơng tính tổng qt, một số đặc trưng của quần thể sẽ bị mất đi Phương pháp này không phù hợp với những dữ liệu đa dạng về đặc tính
+ Purposive Sampling / Judemental Sampling: Phương pháp này sử dụng cho mục đích nghiên cứu, chọn ra các cá thể trong quần thể để đạt được mục tiêu một cách tốt nhất Phương pháp này chỉ áp dụng với các mẫu nhỏ có chứa các phần tử đặc biệt chứa nhiều thông tin hoặc ở giai đoạn đầu của việc nghiên cứu
Trang 2516
pháp này có ưu điểm là đảm bảo mức độ đại diện của tập mẫu, tuy nhiên mức độ tổng quán cho quần thể lại thấp và phụ thuộc rất nhiều vào dữ liệu ban đầu
+ Referral / Snowball Sampling: Chọn mẫu mở rộng dần từ những phần tử ban đầu Trước hết, ta tìm ra cá thể đầu tiên trong quần thể rồi nhờ cá thể đó gợi ý cho các cá thể tiếp theo với điều kiện thoả nhu cầu lấy mẫu nghiên cứu Điều này sẽ làm cho tập mẫu tăng dần theo cấp số nhân Ví dụ đơn giản cho phương pháp này, với ngữ cảnh là khảo sát về những người bị nhiểm HIV, những người này có khuynh hướng khơng cởi mở và khó để chúng ta tiếp cận Để giải quyết, chúng ta có thể liên hệ với một người liên quan, nhờ họ làm cầu nối giữa ta và những người bị nhiễm và thu thập thông tin từ họ
Hồ chứa mẫu ( Reservoir Sampling)
Trong lĩnh vực Big Data, dữ liệu được sinh ra liên tục Vì thế chúng ta cần một thuật tốn lấy mẫu phù hợp với dạng dữ liệu streaming Theo Mohammed AI-Kateb [11], Reservoir Sampling là một kỹ thuật lấy mẫu ngẫu nhiên phù hợp với dạng dữ liệu liên tục Kỹ thuật lấy mẫu này cũng phù hợp cho các cụm tính tốn bị giới hạn về khả năng xử lý Lý do là vì Reservoir Sampling cho phép giới hạn về kích thước của mẫu và khơng cần phải duyệt qua tồn bộ tập dữ liệu Do đó, kỹ thuật lấy mẫu này khơng quan tâm đến kích thước của quần thể
Ban đầu, cần phải xác định được kích thước của hồ chứa mẫu Kích thước của hồ là cố định và đại diện bằng tham số r Sau đó, thuật tốn sẽ duyệt qua các phần tử trong tập dữ liệu ban đầu Nếu phần tự được duyệt chưa vượt quá thứ tự r thì lưu phần tử đó vào hồ chứa mẫu Nếu phần tử được duyệt đã vượt quá kích thước của hồ chưa mẫu r thì với xác suất là 𝒓
Trang 2617
Hình 5 Thuật tốn Reservoir Sampling
Ưu điểm của phương pháp lấy mẫu này là một thuật toán đơn giản và hiệu quả trong việc lấy mẫu Giải thuật lấy mẫu này có thời gian chạy hiệu quả với độ
phưc tạp là O(n) với n là số lượng phần tử trong tập dữ liệu Ngoài ra, việc giới
Trang 2718
Trang 2819
CHƯƠNG 3: BÀI TOÁN LẤY MẪU TẬP TRUNG TRONG MẠNG CDNS
3.1 Phân tích giải thuật tô màu trong CDNs
Trong chương 2, chúng ta đã hiểu được cách hoạt động của giải thuật tơ màu trong mạng CDNs Ý tưởng chính của giải thuật này được Nakajima và cộng sự đề xuất [4] dựa trên việc đánh màu nội dung và máy chủ trong mạng Nội dung có màu nào sẽ được lưu trong máy chủ có màu tương ứng Ngồi ra trên các Edge Server sẽ được chia làm 2 phân vùng theo chiến lược Hybrid caching, một phân vùng để theo dõi sự thay đổi liên tục về độ phổ biến của nội dung, phân vùng còn lại để chưa các nội dung được đánh màu trước đó Cuối cùng, tác giả cũng đề xuất một chiến lược định tuyến dựa trên màu sắc để giảm lưu lượng thay vì sử dụng giải thuật đường đi ngắn nhất
Như vậy, để mạng CDNs có thể thích nghi với sự thay đổi theo mức độ phổ biến của nội dung, việc đánh màu nội dung sẽ diễn ra thường xuyên sau một khoảng thời gian Khi này, mạng CDNs cần tập trung toàn bộ các Access Log từ các Edge Server để tìm ra được một tập số Separator Ranks Tập số Separator Ranks này sẽ quyết định màu sắc của các nội dung trong khoảng thời gian tiếp theo nhằm giảm tải lưu lượng đường truyền trong mạng CDNs Trong bài báo [12], tác giả chứng minh giải thuật tô màu nội dung sử dụng giải thuật vét cạn với
Trang 2920
Hình 6 Luồng xử lý dữ liệu cho giải thuật tô màu (4 màu)
Trang 3021
giới hạn nhất định, phụ thuộc vào phần cứng vật lý của máy chủ Vì vậy, tuy có thể cải thiện được hiệu quả giải thuật nhưng phát sinh chi phí về phần cứng tính toán Với hướng tiếp cận làm giảm dữ liệu đầu vào cho mạng CDN có tính khả thi cao hơn Phần trước, luận văn cũng đã cho thấy được mối liên hệ giữa thời gian tính tốn và độ phức tạp của giải thuật phụ thuộc vào số lượng yêu cầu và nội dung có trong mạng Số lượng yêu cầu và nội dung này lại được tổng hợp từ các LogFile của các máy chủ trong mạng Như vậy giảm dữ liệu đầu vào cho giải thuật tô màu đồng nghĩa với việc làm giảm số lượng nội dung và yêu cầu từ các LogFile Lấy mẫu là một phương pháp phù hợp cho bài toán này
3.2 Bài toán lấy mẫu tập trung trong mạng CDNs
Theo luồng xử lý như hình 6, các Logfile của các Edge Server được tập hợp lại nhằm xử lý dữ liệu chuẩn bị cho đầu vào của giải thuật tô màu Việc lấy mẫu có thể diễn ra ở đây, sau bước xử lý dữ liệu và trước khi làm đầu vào cho giải thuật tơ màu (hình 7) Cụ thể, việc lấy mẫu ở đây nhằm tạo ra một đầu vào nhỏ hơn cho giải thuật tô màu với số lượng nội dung và yêu cầu nhỏ hơn Vì mục đính chính giải thuật tơ màu là việc tìm ra được tập số SR phù hợp nhất để đánh màu nội dung, nên vòng lặp trong giải thuật sẽ phải chạy đi chạy lại nhiều lần
nhằm đánh giá lại traffic trong mạng (Test) dựa trên số lượng yêu cầu và nội dung
hiện tại Nếu số lượng nội dung và yêu cầu càng thấp, vòng lặp này sẽ nhanh hơn,
tốn ít thời gian hơn Vịng lặp này chỉ dừng lại khi tìm ra được tập SR có Test là
Trang 3122
Hình 7 Luồng xử lý dữ liệu cho bài toán lấy mẫu tập trung (4 màu)
Khi thực hiện tô màu cho nội dung thông qua tập số Separator Ranks ta cần phải tập trung tất cả các Access Log từ các Edge Server để thực hiện tạo ra cặp
số <content_id,access_count> [3] nhằm đánh giá độ phổ biến của các nội dung
Bước lấy mẫu sẽ được thực hiện sau khi có được tập dữ liệu tập hợp từ các Access Log và sắp xếp theo thứ tự thời gian Đây là bài tốn lấy mẫu tập trung Ngồi ra, việc tập hợp các Access Log từ các Edge Server sẽ tạo ra chi phí về đường truyền cũng như việc xử lý khối lượng lớn dữ liệu tại một nơi cũng ảnh hưởng tới hiệu suất của thuật tốn tơ màu Nhằm cải thiện các yếu tố trên, việc lấy mẫu sẽ được thực hiện trên các Edge Server trước khi đẩy về trung tâm để tính tốn Đây chính là bài toán lấy mẫu phân tán
Trang 3223
sẽ tiến đến X lần Trong thực tế, số lượng nội dung là rất lớn, việc kết hợp giải thuật tô màu và lấy mẫu Reservoir sẽ đạt được hiệu quả tối đa
Hình 8 Tỉ lệ thời gian thực thi giải thuật tô màu giữa lấy mẫu Reservoir và không lấy mẫu [12]
Trang 3324
CHƯƠNG 4: LẤY MẪU PHÂN TÁN CHO GIẢI THUẬT TÔ MÀU TRONG CDNS
Trong chương 3, chúng ta đã tìm hiểu về cách hoạt động của giải thuật tô màu nội dung trong mạng CDNs Với độ phức tạp của giải thuật và thời gian chạy liên quan tới số lượng yêu cầu và nội dung trong mạng, một hướng tiếp cận mới đã được đề ra nhằm cải thiện các vấn đề trên, đó là lấy mẫu Trong đó, việc tập hợp tất cả các Access Log lại một nơi và thực hiện quá trình xử lý dữ liệu (bao gồm cả lấy mẫu) và áp dụng giải thuật tô màu để tìm ra tập số Separator Ranks được tác giả bài báo [12] thử nghiệm trong mạng mô phỏng Chương 4 này sẽ tập trung vào việc lấy mẫu trên các Edge Server rồi mới áp dụng giải thuật tô màu Bên cạnh đó, chúng ta sẽ tìm ra một cơng thức để tìm mức độ sai số giữa việc lấy mẫu và dữ liệu thực tế
4.1 Giải thuật lấy mẫu phân tán trong mạng CDNs
Việc lấy mẫu tập trung sẽ mang lại tập dữ liệu đầu vào cho giải thuật tơ màu có tính khái qt hóa của mơ hình mạng CDNs hơn Tuy nhiên, chi phí lưu trữ cũng như vận chuyển dữ liệu về trung tâm để tính tốn sẽ rất lớn và tốn nhiều thời gian để huấn luyện Với mục đích đó, luận văn này sẽ tập trung vào việc trả lời câu hỏi lấy mẫu như thế nào trên các Edge Server để có thể đẩy về trung tâm để khơng chỉ tối thiểu về mặt chi phí vận chuyển, lưu trữ mà còn đạt được hiệu quả cao cho giải thuật tơ màu
Trang 3425
Hình 9 Luồng xử lý dữ liệu cho bài toán lấy mẫu phân tán (4 màu)
Thứ nhất là mẫu nào sẽ được cho chiến lược lấy mẫu này Đối với giải thuật hồ chứa mẫu, do số lượng mẫu được chọn là một hằng số, vì vậy mẫu nào sẽ được chọn là một bài tốn cần được giải quyết Mỗi content đều đóng góp vào giải thuật tô màu Tuy nhiên, tùy vào tần suất được mỗi nội dung sẽ có mức độ quan trong khác nhau trong giải thuật Một nội dung có nhiều lượt truy cập sẽ có tỉ lệ được giữ lại cao hơn so với những nội dung có tần suất truy cập thấp hơn Theo thuật toán hồ chứa mẫu, mỗi phần tử đi vào hồ có tỉ lệ được chọn là như nhau Với nội dung có tần suất truy cập cao, số lượng xuất hiện của nội dung đó trong tập Access Log sẽ chiếm nhiều phần trăm hơn, đồng nghĩa với việc được giữ lại trong hồ chứa mẫu cao hơn Đối với nội dung có tần suất truy cập thấp, nội dung ấy có thể được giữ lại hoặc khơng Vì việc cố định kích thước mẫu nên số lượng nội dung được giữ lại sẽ nhỏ hơn rất nhiều so với mẫu thực tế, điều này làm giảm thời gian tính tốn cho giải thuật tô màu cũng như độ phức tạp của thuật toán đi nhiều lần
Trang 3526
Server sẽ gây ra sự mất cân bằng giữa các máy chủ Ví dụ, trong mạng CDNs đang có 3 Edge Server để tiếp nhận các yêu cầu từ phía người dùng Mỗi Edge Server sẽ có một số lượng nhận yêu cầu khác nhau, Edge Server 1 có 100000 yêu cầu, Edge Server 2 có 50000 yêu cầu, Edge Server 3 có 20000 yêu cầu Như vậy nếu áp dụng giải thuật hồ chưa mẫu với kích thước 50000 yêu cầu sẽ gây ra sự bất hợp lý Khi này Edge Server 2 sẽ gửi toàn bộ và Edge Server 3 sẽ không đủ dữ liệu để gửi về trung tâp để xử lý Như vậy, phương án hợp lý nhất cho ví dụ này là lấy theo tỉ lệ giữa các Edge Server Với Edge Server 1 sẽ lấy 1000 yêu cầu, Edge Server 2 sẽ lấy 500 yêu cầu và Edge Server 3 sẽ lấy 200 yêu cầu Điều này sẽ không ảnh hưởng tới tỉ lệ lấy mẫu trên từng Edge Server
4.2 Công thức tính độ tương đồng
Việc tính tốn lại tập số Separator Ranks chịu ảnh hưởng bởi tập dữ liệu đầu vào Vì thế, khi thực hiện lấy mẫu trên tập dữ liệu đầu vào, dù là lấy mẫu tập trung hay lấy mẫu phân tán đều sẽ có sai lệch nhất định Vì thế, luận văn này sẽ cố gắng tìm ra được cơng thức thể hiện sai số giữa việc lấy mẫu cho tập dữ liệu đầu vào đầy đủ và sau khi lấy mẫu
Như chúng ta đã biết, đầu ra cuối cùng của giải thuật tô màu là tập số Separator Ranks nhằm xác định độ phổ biến của nội dung theo màu sắc, từ đó phân bổ nội dung về từng Edge Server Như vậy, giữa việc lấy mẫu và không lấy mẫu sẽ tạo ra sự sai lệch giữa tập số này Cụ thể, nếu gọi tập số Separator Ranks
không sử dụng giải thuật lấy mẫu là [a, b, c, d] và tấp số sau khi đi qua giải thuật lấy mẫu là [a’, b’, c’, d’] Nếu cả hai tập số này giống nhau theo mỗi chu kỳ tính toán, tức là a = a’, b = b’, c = c’ và d = d’ , thì kết quả giữa việc lấy mẫu và không
Trang 3627
đương với tích của số màu sử dụng trong mạng và số lượng nội dung mà các Edge Server có thể chưa Vì vậy, tổng của a, b, c, d và a’, b’, c’, d’ trong từng chu kỳ là giống nhau Như vậy, khi có sự khác biệt giữa hai tập số này, chúng ta phải có 1 cách để tìm ra tỉ lệ tương đồng của hai tập số Một trong những cách để tìm ra tính tương đồng là giải thuật Jaccard [13] Giải thuật Jaccard cho phép tính tỉ lệ giữa phần giao và phần hợp của hai tập hợp Trong trường hợp này chính là độ tương đồng của của 2 tập số SR Với mỗi tập nội dung trong mỗi khoản sẽ có sự tương đồng khác nhau Ví dụ, với nội dung được tô 4 màu được xác định trong khoảng từ 1 đến a hoặc 1 đến a’, công thức áp dụng cho tập dữ liệu này sẽ là
𝐽(𝑎, 𝑎′) = |𝑎 ∩ 𝑎′|
|𝑎 ∪ 𝑎′| Tương tự cho các tập dữ liệu còn lại, ta sẽ có 𝐽(𝑏, 𝑏′) =
|𝑏 ∩ 𝑏′|
|𝑏 ∪ 𝑏′| , 𝐽(𝑐, 𝑐′) = |𝑐 ∩ 𝑐′|
|𝑐 ∪ 𝑐′| , 𝐽(𝑑, 𝑑′) = |𝑑 ∩ 𝑑′|
|𝑑 ∪ 𝑑′| Tuy nhiên với mỗi tập dữ
liệu sẽ có mức độ quan trọng khác nhau, nội dung 4 được đánh 4 màu sẽ có mức độ quan trọng hơn so với 3 màu, 2 màu , 1 màu và khơng có màu Nhằm thể hiện
Trang 3728
mức độ quan trọng trong công thức, chúng ta có thể thêm trọng số alpha để biểu diễn Khi này công thức tổng quát sẽ là
𝐽(𝑆, 𝑆′) = 𝛼0|𝑆[0] ∩ 𝑆′[0]|
|𝑆[0] ∪ 𝑆′[0]| +𝛼1|𝑆[1] ∩ 𝑆′[1]|
|𝑆[1] ∪ 𝑆′[1]|+ + 𝛼𝑛|𝑆[𝑛] ∩ 𝑆′[𝑛]|
|𝑆[𝑛] ∪ 𝑆′[𝑛]| (1)
Trong đó, 𝛼 là một số khơng âm đại diện cho mức độ quan trọng của từng tập nội dung và 𝛼0 + 𝛼1 + 𝛼2 + + 𝛼𝑛 = 100% (2) và n là số màu sử dụng trong mạng Từ (1) và (2), chúng ta có cơng thức tổng qt cho bài tốn 4 màu như sau: 𝐽(𝑆, 𝑆′) = 40% ∗ |𝑎 ∩ 𝑎′||𝑎 ∪ 𝑎′| +30% ∗|𝑏 ∩ 𝑏′||𝑏 ∪ 𝑏′| +20% ∗|𝑐 ∩ 𝑐′||𝑐 ∪ 𝑐′|+ 10% ∗ |𝑑 ∩ 𝑑′||𝑑 ∪ 𝑑′|
với J(SR, SR’) trong khoảng [0,1]
Trang 3829
CHƯƠNG 5: THỰC NGHIỆM
Trong chương này, luận văn sẽ kiểm chứng lại lý thuyết lấy mẫu được đề cập trong chương 4 bằng mạng CDNs mô phỏng
5.1 Hệ thống, dữ liệu và công cụ thực nghiệm
Môi trường thực nghiệm được thực hiện trên một máy chủ ảo sử dụng hệ điều hành Ubuntu Phần cứng hỗ trợ 24 nhân xử lý và hơn 20 GB Ram phục vụ cho việc tính tốn hệ thống Về cơng cụ, nghiên cứu sử dụng Apache Spark [14] nhằm thực hiện quá trình lấy mẫu Apache Spark là một công cụ mạnh mẽ trong việc xử lý dữ liệu Các thành phần trong Access Log có thể dễ dàng được đưa về thành các Data Frame – một cấu trúc dữ liệu được gán nhãn với các cột và hàng như một bảng Với ưu thế về xử lý song song, Spark cho phép xử lý các hàng trong Data Frame một cách nhanh chóng, tối ưu về mặt thời gian Bên cạnh đó Spark cũng hỗ trợ thư viện phục vụ cho luồng dữ liệu liên tục (Data Streaming) Apache Spark sẽ thực hiện quá trình tiền xử lý dữ liệu và lấy mẫu trên tập dữ liệu đầu vào Ngoài ra, nghiên cứu cũng sử dụng lại mạng mô phỏng được giới thiệu trong bài báo [5] Mạng mô phỏng này hỗ trợ việc tính tốn lại tập số Separator Ranks trong mỗi chu kỳ Từ đó đưa ra kết luận về hiệu quả của việc lấy mẫu
Mạng CDN dùng để chạy thực nghiệm trong luân văn này được hiện thực bởi công cụ Mininet Mininet là một công cụ giải lập mạng tạo ra các máy chủ ảo (Host), bộ chuyển mạch ảo (Switch), bộ điều khiển ảo (Controller) và các liên kết với nhau Đây là công cụ phù hợp cho việc nghiên cứu, phát triển, học tập, thử nghiệm về mạng rất hiệu quả mà không cần sử dụng phần cứng thực tế Điều này giúp tiết kiệm thời gian, chi phí và tài nguyên Một số điểm lợi thế của cơng cụ Mininet [15]:
• Khởi động mạng một cách nhanh chóng, chỉ trong vài giây thay vì vài phút • Khả năng mở rộng lớn, có thể lên đến hàng trăm máy chủ ảo (Host) và bộ
Trang 3930
• Cung cấp băng thông cao, thường là 2Gbps đổi với các phần cứng thơng thường
• Có thể cài đặt dễ dàng, có sẵn các gói máy chủ ảo cho cơng cụ Vmware hoặc Virtualbox cho MAC/Win/Linux với OpenFlow v1.0 được cài sẵn
Hình 11 Mơ hình mạng CDNs mơ phỏng
Trang 4031
Server sẽ được chia làm hai như trong lý thuyết với phần lưu trữ nội dung được đánh màu chiếm 9 phần, còn nội dung khác với màu của Edge Server là 1 phần
Dữ liệu được sử dụng trong thực nghiệm này là tập dữ liệu lấy từ một ISP lớn của Việt Nam Tập dữ liệu bao gồm 4 032 295 nội dung tính trong ngày 6 tháng 12 năm 2018 với hơn 20 triệu yêu cầu và được chia thành 24 chu kỳ thời gian ứng với mỗi tiếng trong ngày hơm đó Điều này giúp tăng tính thực tế khi dữ liệu là các nội dung đang được phân phối tới người dùng và thời gian để đánh giá lại sự phổ biến của nội dung, có thể là hàng giờ đối với các trang mạng xã hội như Facebook, Twitter Dữ liệu đầu vào cũng được chuẩn bị bao gồm 24 thư mục được đánh số từ Interval 0 đến Interval 23 tương ứng với từng tiếng trong một ngày Trong mỗi thư mục Interval sẽ bao gồm 3 file Cache_1.csv, Cache_2.csv, Cache_3.csv tương ứng với danh sách yêu cầu của Client_1, Client_2, Client_3 trong mạng CDN Mỗi dòng trong file csv này đại diện cho từng yêu cầu của người dùng đã trải qua giai đoạn tiền xử lý dữ liệu và có 3 trường chính, bao gồm: ID – đại diện cho thứ tự của nội dung đó, nội dung có lượng truy cập càng lớn thì ID càng nhỏ, ID 1 đồng nghĩa với nội dung đó phổ biến nhất; Kích thước file – thể hiện kích thước của nội dung đó; Thời gian dạng linux time – đại diện cho thời điểm người dùng yêu cầu nội dung đó