Nội dung

Một phần của tài liệu LUẬN VĂN:TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD pptx (Trang 30 - 32)

Chúng ta sẽ đi một cách chi tiết hơn vào các cải tiến, để từ một ứng dụng Chord truyền thống, có thể thực thi những cải tiến này một cách nhanh nhất. Trước tiên, cần có một vài thay đổi trong một sốđối tượng so với Chord truyền thống:

- Hàm băm có thêm nhiều hơn một tham số. Trong Chord truyền thống, hàm băm nhận thông tin về nút, thường là địa chỉ ip và số hiệu cổng của tiến trình chạy. Như vậy, chúng ta sẽ có một giá trị băm duy nhất cho một nút. Theo yêu cầu của bài toán, chúng ta cần nhiều hơn một giá trịđịnh danh từ một nút. Vì vậy, hàm băm cần nhận thêm một tham số là chỉ số nữa chẳng hạn.

- Đối tượng đo thời gian trễ giữa hai nút. Có thêm một đối tượng có thể gửi nhận các gói tin ICMP để đo khoảng thời gian quay vòng của các gói tin, từ đó tính khoảng cách một cách tương đối giữa các nút.

Những sự thay đổi trong quá trình hoạt động của Chord để thực thi hai biện pháp tối ưu:

Nút tham gia mạng

Khi một nút muốn tham gia vào mạng, Chord truyền thống sẽ thực hiện băm để nhận một giá trị băm duy nhất. Sau đó thực hiện việc tham gia mạng cho nút tại vị trí đó. Với cải tiến, thay vì một giá trị băm được tính toán, một tập các giá trị băm được tính toán vào chuyển cho nút. Đây là tập giá trị có được từ việc băm thông tin nút và chỉ số phụ.

Với mỗi giá trị địa chỉ, tìm successor và predeccessor cho địa chỉ đó. Thực hiện đo độ trễ từ nút đang xét đến hai nút này, lấy giá trị thời gian nhỏ nhất đại diện cho địa chỉ đó. Định danh được chọn sẽ có khoảng thời gian này là nhỏ nhất. Quá trình đo độ trễ, tính toán phải trong suốt. Có rất nhiều lựa chọn về điều kiện để chọn định danh, nhưng khoảng thời gian trễ nhỏ nhất là điều kiện đơn giản, đem lại hiệu quả khá tốt.

 

Hình 15: Lựa chọn vị trí tham gia mạng

Cho phép nút tham gia vào mạng với định danh đã được chỉ định như trong Chord truyền thống. Rõ ràng, cải tiến này sẽ làm tiêu tốn thời gian của nút khi tham gia vào mạng. Nói cách khác là khoảng thời gian trễ sẽ lâu hơn từ khi gửi yêu cầu tham gia và được tham gia thực sự.

Xây dựng bảng định tuyến

Sau khi để nút tham gia vào mạng, việc tiếp theo là xây dựng bảng định tuyến. Trước tiên, với entry thứ i trong bảng định tuyến, tính giá trị key mục tiêu (k + 2i-1) mod 2m, đồng thời tìm s là successor của key này.

Giá trị ex được gọi là độ mở rộng trong xây dựng bảng định tuyến. Theo đó, xét

ex nút liền trước, liền sau và bản thân s, ta được một tập 2*ex +1 nút. Điều kiện để lọc bớt các nút trong tập này là định danh nút phải nằm trong khoảng (k+2i-2, k+2i). Giới hạn này tránh sự xung đột và trùng lặp trong quá trình xây dựng định tuyến giữa các entry. Thực hiện đo thời gian trễ từ nút đang xét tới tập các nút vừa nêu, một danh sách

độ trễ được trả về. Chọn nút có khoảng cách quay vòng là nhỏ nhất là successor của entry i.

Những thay đổi trên mang tính cục bộ, chỉ là tác động vào quá trình tham gia mạng của nút mới và cập nhật bảng định tuyến trên Chord truyền thống. Vì thế, khả năng thực thi thêm giải pháp tối ưu vào ứng dụng Chord truyền thống là có thể làm được. Việc thay đổi bảng định tuyến sẽ không làm ảnh hướng đến thuật toán định tuyến của Chord truyền thống. Với cải tiến trên, có thể có những truy vấn mà số bước tìm kiếm cũng như thời gian đáp ứng tăng. Nhưng nhìn vào tổng thể, cải tiến đem lại tiềm năng rất lớn trong việc tiết kiệm băng thông và giảm thời gian đáp ứng khi truy vấn.

Một phần của tài liệu LUẬN VĂN:TỐI ƯU HÓA TOPOLOGY CHO MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD pptx (Trang 30 - 32)