Chương 3. ĐIỀU KHIỂN TẮC NGHẼN TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC
3.2. Các nghiên cứu liên quan
Các nghiên cứu liên quan đến điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc chủ yếu tập trung vào hai hướng: kiểm soát tốc độ và điều khiển bảng định tuyến. Trong hướng kiểm soát tốc độ, tốc độ gửi truy vấn bị giới hạn ở nút truy vấn khi một nút trong đường định tuyến bị quá tải. Các phương pháp tiêu biểu cho hướng này gồm: phương pháp CSCC [47], phương pháp BPCC [47] và phương pháp Marking [49]. Trong phương pháp CSCC, khi nút đích nhận được một gói tin, nó trả lời nút truy vấn bằng một gói tin ACK. Tại nút trung gian chuyển tiếp gói tin, một hàng đợi được duy trì để lưu trữ các truy vấn đến. Khi hàng đợi đạt đến ngưỡng, các truy vấn gửi đến tiếp theo sẽ bị loại bỏ mà không thông báo cho các nút gửi truy vấn.
69
Trong phương thức BPCC, mỗi nút duy trì một hàng đợi cho các truy vấn gửi đến. Khi nó nhận được một gói tin, nếu hàng đợi đạt đến giới hạn, nó sẽ gửi trạng thái hàng đợi của nó cho nút gửi. Nút gửi sẽ tự động điều chỉnh tốc độ gửi để tránh tắc nghẽn. Khi hàng đợi tại nút n đầy, nó sẽ tạm dừng đọc gói tin từ socket TCP của các kết nối đến thay vì từ chối gói tin. Sau đó, thuật toán điều khiển luồng trong TCP sẽ tự động làm chậm việc gửi truy vấn đến n.
Trong phương pháp Marking, mỗi nút tổ chức một hàng đợi cho các truy vấn gửi đến và trả về trạng thái nghẽn bằng cách thêm một cờ h vào tiêu đề gói tin. Mục đích là để giữ các nút được chia sẻ tài nguyên với các nút khác đang bị nút cổ chai một cách công bằng mà không làm quá tải nút đang tắc nghẽn. Theo mặc định, cờ h bị tắt khi gói tin truy vấn được tạo. Cờ h tắt cho biết trạng thái mạng không tắc nghẽn và ngược lại. Mỗi nút thêm một giá trị x vào gói tin để biểu diễn tốc độ truy vấn hiện tại của nó. Mỗi nút lưu trữ số gói tin trung bình xavg, được tính toán trên các giá trị nhận được từ một số gói tin trước đó. Cờ h được kích hoạt hoặc vô hiệu hóa với xác suất q được xác định bằng cách xem xét tốc độ gói tin có đến nhanh hơn hay chậm hơn so với giá trị trung bình xavg và giá trị trung bình của kích thước hàng đợi. Khi cờ h được bật, nó sẽ không được tắt dọc theo đường đi đến đích cuối cùng. Nút đích sao chép giá trị của h vào gói ACK và trả nó về nút gửi truy vấn. Khi một nút nhận được một gói ACK với cờ h bị tắt, nghĩa là mạng không có tắc nghẽn, nó sẽ tăng tốc truy vấn. Nếu cờ h đang bật, nó sẽ giảm tốc độ truy vấn. Tốc độ truy vấn được tăng dần và giảm dần theo cấp số nhân.
Do phương pháp Marking không loại bỏ các gói tin, có cơ chế đơn giản cho việc gửi trạng thái tắc nghẽn tới nút nguồn, cho nên thông lượng của phương pháp này tốt hơn và thời gian phản hồi truy vấn nhanh hơn so với hai phương thức CSCC và BPCC.
70
Theo hướng nghiên cứu định tuyến dựa trên trạng thái của mỗi nút trong bảng định tuyến, đường đi của gói tin được thay đổi để đi các nút ít tắc nghẽn hơn. Trong phương pháp Adaptive Routing [50], thay vì chọn nút gần nhất với khóa, nó chọn m nút gần khóa và theo dõi hiệu năng của các nút đó để xác định đường đi tốt nhất. Nút gửi truy vấn sử dụng cờ tắc nghẽn h để xác định khả năng sử dụng của mỗi tuyến đường định tuyến qua m nút gần khóa đã chọn. Từ giá trị h nhận được, mỗi nút tính toán xác suất (được gọi là op) quan sát h trên mỗi đường đi. Dựa trên giá trị xác suất này, mỗi nút sẽ di chuyển lưu lượng định tuyến thông qua các đường dẫn khác nhau để tăng thông lượng trên toàn mạng. Mỗi nút cập nhật giá trị op khi một truy vấn mới được thực hiện. Khi nút chuyển tiếp truy vấn đến các nút khác, các nút sẽ chia lưu lượng truy cập theo các hướng khác nhau dựa trên việc tính toán dung lượng của từng tuyến đường. Nhược điểm của phương pháp Adaptive Routing là khi muốn tăng số lượng đường định tuyến ta phải tăng kích thước của bảng định tuyến, điều này sẽ tiêu tốn tài nguyên của hệ thống. Ngoài ra, việc không sử dụng các phương thức định tuyến tham lam sẽ làm tăng số lượng gói tin được truyền qua mạng.
Các cách tiếp cận khác bao gồm CCLBR [48], các phương pháp trong [49], [51] và [52]. CCLBR [48] đã đề xuất một phương pháp nhóm tài nguyên và một chiến lược định hướng lại (rewiring) để tự tổ chức và phân cụm các nút có tài nguyên giống nhau. Sau đó, một phương pháp học cộng tác (collaborative Q-learning) được đề xuất để cân bằng tải truy vấn giữa các nút trong nhóm để tránh các truy vấn được chuyển tiếp tới các nút bị tắc nghẽn trong mạng một cách thông minh. Nghiên cứu [49] có thể đạt được thông lượng mạng cao, nhưng mỗi nút phải chi phí tài nguyên của nó để quản lý sự gia tăng kích thước của bảng định tuyến. Nghiên cứu [51] đề xuất cơ chế định tuyến dựa trên DHT để cải thiện hiệu năng của lưới thông minh. Theo một
71
hướng khác, nghiên cứu [52] đề xuất một mô hình tối ưu hóa lưu lượng mạng P2P với khoảng cách tắc nghẽn và giới thiệu một sơ đồ tối ưu hóa dựa trên khoảng cách tắc nghẽn và bảng băm phân tán.
Nghiên cứu [65] đề xuất cơ chế bảng định tuyến động (ERT - Elastic Routing Table) để tạo ra các đường định tuyến khác nhau đến đích tránh tắc nghẽn. Bảng định tuyến có cấu trúc không cố định như bảng định tuyến hiện tại, số lượng các hàng trong bảng định tuyến phụ thuộc vào các đường liên kết vào và ra của mỗi nút. Số hàng trong bảng định tuyến có thể được điều chỉnh một cách tự động dựa trên việc quan sát lưu lượng của một nút để định hướng luồng truy vấn đế các nút có khả năng xử lý tốt.
Phương pháp MPPP [66] (Multi-Path with Probable Performance) phân bố tải định tuyến theo nhiều đường khác nhau đến đích để tận dụng khả năng nhàn rỗi của các nút và cải thiện mức độ tắc nghẽn trong mạng. Trong MPPP, mỗi đối tượng dữ liệu được gán nhiều định danh và đối tượng có thể được tìm kiếm bằng nhiều đường định tuyến khác nhau. Mỗi đường tìm kiếm được khởi tạo từ một khóa truy vấn (định danh) của đối tượng.
Nghiên cứu [67] đề xuất mô hình tối ưu hóa lưu lượng P2P với khoảng cách tắc nghẽn cho phép các ứng dụng P2P sử dụng hợp lý băng thông mạng.
Mô hình tối ưu hóa lưu lượng P2P bắt đầu từ mục tiêu của ISP (Internet Service Provider) và người dùng mạng P2P. Trạng thái tắc nghẽn của các đường liên kết được chuyển đổi sang giá trị khoảng cách truyền thông để đồng nhất việc tối ưu hóa. Có nhiều bộ điều khiển luồng và bộ thu thập thông tin phục được cài đặt trong mô hình tối ưu hóa lưu lượng P2P.
Để tổng kết và đánh giá các thuật toán điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc đã đề xuất, chúng tôi xây dựng một bảng với một số
72
tiêu chí để so sánh một cách định tính chi phí cho các thuật toán. Các tiêu chí đánh giá của chúng tôi bao gồm:
- Thông lượng: là lượng thông tin hữu ích được truyền đi trên mạng trong một đơn vị thời gian. Trong các thuật toán điều khiển tắc nghẽn theo hướng điều khiển tốc độ, khi có tắc nghẽn xảy ra gói tin tiếp theo sẽ bị xóa hoặc nút gửi hạn chế tốc độ gửi, do đó thông lượng sẽ bị giảm. Trong thuật toán thay đổi đường định tuyến, khi có tắc nghẽn xảy ra, gói tin tiếp theo sẽ được chuyển đi đến đích theo con đường khác mà không bị xóa bỏ hoặc hạn chế gửi. Do đó, nó không làm giảm thông lượng mạng.
- Chi phí duy trì bảng định tuyến: là chi phí để quản lý, cập nhật bảng định tuyến. Trong thuật toán điều khiển tắc nghẽn theo hướng điều khiển tốc độ, mỗi nút duy trì cố định một đường định tuyến. Trong thuật toán thay đổi đường định tuyến, mỗi nút duy trì cố định m đường định tuyến. Do đó, chi phí duy trì bảng định tuyến của các thuật toán điều khiển tắc nghẽn theo hướng điều khiển tốc độ là thấp nhất và của thuật toán thay đổi đường định tuyến là tương đối cao.
- Tận dụng nút không tắc nghẽn: Trong thuật toán điều khiển tắc nghẽn theo hướng điều khiển tốc độ, tuyến đường đi của gói tin là cố định, khi tắc nghẽn xảy ra nút gửi chỉ hạn chế tốc độ gửi hoặc nút nhận loại bỏ gói tin tiếp theo mà không chọn đường đi khác, mặc dù trong mạng còn rất nhiều nút có khả năng định tuyến. Trong phương pháp thay đổi đường định tuyến gói tin chỉ đi theo một số tuyến đường được cài đặt sẵn, do đó nó cũng không tận dụng được khả năng định tuyến của các nút trong mạng.
Phần tiếp theo của chương này trình bày về thuật toán điều khiển tắc nghẽn bằng cách thay đổi bảng định tuyến. Đây là thuật toán do chúng tôi đề xuất và đặt tên là CA-Chord. Thuật toán CA-Chord đảm bảo được những ưu
73
điểm của các thuật toán điều khiển tắc nghẽn theo hướng thay đổi đường định tuyến đồng thời đạt tỷ lệ truy vấn thành công cao hơn và tận dụng được khả năng định tuyến của các nút trong mạng nhờ vào các cải tiến mà chúng tôi đề xuất như trình bày trong mục sau.
Tiêu chí Thuật toán
Thông lượng Chi phí duy trì bảng định tuyến
Tận dụng nút không tắc nghẽn
Điều khiển tốc độ [47], [49]
Làm giảm thông lượng
Thấp Không
Thuật toán thay đổi đường định tuyến [50]
Không Cao Không
CA-Chord Không Trung bình Có