Chương 1 KIẾN THỨC NỀN TẢNG
2.4. Đánh giá thuật toán
2.4.2. Các kết quả mô phỏng
2.4.2.1. Ảnh hưởng của thời gian sống tới các thuật tốn cân bằng tải.
Thí nghiệm đầu tiên chúng tơi thực hiện để đánh giá khả năng thích ứng của các thuật tốn cân bằng tải khi thời gian sống trung bình của một nút thay đổi. Các file theo dõi sự ra/vào của các nút trong mạng được tạo ra với thời gian sống trung bình của các nút là 15 phút, 30 phút, 1 giờ, 2 giờ và 4 giờ.
Mỗi lần chạy thí nghiệm, khả năng xử lý truy vấn của một nút trong mạng được giữ cố định, mỗi nút được khởi tạo trung bình 10 câu truy vấn trong một giây. Truy vấn được khởi tạo theo dạng Uniform và dạng Zipf với tham số =1.2.
Kết quả của thí nghiệm được vẽ trong hình 2.10 cho thấy với số truy vấn trung bình đặt vào hệ thống 10 truy vấn/nút, thuật tốn của chúng tơi có tỷ lệ thành cơng lớn hơn thuật tốn Threshold khoảng 9% đối với truy vấn dạng Uniform và khoảng 14% đối với truy vấn dạng Zipf khi thời gian sống trung bình của các nút trong mạng thấp. Khi thời gian sống trung bình của các nút trong mạng thấp, các nút trong mạng vào ra của thường xuyên hơn, dẫn đến các nút trong mạng bị quá tải do phải chịu tải của nút hàng xóm rời mạng nhưng khơng tìm được nút nhẹ tải theo cơ chế tìm kiếm thơng qua nút successor của Chord, do đó tỷ lệ tìm kiếm thành cơng một nút nhẹ tải giảm đi. Trong khi đó thuật tốn đề xuất có cơ chế lưu trữ nút nhẹ tải ở thư mục cho nên việc tìm kiếm một nút nhẹ tải ln được đảm bảo, chính cơ chế này giúp cho thuật toán cải tiến đạt được trạng thái cân bằng giữa các nút tốt hơn và hoạt động tốt hơn trong trường hợp này. Khi thời gian sống trung bình của các nút trong mạng lớn (4 giờ), mạng có độ ổn định cao, tỷ lệ truy vấn thành công của hai thuật tốn tương đương nhau.
Hình 2.8. Thời gian sống trung bình của một nút thay đổi, các câu truy vấn thực hiện với phân bố Zipf và Uniform.
2.4.2.2. Ảnh hưởng số lượng câu truy vấn tới thuật toán cân bằng tải
Thí nghiệm thứ hai thực hiện để đánh giá hiệu quả của các thuật toán khi số lượng câu truy vấn đặt vào hệ thống tăng lên. Trong đánh giá này chúng tôi giữ cố định khả năng xử lý truy vấn của các nút, thời gian sống trung bình của các nút trong mạng là 2 giờ, các câu truy vấn đặt vào hệ thống được phân bổ dưới dạng Uniform và dạng Zipf với =1.2. Số lượng trung bình các câu truy vấn đặt vào một nút trong hệ thống tăng từ 0.01/giây truy vấn đến 100 truy vấn/giây.
Kết quả thí nghiệm được vẽ trong hình 2.11 cho thấy thuật tốn của chúng tơi có khả năng thích nghi tốt hơn thuật tốn Threshold khoảng 6% đối với truy vấn dạng Uniform và khoảng 10% đối với truy vấn dạng Zipf. Khi số lượng câu truy vấn trung bình đặt vào mỗi nút thấp (0.01 truy vấn/giây, 0.1 truy vấn/giây), các nút trong mạng chưa bị quá tải do đó tỷ lệ thành cơng của cả hai thuật toán đều đạt rất cao (gần 100%). Khi số lượng các câu truy vấn trung bình đặt vào mỗi nút tăng cao (khoảng 100 truy vấn/giây), trong mạng tồn tại nhiều nút quả tải khơng có khả năng xử lý các câu truy vấn, do đó tỷ lệ
thành cơng của hai thuật tốn đều thấp. Tuy nhiên, thuật tốn chúng tơi đề xuất vẫn đạt tỷ lệ các câu truy vấn thành công cao hơn.
Uniform: Số câu truy vấn đặt vào một nút
Zipf: Số câu truy vấn đặt vào một nút
Hình 2.9. Số câu truy vấn đặt vào một nút thay đổi, truy vấn được phân bố ở dạng Zipf và Uniform.
2.4.2.3. Ảnh hưởng câu truy vấn dạng Zipf tới thuật tốn cân bằng tải
Trong thí nghiệm tiếp theo chúng tôi đánh giá ảnh hưởng của câu truy vấn dạng Zipf tới các thuật toán cân bằng tải. Các tham số khả năng xử lý truy vấn của các nút trong mỗi lần chạy thí nghiệm được giữ khơng đổi, thời gian sống
nút là 10 truy vấn/giây. Khóa truy vấn phân bố cho các nút trong mạng theo dạng Zipf với tham số thay đổi ( = 0.8, 1.2, 2.4 và 4.8).
Kết quả thí nghiệm được vẽ trong hình 2.12 cho thấy thuật tốn của chúng tơi có tỷ lệ thành cơng lớn hơn thuật tốn Threshold khoảng 5%. Khi tham số thấp ( = 0.8), các khóa có tính phổ biến tương đối đồng đều, tỷ lệ
thành cơng của các thuật tốn đạt tương đối cao. Khi tham số cao ( = 4.8), trong mạng tồn tại nhiều khóa có tính phổ biến cao, câu truy vấn tập trung nhiều vào một số nút, các nút ở trong tình trạng q tải, do đó tỷ lệ thành cơng của cả hai thuật tốn tương đối thấp.
Hình 2.10. Truy vấn đặt vào các nút ở dạng phân bố Zipf 2.4.2.4. Đánh giá chi phí của các thuật tốn cân bằng tải 2.4.2.4. Đánh giá chi phí của các thuật tốn cân bằng tải
Chi phí của các thuật tốn cân bằng tải được đánh giá bằng số thơng báo phát ra để tìm kiếm các nút nhẹ tải trong quá trình thực hiện cân bằng tải. Chi phí này được đánh giá thơng qua các mô phỏng. Số thông báo này được đếm và ghi lại trong tồn bộ thời gian thực hiện mơ phỏng, sau đó được tính trung bình trong một giây. Trong mô phỏng chúng tôi giữ cố định thời gian sống
của một nút là 30 phút, thay đổi số truy vấn đặt vào một nút lần lượt là 10, 20, 40, 60, 80, 100 truy vấn/giây. Khóa truy vấn đặt vào các nút được thực hiện dưới dạng Uniform và Zipf. Thời gian thực hiện thí nghiệm trong 1 giờ. Kết quả thí nghiệm được vẽ trong hình 2.13.
Uniform: tốc độ gửi truy vấn thay đổi
Zipf: tốc độ gửi truy vấn thay đổi
Hình 2.11. Chi phí của các thuật tốn cân bằng tải Kết quả thí nghiệm cho thấy: Kết quả thí nghiệm cho thấy:
- Khi số lượng truy vấn đặt vào một nút ở tỷ lệ thấp, trong mạng tồn tại nhiều nút nhẹ tải và ít nút nặng tải. Với thuật tốn đề xuất, số thơng báo của
tải ít. Trong khi đó, với thuật tốn Threshold số thơng báo tìm kiếm nút nhẹ tải của thuật tốn ít. Thuật tốn đề xuất hoạt động không hiệu quả trong trường hợp này.
- Khi số lượng truy vấn đặt vào một nút tăng dần, trong mạng tồn tại nhiều nút nặng tải và ít nút nhẹ tải, việc thực hiện cân bằng tải được thực hiện nhiều hơn. Với thuật toán đề xuất, số lượng thông báo của nút nhẹ tải cho thư mục giảm, số lượng thông báo truy vấn thư mục để tìm nút nhẹ tải tăng. Số lượng thơng báo tìm kiếm nút nhẹ tải của thuật tốn Threshold ban đầu tăng nhanh. Trong trường hợp này, thuật toán đề xuất hoạt động hiệu quả hơn thuật toán Threshold ban đầu rất nhiều. Khi số truy vấn đặt vào một nút đạt ngưỡng 100 truy vấn/giây, chi phí của thuật tốn đề xuất chỉ bằng một nửa chi phí của thuật tốn Threshold ban đầu.
2.5. Kết luận
Chương 2 của luật án đã trình bày một số nghiên cứu liên quan về cân bằng tải trong mạng ngang hàng có cấu trúc và đề xuất một thuật toán để nâng cao khả năng cân bằng tải xử lý các câu truy vấn của các nút trong mạng, tăng tỷ lệ thành công của các câu truy vấn qua đó nâng cao hiệu năng hoạt động cho mạng ngàng có cấu trúc.
Thuật tốn cân bằng tải đề xuất có hai đóng góp chính: thứ nhất, thuật
toán xem xét cả tải tìm kiếm các nút nhẹ tải trong quá trình thực hiện cân bằng tải. Thứ hai, thuật tốn chỉ mất thời gian hằng số để tìm kiếm chính xác và nhanh chóng một nút nhẹ tải cho q trình thực hiện cân bằng tải, do đó làm giảm số thơng báo tìm kiếm nút nhẹ tải.
Thuật toán đề xuất được đánh giá, so sánh với thuật tốn Threshold
ngun thuỷ trên các tiêu chí tỷ lệ truy vấn thành cơng và chi phí tìm kiếm nút nhẹ tải. Trong các điều kiện thí nghiệm như nhau, thuật tốn đề xuất có tỷ lệ
truy vấn thành cơng cao hơn so với thuật tốn Threshold khoảng 12%. Đồng thời chi phí cho việc thực hiện cân bằng tải giảm xuống khi số lượng truy vấn đặt vào một nút tăng lên, có nghĩa là thuật tốn đề xuất thích hợp cho hệ thống hoạt động ở ngưỡng tải nặng.
Kết quả nghiên cứu và thuật tốn chúng tơi đề xuất được cơng bố trong báo cáo khoa học tại hội thảo quốc gia về CNTT năm 2009 với tên gọi:
“Nâng cao hiệu quả của thuật toán cân bằng tải theo ngưỡng trong mạng ngang hàng có cấu trúc”.
Chương 3. ĐIỀU KHIỂN TẮC NGHẼN TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC
Các câu truy vấn trong mạng ngang hàng có cấu trúc được định tuyến qua nhiều nút khác nhau từ nút nguồn (nút phát câu truy vấn) đến nút đích (nút quản lý khóa truy vấn). Do tính khơng đồng nhất về khả năng định tuyến của các nút trong mạng cho nên xuất hiện tình trạng một số nút nhận được quá nhiều yêu cầu định tuyến truy vấn so với khả năng của nó. Điều này dẫn đến hiện tượng tắc nghẽn mạng tại một số nút, làm cho các câu truy vấn khơng đến được đích, gây ảnh hưởng đến hiệu năng hoạt động của hệ thống mạng. Để cải thiện hiệu năng hoạt động của mạng ngang hàng có cấu trúc, ngồi vấn đề cân bằng tải xử lý truy vấn đã giải quyết trong chương 2, cần phải giải quyết vấn đề tắc nghẽn tại các nút trong mạng khi thực hiện định tuyến truy vấn.
Chương 3 trình bày về điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc và đề xuất thuật tốn điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc. Thuật tốn điều khiển tắc nghẽn góp phần nâng cao tỷ lệ thành công của các cấu truy vấn qua đó nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc. Nội dung của chương 3 gồm các vấn đề sau:
- Các nghiên cứu liên quan về điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc.
- Thuật tốn điều khiển tắc nghẽn đề xuất. - Phân tích và đánh giá thuật toán.
3.1. Đặt vấn đề
Bảng băm phân tán (DHT) là kiến trúc hiệu quả để lưu trữ và tìm kiếm dữ liệu trong các mạng ngang hàng có cấu trúc. Thuật toán trong DHT xác định vị trí dữ liệu thơng qua một định danh (ví dụ: khóa) trong khơng gian định danh. Mỗi nút chịu trách nhiệm quản lý một khoảng không gian liên tục các định danh. Thao tác cơ bản của DHT là tìm kiếm một định danh và trả lại địa chỉ (địa chỉ IP và địa chỉ cổng) của nút quản lý định danh đó. Mỗi nút trong hệ thống duy trì một bảng định tuyến để chuyển tiếp các truy vấn mà nó khơng quản lý. Các DHT, như P-Grid [45], Chord [21] hoặc Pastry [22] tạo các bảng định tuyến để chuyển tiếp gói tin đến nút đích.
Trong những năm gần đây, DHT không chỉ được sử dụng cho các ứng dụng chia sẻ tệp tin mà còn được dùng trong xây dựng hệ thống truy vấn thông tin ngang hàng (P2P-IR - P2P Information Retrieval) [46]. Trong các hệ thống P2P-IR, DHT phải xử lý rất nhiều gói tin trong thời gian ngắn, làm tăng đáng kể tải hệ thống. Tối ưu hóa phương pháp định tuyến trong các mạng DHT là một yêu cầu quan trọng đối với các hệ thống P2P-IR. Hơn nữa, khi một nút nhận được một số truy vấn vượt quá khả năng định tuyến sẽ xảy ra sự cố tắc nghẽn trong mạng. Nếu khơng có cơ chế kiểm sốt tắc nghẽn thích hợp, các câu truy vấn tiếp theo đến hoặc đi qua nút này sẽ khơng đến được đích. Do đó, làm giảm tỷ lệ thành công của các câu truy vấn và dẫn tới làm giảm hiệu năng hoạt động của hệ thống mạng ngang hàng có cấu trúc.
Điều khiển tắc nghẽn trong DHT hoạt động ở lớp trên và độc lập với các cơ chế điều khiển tắc nghẽn của TCP. DHT thường sử dụng các thuật toán tham lam để định tuyến các gói tin trong mạng, trong đó một nút luôn lựa chọn nút láng giềng gần nhất để chuyển tiếp gói tin tới nút đích. Các mạng
giống nhau, độ ổn định của các nút không cao và các nút phải chia sẻ CPU và tài nguyên mạng cho các tiến trình khác đang chạy trong cùng thời điểm đó, v.v. Do đó, việc chọn các nút lân cận để chuyển tiếp các gói tin đến đích có thể khơng đáp ứng với sự thay đổi tải hệ thống trong mạng DHT.
Các nghiên cứu điều khiển tắc nghẽn trong mạng P2P được thực hiện theo hai hướng: hạn chế tốc độ gửi truy vấn của các nút gửi hoặc thay đổi tuyến đường đi của thông điệp để tránh tắc nghẽn. Một số nghiên cứu tiêu biểu về điều khiển tắc nghẽn là CSCC [47] (Credit System Congestion Control), BPCC [47] (Back-Pressure Congestion Control) và CCLBR [48]. Các nghiên cứu này có đặc điểm chung là sử dụng bảng định tuyến cố định và kiểm soát tắc nghẽn bằng cách giảm tốc độ gửi gói tin hoặc sử dụng đường đi khác trong bảng định tuyến và khơng tính đến khả năng xử lý của các nút trong mạng. Do đó, chúng có thể làm giảm tốc độ truyền của mạng khi xảy ra tắc nghẽn.
Chương này đề xuất một thuật toán điều khiển tắc nghẽn trong mạng ngang hàng có cấu trúc bằng cách thay đổi bảng định tuyến của một nút dựa trên trạng thái của các nút tiếp theo trong đường định tuyến. Khi một nút nhận được truy vấn, đầu tiên nó kiểm tra trạng thái tắc nghẽn của nó dựa trên khả năng định tuyến của nút và sau đó gửi thơng tin phản hồi về trạng thái tắc nghẽn cho nút gửi nếu nó bị tắc nghẽn. Mỗi nút gửi sẽ theo dõi thông tin phản hồi tắc nghẽn được gửi từ các nút tắc nghẽn và thay thế nút tắc nghẽn bởi nút khơng tắc nghẽn trên đường đi của gói tin. Thuật tốn đề xuất cho phép các nút nhanh chóng thích ứng với tuyến đường mới để tránh các phần còn lại của mạng bị quá tải. Do đó, phương pháp này có thể sử dụng hiệu quả băng thơng mạng và tài nguyên của các nút không tắc nghẽn mà không ảnh hưởng đến hiệu năng định tuyến của tồn bộ mạng.
Thuật tốn đề xuất có ba đóng góp chính. Thứ nhất, đề xuất phương
pháp phát hiện tắc nghẽn dựa trên khả năng định tuyến của một nút trước khi một nút loại bỏ gói tin do tắc nghẽn xảy ra. Thứ hai, khi phát hiện một nút bị tắc nghẽn, nút định tuyến sẽ thay thế nút tắc nghẽn bằng nút không tắc nghẽn trong bảng định tuyến dựa trên các thông tin nhận được. Cuối cùng, phương pháp xử lý khi một nút hết tắc nghẽn đưa mạng trở lại trạng thái định tuyến ban đầu khi tỷ lệ truy vấn giảm và nút tắc nghẽn trở lại trạng thái khơng tắc nghẽn. Thuật tốn đề xuất được đánh giá thông qua một số thí nghiệm mơ phỏng hoạt động trên một hệ thống mạng gần với hệ thống mạng thực. Trong mơ phỏng đánh giá thuật tốn, khả năng định tuyến của các nút tham gia vào mạng là không giống nhau và thời điểm ra/vào của các nút được xác định theo phân bố xác suất Pareto. Kết quả mơ phỏng cho thấy thuật tốn điều khiển tắc nghẽn chúng tôi đề xuất đạt được tỷ lệ truy vấn thành công cao hơn so với thuật toán định tuyến trong giao thức Chord ban đầu khoản trên 40%.
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