Lựa chọn láng giềng gần (Proximity Neighbor Selection[5])

Một phần của tài liệu Tối ưu hóa topology cho mạng ngang hàng có cấu trúc chord (Trang 25 - 27)

Nghiên cứu này tập trung cải thiện thuộc tính gần gũi trong mạng ngang hàng có cấu trúc nói chung. Căn cứ vào mạng liên kết tọa độ hai chiều ảo, những nút được xem là gần nhau được tập hợp lại vào một miền, các miền này kề sát nhau và phủ kín mặt phẳng tọa độ. Sau đó là quá trình ánh xạ (mapping) từ không gian mạng quan hệ sang không gian địa chỉ của DHT. Thông qua quá trình tìm kiếm các định danh miền tương ứng sử dụng thủ tục RPC trong Chord, các nút có thể nhận được danh sách hàng xóm của chúng một cách nhanh chóng theo cách thức phân tán hoàn toàn. Kết quả thu được thông qua chương trình mô phỏng mô hình với topo mở rộng đủ lớn chỉ ra rằng, cải tiến có một độ trễ lân cận trung bình thấp hơn phương pháp lấy ngẫu nhiên rất nhiều.

Phương pháp này có hai điểm chính tập trung vào việc tối ưu hóa mạng Chord. Đầu tiên là sự chọn lọc láng giềng gần (Proximity Neighbor Selection - PNS), ở đó những láng giềng trong bảng định tuyến được lựa chọn dựa vào mức độ gần gũi của chúng với nút đang xét. Thứ hai là lựa chon tuyến đường gần, diễn ra khi lựa chọn điểm đích tiếp theo trong quá trình định tuyến tới một điểm đích riêng biệt, và cũng dựa trên mức độ gần gũi đã nêu. Phương pháp này giải quyết cả hai nhược điểm được nêu ở phần trước của Chord.

Phân chia không gian liên kết hai chiều

Trước tiên chúng ta sẽ xem xét cách xây dựng không gian liên kết hai chiều của các nút. Từ đó có thể đánh giá được mức độ gần gũi của các nút. Vì vậy, đây là một phần trọng trong khâu chuẩn bị, quyết định khá nhiều đến sự thành công của thuật toán.

Hình 10. Bản đồ miền trong không gian hai chiều

Thông qua thuật toán Vivaldi, mỗi nút sẽ lấy được tập các quan hệ trong mạng ảo hai chiều. Thuật toán Vivaldi sẽ ánh xạ một nút vào một tọa độ hai chiều (x, y) dựa vào công thức với nhiều tham số, trong đó có thời gian quay vòng (round-trip delay time - RTT) là thời gian đo đc tương tự như quá trình ping hay DNS và tọa độ của các nút trước đó. Kết quả của thuật toán là một mặt phằng tọa độ với các nút được ánh xạ vào một điểm trên đó.

Tiếp theo là ánh xạ chia miền để xét quan hệ gần gũi. Với mỗi nút s được chọn là nút trung tâm, xét r cố định, các đường tròn có bán kính r, 2r, 3r… được định nghĩa như hình vẽ. Miền được định nghĩa như sau: hình vành khăn tạo bới phần cắt giữa đường tròn bán kính ir với đường tròn có bán kính (i-1)r chia thành 2i-1 miền diện tích bằng nhau và bằng PI*r2. Điều này chứng minh khá đơn giản. Các miền được đặt định danh bằng một cặp (i, j), trong đó i là số hiệu đường tròn nhỏ nhất chứa miền đó, j là thứ tự

miền trong hình vành khăn đang xét. Thứ tự miền được đánh số theo chiều dương và từ góc 0o. Như vậy, mỗi nút sẽ có một bản đồ miền như mô tả. Từ vị trí của bản thân nút và vị trí tương đối của các nút xung quanh, thực hiện ánh xạ các nút hàng xóm vào các miền, các nút trong cùng một miền được xem là có quan hệ như nhau với nút trung tâm. Độ ưu tiên miền dựa vào tên định danh của miền, theo đó, giá trị i càng nhỏ, miền càng gần nút trung tâm. Việc chia miền giúp những cụm nút có khoảng cách và thuộc tính gần như nhau hợp lại, trợ giúp cho quá trình tìm kiếm và định tuyến phía sau.

Tối ưu quá trình định tuyến

Việc tìm kiếm các láng giềng gần diễn ra khá đơn giản. Mỗi nút đều lưu định danh miền mà nó thuộc về. Khi có yêu cầu tìm kiếm những nút láng giềng, nút được yêu cầu sẽ dựa vào định danh miền, xác định các nút nằm trong cùng miền đó. Như vậy dễ dàng tìm ra các nút láng giềng gần. Nếu nút đó 1 mình 1 miền, quá trình tìm kiếm bắt đầu với 6 miền lân cận. Quá trình tìm kiếm diễn ra cho đến khi tìm được ít nhất một nút. Những nút tìm được sẽ được add vào tập láng giềng gần.

Thay đổi các đường dẫn trong bảng định tuyến là mục đích chính của nghiên cứu này. Trong Chord truyền thống, entry thứ i của là định danh của nút là successor của khóa k+2i với k là định danh nút hiện tại. Để có thể tận dụng được thời gian trễ và topo xây dựng bên trên, đồng thời tạo tính mềm dẻo cho việc lựa chọn, cải tiến đã chọn lại nút này bằng nút hàng xóm có định dạnh nằm trong khoảng [k+2i-1, k+2i) và gần nút đang xét nhất. Quá trình tìm kiếm nút hàng xóm gần đã được mô tả ở trên.

Ưu điểm

- Cải thiện hiệu năng mạng, giảm độ trễ.

- Giữ nguyên cơ chế chạy của Chord truyền thống, đặc biệt là phần truy vấn.

Nhược điểm

- Xây dựng không gian liên kết hai chiều theo thuật toán Vivaldi khá phức tạp.

- Tạo ra ánh xạ càng đầy đủ, càng gần thì chi phí xây dựng càng lớn.

Một phần của tài liệu Tối ưu hóa topology cho mạng ngang hàng có cấu trúc chord (Trang 25 - 27)