Ví dụ vòng Chord

Một phần của tài liệu (LUẬN văn THẠC sĩ) một phương pháp phi tập trung cho cân bằng tải trong các mạng ngang hàng có cấu trúc 04 (Trang 30 - 32)

.

Hình 3.3 Ví dụ vòng Chord

Bây giờ, node N8 thực hiện tìm node có id>54. Đầu tiên, node N8 sẽ tìm node chịu trách nhiệm quản lý id 54. Từ bảng định tuyến của mình, node N8 xác định được node lớn nhất và nhỏ hơn 54 chính là node N42. N8 chuyển truy vấn đến N42. Dựa vào bảng định tuyến của mình, N42 thấy rằng node lớn nhất và nhỏ hơn 54 chính là node N51. Nó lại chuyển tiếp truy vấn đến N51. Sau đó, node N51 thấy rằng successor của nó là N56 quản lý key 54. Khi đó, nó sẽ trả về kết quả truy vấn là node N56.

Giả sử trong vòng Chord tồn tại node N54 thì node chịu trách nhiệm quản lý key 54 chính là N54. Nhưng kết quả truy vấn cho node có id >54 chính là node N56.

Nếu tìm được node nhẹ tải l thỏa mãn điều kiện trên, thực hiện việc chuyển server ảo từ node nặng tải h sang node nhẹ tải l. Việc chuyển này sẽ được thực hiện

theo quy trình sau:

- Gửi thông tin về việc chuyển cho các node có liên quan trong vòng Chord cũ

gồm: node nặng tải h đang chứa VS v, node nhẹ tải l sẽ nhận v. Sau khi hai

node này nhận được thông tin, chúng sẽ tự liên hệ với nhau và thực hiện việc chuyển server ảo trong vòng Chord cũ.

- Xóa thông tin của VS v trong CSDL node h và thay đổi các thông tin của 2

node, cập nhật lại vòng nChord. VD:

Giả sử trong vòng Chord có 8 bit không gian định danh như hình 3.3, node N1 có các server ảo v1, v2, v3 với tải tương ứng là w1 = 5, w2 = 4, w3 = 6. Để trở thành node nhẹ tải, node N1 phải chuyển w2 = 4 đi. Node N1 sẽ tìm node có id nhỏ nhất và thỏa mãn điều kiện: id > w2 * 28, tức là id >1024. Trong số các node thỏa mãn, node tốt nhất có thể chấp nhận v2 chính là node N3850. Hai node N1 và N3850 sẽ tự liên hệ

với nhau và thực hiện chèn server ảo v2 của N1 vào node N3850. Sau bước này, thông tin của N1 và N3850 được thay đổi, cụ thể: N1 sẽ có C = 12, W = w1 + w3 = 11 và xóa thông tin của server ảo v2 trong CSDL. N3850 sẽ có C = 35, W = 24 và thêm thông tin của server ảo v2 trong CSDL.

Khi đó, vòng nChord sẽ cập nhật lại. Coi như N1 và N3850 rời bỏ mạng, 2 node mới gia nhập vào mạng là N257 (old_id = 1)và N2826 (old_id = 10). Cả hai node đều

có trường isOverloaded = 0.

Bước này sẽ tiếp tục cho đến khi trong vòng nChord không còn node nào có

trường isOverloaded = 1, hoặc không thể thực hiện việc chuyển server ảo nào đi nữa.

Trường hợp đầu, thuật toán kết thúc với tất cả các node nhẹ tải. Trường hợp sau, thuật toán sẽ tiếp tục với bước hoán đổi.

3.3. Hoán đổi

Nếu như node nặng tải h không tìm thấy node có id nào thỏa mãn điều kiện trên thì ta sẽ chọn server ảo nặng tải nhất v của nó và cố gắng tìm server ảo v’ của node nhẹ tải i sao cho Wi + load(v) – load(v’) Ci . Trong số các node được chọn, ta sẽ chọn

node nhẹ tải có server ảo load(v’) bé nhất thỏa mãn điều kiện trên. Sau đó hai node

này sẽ tự tiến hành hoán đổi hai server ảo trên và thay đổi các thông tin liên quan. Nếu

không thể tìm một node nhẹ tải i sao cho load(v’) < load(v), thuật toán sẽ kết thúc.

Nếu không, thuật toán sẽ quay trở lại bước chèn.

Sau khi thực hiện hoán đổi được, quay trở lại bước chèn để xem có thể chèn được các server ảo còn lại hay không. Nếu không thể chèn, thuật toán lại tiếp tục thực hiện bước hoán đổi. Cứ như vậy, sau mỗi lần hoán đổi thành công, lại quay trở về thực hiện bước chèn để cố gắng chèn các server ảo.

Một phần của tài liệu (LUẬN văn THẠC sĩ) một phương pháp phi tập trung cho cân bằng tải trong các mạng ngang hàng có cấu trúc 04 (Trang 30 - 32)

Tải bản đầy đủ (PDF)

(46 trang)