You are on page 1of 22

Cân Bằng Tải Trong Mạng P2P Có Cấu Trúc

(Load Balancing in Structured P2P Networks)

Phan Anh &


Nguyễn Đình Nghĩa
Nội dung:

1. Một số khái niệm cơ bản.


2. Mất cân bằng tải: Những nguyên nhân.
3. Một số giải pháp cân bằng tải.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Một số khái niệm (1)

 Load (Tải): phụ thuộc vào từng hệ thống


P2P cụ thể, có thể là:
– Số bit yêu cầu để lưu trữ dữ liệu.
– Băng thông mạng.
– Lượng thời gian mà CPU cần để xử lý công
việc…

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Một số khái niệm (2)

 Target: tải lớn nhất mà một node mong


muốn nhận được.
 Mục đích của cân bằng tải: để duy trì hệ
thống ở trạng thái trong đó Load của một
node là nhỏ hơn Target.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Mất cân bằng tải (1)
 Các định danh Node có thể
không cân bằng.
– Do chọn ID ngẫu nhiên.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Mất cân bằng tải (2)
 Các định danh Node có thể
không cân bằng.
– Do chọn ID ngẫu nhiên.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Mất cân bằng tải (3)
 Các định danh Node có thể
không cân bằng.
 Các định danh dữ liệu có
thể không cân bằng.

- node
- data

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Mất cân bằng tải (3)
 Các định danh Node có thể
không cân bằng.
tallat-song4.mp3
 Các định danh dữ liệu có
tallat-song3.mp3
thể không cân bằng.
 Hot spots: Các nodes phải tallat-song1.mp3

chịu tải nhiều hơn các node


bình thường khác (bị truy tallat-song2.mp3

vấn nhiều hơn các node britney.mp3

bình thường khác). - node


- data

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Mất cân bằng tải (4)
 Các định danh Node có thể
không cân bằng.
 Các định danh dữ liệu có thể
không cân bằng.
 Hot spots: Các nodes phải
chịu tải nhiều hơn các node
bình thường khác (bị truy
vấn nhiều hơn các node
bình thường khác). - node
- data
 Các node ra vào mạng một
cách “tùy tiện”.
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
Nội dung
Một số khái niệm cơ bản.
Mất cân bằng tải: Những nguyên nhân.
 Một số giải pháp cân bằng tải:
– Phương pháp 1: Virtual servers (server ảo).
– Phương pháp 2: Không sử dụng virtual servers.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Virtual Servers (VSs)
 Mục tiêu: Số lượng keys/node cần được phân bố
đồng đều.
 Nguyên tắc: Mỗi Node vật lí chọn một số lượng
ngẫu nhiên các định danh.
– Mỗi định danh được dành cho một Virtual server (VS).
– Mỗi node vật lí bao gồm một số lượng nhất định các
VSs.
 Như vậy, mỗi node Vật lí sẽ chịu trách nhiệm cho
các vùng (regions) không liên tiếp trên vòng tròn
định danh.

Physical Nodes Virtual Servers


01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
Virtual Servers (VSs)

 Nên có bao nhiêu virtual servers?


– Với mạng thuần nhất, tất cả các node có thể cùng
sử dụng logN VSs.
– Với mạng không thuần nhất, các node có thể sử
dụng C.logN VSs, trong đó ‘C’ nhận:
 Giá trị nhỏ cho các node “yếu”.
 Giá trị lớn cho các node “mạnh”.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Cân bằng tải với Virtual Servers (VSs)

 Nguyên tắc thực hiện cân bằng tải:


– Di chuyển các VSs từ các node vật lí “nặng
tải” đến các node vật lí “nhẹ tải”.
 Vấn đề đặt ra:
– Giảm tối đa việc mất cân bằng tải.
– Giảm tối đa lượng tải phải di chuyển (VSs).
– Tối thiểu hóa các liên kết cần duy trì.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


VSs – Một số định nghĩa

 n – số nodes trong hệ thống.


 li – tải của ni tại một thời điểm cụ thể.
 ci – capacity của ni ví dụ: bandwidth, disk space.
 µi – hệ số sử dụng (utilization) của node ni.
l
i  cii

– Khi µi > 1, node n bị “nặng tải”, ngược lại node n được coi
là “nhẹ tải”.
 µ – Hệ số sử dụng của hệ thống (system
utilization).

 nodes n
