Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
1,43 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Trang phụ bìa NGUYỄN VIỆT ANH XÂYDỰNGTHUẬTTOÁNLỰACHỌNMÁYCHỦCHOHỆTHỐNGMẠNGPHÂNTÁNDỮLIỆU Chuyên ngành : CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Hải Anh Hà Nội – Năm 2015 MỤC LỤC Trang phụ bìa Lời cam đoan .4 Danh mục ký hiệu, chữ viết tắt Danh mục hình vẽ, đồ thị MỞ ĐẦU Cơ sở khoa học thực tiễn luận văn Mục đích đề tài (các kết cần đạt được) Đối tượng, phạm vi nghiên cứu Phương pháp nghiên cứu Bố cục luận văn CHƯƠNG 1: HỆTHỐNGMẠNGPHÂNTÁNDỮLIỆU 1.1 Giới thiệu chung .10 1.1.1 Định nghĩa CDN 10 1.1.2 Mục tiêu CDN 11 1.1.3 Các thành phần CDN .16 1.1.4 Kiến trúc lớp 16 1.1.5 Quá trình phát triển CDN 19 1.2 Cấu trúc CDN 21 1.2.1 Tổ chức CDN 22 1.2.2 Máychủ 22 1.2.3 Quan hệ 24 1.2.4 Nội dung/loại dịch vụ .25 1.3 Phân phối nội dung .27 1.3.1 Môi trường ứng dụngmạngphân phối nội dung 27 1.3.2 Các thành phầnmạngphân phối nội dung .27 CHƯƠNG 2: THUẬTTOÁNLỰACHỌNMÁYCHỦCHOHỆTHỐNGMẠNGPHÂNTÁNDỮLIỆU 32 2.1 Giới thiệu chương 32 2.2 Các thuậttoánlựachọnmáychủhệthốngmạngphântánliệu 32 2.3 Giải thuật Multi-Armed Bandit 35 2.3.1 Mô hình MAB 36 2.3.2 Ứng dụng MAB 40 2.3.3 Thuậttoáncho MAB .42 CHƯƠNG 3: XÂYDỰNG GIẢI THUẬT MULTI-ARMED BANDIT 48 3.1 Môi trường thử nghiệm 48 3.2 Công thức tính phần thưởng dự kiến 50 3.3 Epsilon – Greedy 52 3.3.1 Mô tả toán 52 3.3.2 Implementing 53 3.4 Softmax 58 3.4.1 Mô tả toán 58 3.4.2 Implementing 59 3.5 UCB 63 3.5.1 Mô tả toán 63 3.5.2 Implementing 64 3.6 Đánh giá kết 68 KẾT LUẬN 71 TÀI LIỆU THAM KHẢO 72 Lời cam đoan Tôi xin cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố bất kỳ công trình khác Tác giả NGUYỄN VIỆT ANH Danh mục ký hiệu, chữ viết tắt Ý nghĩa Từ viết tắt CDN Content Delivery Networks MAB Multi-Armed Bandit UCB Upper Confidence Bounds QoS Quality of Service QoE Quality of Experience HTML Hyper Text Markup Language ISP Internet Service Provider ICP Internet Cache Protocol URI Uniform Resource Identifier URL Uniform Resource Locator SLA Service Level Agreement MIME Multipurpose Internet Mail Extensions IETF Internet Engineering Task Force NECP Network Element Control Protocol TCP Transmission Control Protocol WCCP Web Cache Coordination Protocol CARP Cache Array Routing Protocol Danh mục hình vẽ, đồ thị Hình Mô hình mạng CDN 11 Hình Nội dung/dịch vụ cung cấp CDN 13 Hình Kiến trúc phân lớp CDN 17 Hình Phân loại thành phần CDN .22 Hình Các giao thức tương tác sử dụng CDN 23 Hình Các giao thức tương tác khác 25 Hình Cấu trúc hệthống định tuyến yêu cầu 28 Hình Quá trình phân phối nội dụng 29 Hình Quá trình phân phát nội dung 30 Hình 10 Phân phối nội dungmạng CDN mạng CDN ngang cấp 30 Hình 11 Cơ chế thuậttoán epsilon-greedy 42 Hình 12 Sơ đồ hàm chọnmáychủthuậttoán Epsilon-Greedy 55 Hình 13 Sơ đồ hàm chọnmáychủthuậttoán Softmax .59 Hình 14 Sơ đồ hàm chọnmáychủthuậttoán UCB .64 MỞ ĐẦU Cơ sở khoa học thực tiễn luận văn Internet phát triển hoạt động rộng khắp mà quản lý tập trung, một nguyên nhân quan trọng làm cho internet phát triển thay đổi nhanh Tuy nhiên, thiếu quản lý làm cho việc đảm bảo hiệu việc xử lý một cách có hệthống với vấn đề hiệu rất khó Trong đó, băng thôngmạng liên tục bị tải tăng vọt việc sử dụng Internet nội dung chiếm băng thôngHệthốngmạngphântánliệu một giải pháp hữu hiệu để cải tiến chất lượng dịch vụ Internet Hệthốngmạngphântánliệu tái tạo lại nội dung gốc đến máychủ nằm nơi khác đáp ứng yêu cầu từ máychủ gần nhất với nơi phát yêu cầu Lựachọnmáychủ để đáp ứng yêu cầu một vấn đề quan trọng cần giải hệthốngmạngphântán để đáp ứng người dùng tốt nhất, cải thiện chất lượng dịch vụ Đề tài chọn với mong muốn tìm hiểu thuậttoánlựachọnmáychủhệthốngmạngphântánliệu nhằm tăng hiệu cải thiện chất lượng dịch vụ Mục đích đề tài (các kết cần đạt được) Luận văn nghiên cứu thuậttoánlựachọnmáychủchomạngphântánliệu Trên sở xâydựngthuậttoán để lựachọnmáychủchomạngphântánliệu khảo sát đánh giá thuậttoán Đối tượng, phạm vi nghiên cứu - Đối tượng: Thuậttoánlựachọnmáychủhệthốngmạngphântánliệu mà cụ thể thuậttoán MAB - Phạm vi nghiên cứu: Giả lập một môi trường mạngphântán nội dung đồng thời áp dụngthuậttoán nghiên cứu môi trường giả lập Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết: o Tìm hiểu mạngphântán qua sách khảo báo mạng o Tìm hiểu giải thuậtchọnlựamáychủ qua sách tham khảo báo mạng o Vẽ định hướng luận văn cần thực - Phương pháp nghiên cứu thực nghiệm: o Tham khảo ý kiến chuyên gia: Gặp gỡ, trao đổi, tiếp thu ý kiến thầy cô giáo, người có kinh nghiệm lĩnh vực mạngphântán o Dựng một môi trường mô mạngphântán o Tham khảo code một số báo sách vở, áp dụng vào môi trường dựng Bố cục luận văn Luận văn bố cục gồm ba phần: phần mở đầu, phần nội dungphần kết luận Trong phần nội dung gồm có ba chương: - Chương 1: Hệthốngmạngphântánliệu - Chương 2: Thuậttoánlựachọnmáychủchohệthốngmạngphântánliệu - Chương 3: Xâydựng giải thuật Multi-Armed Bandit CHƯƠNG 1: HỆTHỐNGMẠNGPHÂNTÁNDỮLIỆU Với phát triển Internet, dịch vụ Web phổ biến thường bị tắc nghẽn nhu cầu thực dịch vụ lớn Nó gây tình trạng quản lý luồng lưu lượng, dẫn đến nhiều yêu cầu bị mất Sao chép nội dung giống chiến lược nhân đôi dịch vụ một số máychủ Web đặt địa điểm khác một phương pháp thường sử dụng nhà cung cấp dịch vụ để cải thiện hiệu suất khả mở rộng Người sử dụng chuyển hướng đến máychủ gần nhất phương pháp giúp giảm thiểu tác động mạng vào thời gian đáp ứng yêu cầu người dùng Content Delivery Networks (CDN) cung cấp dịch vụ để cải thiện hiệu suất mạng cách tối ưu hóa băng thông, nâng cao khả tiếp cận trì tính đúng đắn thông qua nội dung CDN có một số kết hợp giải phóng nội dung, yêu cầu định tuyến, phân phối sở hạ tầng Các sở hạ tầng phân phối nội dung bao gồm một tập hợp máychủ lân cận (còn gọi máychủ đại diện) cung cấp nội dung tới người dùng cuối Các sở hạ tầng theo yêu cầu định tuyến có trách nhiệm đạo yêu cầu khách hàng đến máychủ lân cận thích hợp Nó tương tác với sở hạ tầng phân phối để cập nhật nội dung lưu trữ bộ nhớ đệm CDN Các sở hạ tầng phân phối di chuyển nội dung từ máychủ gốc đến máychủ lân cận đảm bảo tính thống nhất nội dung bộ nhớ đệm Các sở hạ tầng kế toán trì ghi khách hàng truy cập ghi lại việc sử dụngmáychủ CDN Thông tin sử dụngcho báo cáo lưu lượng toán cước sử dụng Trong thực tế, CDN thường lưu trữ nội dung tĩnh bao gồm hình ảnh, video, clip, file nhạc, quảng cáo, đối tượng nhúng khác cho nội dung web động Khách hàng tiêu biểu CDN phương tiện truyền thông công ty quảng cáo Internet, trung tâm liệu, cung cấp dịch vụ Internet, nhà bán lẻ âm nhạc trực tuyến, nhà khai thác di động, nhà sản xuất thiết bị điện tử tiêu dùng, công ty cung cấp dịch vụ khác Mỗi một khách hàng muốn xuất chuyển tải nội dung đến người dùng cuối Internet một cách đáng tin cậy kịp thời 1.1 Giới thiệu chung 1.1.1 Định nghĩa CDN Mạng CDN một tập hợp phần tử mạng xếp để phân phối nội dung hiệu cho người dùng Việc phối hợp thành phầnmạng CDN phântánxảy nút hai môi trường đồng nhất không đồng nhất Mạng CDN có nhiều hình thức cấu trúc khác Các chức tiêu biểu một CDN bao gồm: - Yêu cầu chuyển hướng phân phối nội dung để đạo một yêu cầu đến máychủ thay thích hợp nhất cách sử dụng chế để vượt qua tình trạng tắc nghẽn - Dịch vụ phân phối nội dung để nhân rộng thay nội dung bộ nhớ đệm máychủphân phối đại diện chomáychủ gốc - Các dịch vụ đàm phán nội dung để đáp ứng nhu cầu cụ thể người dùng cá nhân (hoặc nhóm người dùng) - Quản lý dịch vụ để quản lý thành phần mạng, giải hoạch toán, giám sát báo cáo việc sử dụng nội dung CDN cung cấp hiệu suất tốt thông qua bộ nhớ đệm chép nội dung một số máychủ thay đặt địa điểm khác để đối phó với tăng vọt bất ngờ yêu cầu nội dung web Trong mạng CDN, nội dung đề cập đến bất kỳ nguồn liệu kỹ thuật số bao gồm hai phần chính: liệu đa phương tiện mã hóa siêu liệu Các liệu đa phương tiện bao gồm mã hóa tĩnh, động liệu đa phương tiện liên tục (ví dụ âm thanh, video, tài liệu, hình ảnh trang web) Siêu liệu mô tả nội dungcho phép nhận dạng, phát quản lý liệu đa phương tiện, tạo điều kiện cho việc giải thích liệu đa phương tiện 10 - Giai đoạn sau ta gán epsilon = 0.1 để nâng cao khả khai thác phần thưởng dự kiến 3.4 Softmax 3.4.1 Mô tả toán Chúng ta làm rõ thuậttoán Softmax thông qua toánchọnlựamáychủ đại diện hệthốngmạngphân phối liệuThuậttoán Softmax cố gắng tìm máychủ đại diện tốt nhất máy khách phương pháp sau đây: - Tính toánphần thưởng dự kiến công thức bên thuậttoán Epsilon – Greedy - Tính toán lại xác suất chọnlựamáychủ đại diện dựa vào phần thưởng dự kiến một tham số nhiệt độ người dùng cấu hình Cũng thuậttoán Epsilon – Greedy, thuậttoán Softmax có cho phép cấu hình tham số nhiệt độ tùy theo giai đoạn Giai đoạn đầu cần thăm dò nhiều, ta để tham số nhiệt độ thật cao để tạo hỗn loạn, tất xác suất chọnlựa nhau, từ chọnlựamáychủ đại diện ngẫu nhiên Giai đoạn sau cần khai thác nhiều hơn, ta để tham số nhiệt độ thấp, xác suất lựachọn tỷ lệ thuận với phần thưởng dự kiến, máychủ có phần thưởng dự kiến cao lựachọn Trong phạm vi luận văn, sử dụng một biến thể thuậttoán Softmax, tham số nhiệt độ giảm dần theo số lần chọnlựa ngày nhiều, nhờ ta cấu hình tay tham số nhiệt độ mà thuậttoán tự động thăm dò giai đoạn đầu khai thác giai đoạn sau - Từ xác suất chọnlựa tính toán, ta chọn ngẫu nhiên xác suất chọnlựa cao nhất để trả máychủ đại diện thích hợp nhất cho yêu cầu máy khách 58 3.4.2 Implementing Ta có sơ đồ lập trình hàm chọnlựamáychủthuật toán: Hình 13 Sơ đồ hàm chọnmáychủthuậttoán Softmax 59 Ta có lớp Softmax định nghĩa đây: class Softmax(object): def init (self): self.db = MABDatabase.MABDatabase() self.temperature = 999999999999999999; Tương tự thuậttoán Epsilon – Greedy, thuậttoán Softmax định nghĩa hai phương thức pickArm updateReward: def getClientStatistics(self, server_name, client_address): return self.db.getStatistics_softmax(server_name, client_address) def updateReward(self, rewardCalculator, server_name, client_address, ping, execution_time): #update statistics self.db.addStatistics_softmax(server_name, client_address, ping, execution_time) statistics = self.getClientStatistics(server_name, client_address) #update reward reward = rewardCalculator(statistics, server_name, client_address, ping, execution_time) self.db.addAverageReward_softmax(server_name, client_address, reward) return reward; 60 def pickArm(self, client_address): servers = self.db.getAllServers() statistics = self.db.getAllStatistics_softmax() totalRequests = len(statistics) if totalRequests == 0: totalRequests = temp = self.temperature / totalRequests totalRewards = for server in servers: currentReward = self.getCurrentReward(server['address'], client_address) if currentReward is None: currentReward = totalRewards += math.exp(currentReward / temp) maxReward = pickedServerAddress = [] 61 for server in servers: currentReward = self.getCurrentReward(server['address'], client_address) if currentReward is None: currentReward = p = math.exp(currentReward / temp) / (totalRewards) if p > maxReward: pickedServerAddress = [] maxReward = p pickedServerAddress.append(server['address']) elif p == maxReward: pickedServerAddress.append(server['address']) serverIndex = random.randrange(len(pickedServerAddress)); return self.db.getServerByIp(pickedServerAddress[serverIndex])[0] def getCurrentReward(self, server_name, client_address): return self.db.getCurrentAverageReward_softmax(server_name, client_address) Định nghĩa lớp Softmax phương thức updateReward tương tự Epsilon – Greedy ngoại trừ biến temperature thay cho biến epsilon 62 Riêng phương thức pickArm, theo mô tả toánthuậttoán Softmax nói mục 3.4.1, ta chú ý tới chỗ sau: - Biến nhiệt độ giảm dần tỷ lệ nghịch với số lần lựachọnmáychủ đại diện tính bằng: temp = self.temperature / totalRequests - Vòng for thứ nhất để nhằm mục đích tính tổng phần thưởng dự kiến phục vụ công thức tính xác suất lựachọn vòng for thứ hai - Vòng for thứ hai thực đồng thời hai việc: Tính xác suất lựachọnchomáychủ đại diện chọnlựa một một nhóm máychủ đại diện có xác suất lựachọn cao nhất - Trả ngẫu nhiên nhóm máychủ đại diện có xác suất lựachọn cao nhất Với tham số nhiệt độ trên: Nếu ta khởi tạo một số cao xác suất bốn máychủ đại diện luôn 0.25 trải qua trình thăm dò rất lâu Nếu ta để số nhỏ sau 1, lần thăm dò, thuậttoán khai thác Dựa số liệu mô CDN, tham số nhiệt độ chọn để đảm bảo sau 100 – 200 lần chọnlựa ngẫu nhiên, thuậttoán bước vào giai đoạn khai thác, tránh cho người dùng phải chủ động thay đổi tham số chạy 3.5 UCB 3.5.1 Mô tả toánThuậttoán cuối luận văn thuậttoán có hiệu tốt nhất ba thuật toán, UCB cố gắng tìm máychủ đại diện tốt nhất chomáy khách theo phương pháp sau đây: - Tính toánphần thưởng dự kiến công thức bên thuậttoán Epsilon – Greedy - Dựa phần thưởng dự kiến máychủ đại diện, thuậttoán tính toán lại một giá trị gọi UCBIndex UCBIndex thực chất tổng phần thưởng dự kiến với một số gọi giới hạn tự tin với máychủ đại diện 63 - Nhóm máychủ đại diện có giá trị UCBIndex cao nhất lại - Chọn ngẫu nhiên nhóm máychủ đại diện có UCBIndex cao nhất trả chomáy khách 3.5.2 Implementing Ta có sơ đồ lập trình hàm chọnlựamáychủthuật toán: Hình 14 Sơ đồ hàm chọnmáychủthuậttoán UCB 64 Ta có lớp UCB định nghĩa: class UCB(object): def init (self): self.db = MABDatabase.MABDatabase() Tương tự hai giải thuật trên, UCB định nghĩa phương thức updateReward để cập nhật lại phần thưởng dự kiến Phương thức updateReward giống hệt hai giải thuật Epsilon – Greedy Softmax, khác đầu cập nhật vào sở liệu khác def getClientStatistics(self, server_name, client_address): return self.db.getStatistics_ucb(server_name, client_address) def updateReward(self, rewardCalculator, server_name, client_address, ping, execution_time): #update statisticsss self.db.addStatistics_ucb(server_name, client_address, ping, execution_time) statistics = self.getClientStatistics(server_name, client_address) #update reward reward = rewardCalculator(statistics, server_name, client_address, ping, execution_time) self.db.addAverageReward_ucb(server_name, client_address, reward) return reward; 65 Sau đó, ta định nghĩa phương thức pickArm chothuậttoán UCB def getCurrentReward(self, server_name, client_address): return self.db.getCurrentAverageReward_ucb(server_name, client_address) 66 def pickArm(self, client_address): servers = self.db.getAllServers() statistics = self.db.getAllStatistics_ucb() maxReward = pickedServerAddress = [] for server in servers: currentReward = self.getCurrentReward(server['address'], client_address) totalServerRequests = self.db.getCurrentRequestCount_ucb (server['address'], client_address) ucbIndex = 9999 if totalServerRequests is not None: if currentReward is None: currentReward = ucbIndex = currentReward + math.sqrt(2 * math.log(len(servers)) / totalServerRequests) if ucbIndex > maxReward: pickedServerAddress = [] maxReward = ucbIndex pickedServerAddress.append(server['address']) elif ucbIndex == maxReward: pickedServerAddress.append(server['address']) 67 serverIndex = random.randrange(len(pickedServerAddress)); return self.db.getServerByIp(pickedServerAddress[serverIndex])[0] Thuậttoán để lựachọnmáychủ đại diện sau: - Tính phần thưởng dự kiến chomáychủ đại diện cộng thêm một giá trị ngưỡng tự tin thành UCBIndex - Chọn ngẫu nhiên nhóm máychủ đại diện có UCBIndex lớn nhất Ta dễ dàng nhận thấy thuậttoán UCB tham số để cấu hình chạy ngẫu nhiên không kiểm soát giải thuật Đây hai cải tiến đáng kể thuậttoán UCB so với hai thuậttoán Epsilon – Greedy Softmax 3.6 Đánh giá kết Sau hoàn thành ba thuậttoán để giải vấn đề MAB nhằm chọnlựamáychủ đại diện hệthốngmạngphân tán, chúng ta đánh giá kết thu so sánh độ xác ba thuậttoán Trong phạm vi luận văn, kết đánh giá dựa bốn máychủ đại diện một máy khách (các máy khách lại tương tự không trình bày luận văn) Chúng ta đánh giá kết ba thuậttoán độ hối tiếc thuậttoán đồ thị xác suất chọnlựamáychủ đại diện tốt đồ thị phần thưởng trung bình 68 Độ xác thuậttoán Xác suất chọnmáychủ tốt 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 50 100 150 200 250 200 250 Khoảng chọnlựa Epsilon-Greedy Softmax UCB Hiệu thuậttoánPhần thưởng dự kiến trung bình 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 50 100 150 Khoảng chọnlựa Epsilon-Greedy Softmax UCB Trong thuậttoán MAB, có một công thức để tính toán độ hối tiếc thuậttoán nhằm đánh giá độ xác thuậttoán MAB Độ hối tiếc thuậttoán MAB định nghĩa: Độ hối tiếc 𝜌 sau T lần thử khác biệt tổng phần thưởng dự kiến theo chiến thuật tối ưu tổng phần thưởng dự kiến thu được: 69 𝑡=𝑇 𝜌 = 𝑇𝜀 ∗ − ∑ 𝑟𝑡 𝑡=1 Tất thuậttoán nhằm giải toán MAB có xu hướng mục đích làm giảm độ hối tiếc qua lần thử Sau 250 lần chọnlựamáychủ đại diện, ta có độ hối tiếc giải thật sau: - Epsilon-Greedy: 𝜌 = 43 - Softmax: 𝜌 = 42 - UCB: 𝜌 = 13 Nhìn vào hai đồ thị độ xác thuật toán, hiệu thuậttoán độ hối tiếc ba thuậttoán sau 250 lần lựachọn trên, ta có nhận xét so sánh ba thuậttoán sau: - Ta dễ dàng thấy thuậttoán UCB hoạt động tốt hai thuậttoán Epsilon-Greedy Softmax - Thuậttoán Softmax hoạt động tốt thuậttoán Epsilon-Greedy dù không cách biệt 70 KẾT LUẬN Với mục tiêu xâydựngthuậttoánlựachọnmáychủchohệthốngmạngphântán liệu, luận văn hoàn thành mục tiêu đề Trong điều kiện một hệphântán thực thông số biến động thật trình chạy, dựng lên một môi trường giả lập với thông số giả lập nhất đồng thời áp dụng ba thuậttoánlựachọnmáychủ với thông số cho môi trường giả lập Các thông số giả lập thể khía cạnh quan trọng nhất nút nghẽn cổ chai mô hình mạng tập trung: nghẽn đầu mạng nghẽn webserver Tuy giả lập tính chất ngẫu nhiên web server đột nhiên trục trặc, đường mạng đứt… hay lúc nghẽn mạng tải nhiều người truy cập, thông số mô luận văn dung thể tính chất quan trọng nhất việc lựachọnmáychủhệthốngmạngphântán liệu: tính đáp ứng với nhóm người sử dụng khác biệt máychủ thể qua tải mạng tải web server Nhờ vào đó, luận văn mô thể thuậttoán môi trường tương đồng với môi trường mạngphântán thật, dễ dàng triển khai vào môi trường thật Do thiếu điều kiện môi trường thật, thời gian tìm hiểu có hạn kiến thức hạ tầng mạng chưa đầy đủ nên luận văn nhiều thiếu sót Tôi rất mong sau có điều kiện tiếp xúc với môi trường thật để phát triển tiếp nghiên cứu luận văn hoàn thiện kiến thức lĩnh vực hệthốngmạngphântánliệu 71 TÀI LIỆU THAM KHẢO Abdelhamid Mellouk, Said Hoceini, Hai Anh Tran (2013), Quality of Experience for Multimedia, Wiley-ISTE, chapter Abdelhamid Mellouk, Antonio Cuadra-Sanchez (2014), Quality of Experience Engineering for Customer Added Value Services: From Evaluation to Monitoring, Wiley-ISTE, chapter Al-Mukaddim Khan Pathan, Rajkumar Buyya A Taxonomy and Survey of Content Delivery Networks, University of Melbourne, Australia John Myles White (2012), Bandit Algorithms for Website Optimization, O'Reilly Media, chapter 3, 5, John Myles White (2012), “Code for my book on Multi-Armed Bandit Algorithms”, https://github.com/johnmyleswhite/BanditsBook Eric Chiang (2014), “Python Multi-armed Bandits (and Beer!)”, http://blog.yhathq.com/posts/the-beer-bandit.html Wikipedia “Content Delivery Network”, https://en.wikipedia.org/wiki/Content_delivery_network 72 ... 1: Hệ thống mạng phân tán liệu - Chương 2: Thuật toán lựa chọn máy chủ cho hệ thống mạng phân tán liệu - Chương 3: Xây dựng giải thuật Multi-Armed Bandit CHƯƠNG 1: HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU... mạng phân tán liệu Trên sở xây dựng thuật toán để lựa chọn máy chủ cho mạng phân tán liệu khảo sát đánh giá thuật toán Đối tượng, phạm vi nghiên cứu - Đối tượng: Thuật toán lựa chọn máy chủ hệ thống. .. phần mạng phân phối nội dung .27 CHƯƠNG 2: THUẬT TOÁN LỰA CHỌN MÁY CHỦ CHO HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU 32 2.1 Giới thiệu chương 32 2.2 Các thuật toán lựa chọn máy chủ hệ