ln
 nodes n
cn
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
VSs – Các mô hình cân bằng tải tĩnh
 One-to-one
– Mỗi node “nhẹ tải” L định kì thời gian liên hệ với
một node bất kì H.
– Nếu H là node “nặng tải”, virtual servers được
chuyển từ H sang L để H trở thành node “nhẹ tải”
nhưng cũng không làm node L trở thành “nặng tải”.
Định kì thời gian liên hệ

L H

VSs được di chuyển


Node ngẫu nhiên

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


VSs – Các mô hình cân bằng tải tĩnh
 One-to-many
– Một thư mục D được ngẫu nhiên đặt ra để lưu thông
tin về tải của những node “nhẹ tải”.
– Mỗi node “nặng tải” H lấy một vài node “nhẹ tải” từ
việc liên hệ với D.
– Một số VSs của H sau đó được chuyển tới một hoặc
nhiều node “nhẹ tải” đã đăng kí trong D.

L Thông tin
về các H
node nhẹ D
tải

H
L
L Virtual servers
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
VSs – Các mô hình cân bằng tải tĩnh
 Many-to-many
– Mỗi thư mục Dduy trì thông tin về load của một tập
các node “nhẹ tải” và “nặng tải”.
– Mỗi thư mục D chạy một thuật toán để quyết định
việc di chuyển các VSs từ các node “nặng tải” đến
các node “nhẹ tải”.
– Quá trình được thực hiện qua 3 giai đoạn:
 Unload.
 Insert (chèn).
 VSs swap (hoán đổi VSs).

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


Unload

T=6, L=5
L=7

A 5 2

T=20, L=17

B 7 6 4
Pool

T=24, L=22
L=25

C 10 8 4 3
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
Insert (chèn)

T=6, L=5

A 5 2

L=20
T=20, L=17
3
B 7 6 4
Pool

T=24, L=24
L=22

C 10 8 4
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
VSs – Mô hình lai (Hybrid scheme)
 Kết hợp:
– one-to-many và many-to-many
 Mỗi node:
– Định kì thời gian “báo cáo” loads và capacity tới thư mục D.
– Nếu thư mục D “gợi ý” việc di chuyển VSs thì thực hiện điều
này.
 Mỗi thư mục
– Lưu giữ báo cáo của các nodes.
– Định kì thời gian di chuyển các VSs sao cho:
 Tải di chuyển được tối thiểu hóa.
 Không làm cho các node khác trở nên “nặng tải”.
 Trường hợp khẩn cấp tại node n
– Nếu node n trở nên “nặng tải”, ngay lập tức yêu cầu thư mục
di chuyển lại VSs.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa


VSs – Ưu và nhược điểm

 Ưu điểm:
– Linh hoạt trong việc chuyển tải (load) từ node này sang
node khác (không chỉ giới hạn ở các node “hàng xóm”).
– Thuận lợi cho việc sử dụng bảng băm phân tán (DHTs)
vì sự di chuyển VSs giống như việc vào (join) và ra khỏi
(leave) DHT.
 Nhược điểm - Vấn đề cần giải quyết:
– Với m VSs, mỗi node vật lí phải duy trì m×logN kết nối
overlay.
– Tăng thông tin quản trị (duy trì các bảng Finggers) và
tăng load do di chuyển VSs.
01/10/2008 Phan Anh & Nguyễn Đình Nghĩa
Tham khảo

1. Chord: A Scalable Peer-to-peer Lookup Protocol for Internet


Applications. Ion Stoica, Robert Morris, David Liben-Nowell, David R.
Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan.
IEEE/ACM Transactions on Networking (TON), 11(1):17–32, 2003.
2. Heterogeneity and Load Balance in Distributed Hash Tables.
P. Brighten Godfrey and Ion Stoica. INFOCOM 2004 + slides.
3. Load Balancing in Dynamic Structured P2P Systems Brighten
Godfrey, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp,
Ion Stoica. INFOCOM 2004.
4. Simple Efficient Load Balancing Algorithms for Peer-to-Peer
Systems. David R. Karger, Matthias Ruhl. 16th Annual ACM
Symposium on Parallelism in Algorithms and Architectures.

01/10/2008 Phan Anh & Nguyễn Đình Nghĩa

You might also like