Tải bản đầy đủ (.pdf) (46 trang)

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 luận văn ths công nghệ thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 46 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ HỒNG HIÊN

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

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ HỒNG HIÊN

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

Ngành:

Công nghệ Thông tin

Chuyên ngành: Hệ thống Thông tin
Mã số:

60480104



LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐẠI THỌ

Hà Nội – 2015


LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới TS.Nguyễn Đại Thọ, Trường Đại học
Công nghệ - Đại học Quốc gia Hà Nội, người thầy đã dành nhiều thời gian tận
tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quá trình tìm hiểu, nghiên cứu.
Thầy là người định hướng và đưa ra nhiều góp ý quý báu trong quá trình tôi thực
luận văn.
Tôi xin chân thành cảm các thầy, cô ở khoa Công nghệ thông tin – Trường Đại
học Công nghệ - ĐHQGHN đã cung cấp cho tôi kiến thức và tạo cho tôi những điều
kiện thuận lợi trong suốt quá trình tôi học tập tại trường.
Tôi cũng bày tỏ lòng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồng nghiệp đã
cung cấp tài liệu và cho tôi những lời khuyên quý báu. Tôi xin cảm ơn gia đình, người
thân, bạn bè luôn động viên và tạo mọi điều kiện tốt nhất cho tôi.
Tôi xin chân thành cảm ơn!

Hà Nội, tháng 6 năm 2015
Học viên

Nguyễn Thị Hồng Hiên

3


LỜI CAM ĐOAN

Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi, thực hiện dưới sự hướng
dẫn của TS. Nguyễn Đại Thọ.
Các kết quả nêu trong luận văn là trung thực và chưa được ai công bố trong bất
cứ công trình nào khác.

Hà Nội, tháng 6 năm 2015
Học viên

Nguyễn Thị Hồng Hiên

4


MỤC LỤC
LỜI CẢM ƠN ................................................................................................................. 3
MỤC LỤC ....................................................................................................................... 5
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ....................................................... 7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ........................................................................... 8
LỜI MỞ ĐẦU ................................................................................................................. 9
Chương 1. Giới thiệu tổng quan ..................................................................................... 11
1.1.Bài toán cân bằng tải trong mạng ngang hàng có cấu trúc ..................................... 11
1.2.Một số hướng nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc
hiện nay ...................................................................................................................... 12
1.3. Hướng tiếp cận của luận văn và kết quả đạt được ................................................ 13
1.4. Cấu trúc của luận văn .......................................................................................... 13
1.5. Kết luận ............................................................................................................... 14
Chương 2. Các kiến thức cơ sở liên quan ....................................................................... 15
2.1. Mạng ngang hàng ................................................................................................ 15
2.1.1. Khái niệm mạng ngang hàng ......................................................................... 15
2.1.2. Các đặc trưng của mạng ngang hàng.............................................................. 16

2.1.3. Các loại mạng ngang hàng ............................................................................. 16
2.2. Bảng băm phân tán (DHT) ................................................................................... 17
2.3. Chord .................................................................................................................. 18
2.3.1. Khái niệm ...................................................................................................... 18
2.3.2. Không gian định danh ................................................................................... 19
2.3.3.Định tuyến ...................................................................................................... 19
2.3.4.Truy vấn trong vòng Chord ............................................................................ 20
2.3.5. Cơ chế ổn định mạng trong vòng Chord ........................................................ 21
2.4. Khái niệm liên quan đến tải ................................................................................. 21
2.5. Nguyên nhân gây mất cân bằng tải ...................................................................... 22
2.6. Các phương pháp cân bằng tải hiện nay ............................................................... 23
2.6.1.Phương pháp di chuyển server ảo một-một ..................................................... 23
2.6.2.Phương pháp di chuyển server ảo một-nhiều .................................................. 23
2.6.3.Phương pháp di chuyển server ảo nhiều-nhiều ................................................ 24
Chương 3. Giải pháp cân bằng tải phi tập trung mới ...................................................... 26
3.1. Xây dựng Chord mới. .......................................................................................... 26
3.2. Chèn .................................................................................................................... 29
3.3. Hoán đổi .............................................................................................................. 31
5


Chương 4. Mô phỏng và đánh giá .................................................................................. 33
4.1. Bộ mô phỏng của Jonathan Ledlie ....................................................................... 33
4.2. Mô tả mô phỏng của giải pháp cân bằng tải mới .................................................. 35
4.3. Kết quả ................................................................................................................ 40
4.3.1. Lượng truy vấn trên một node thay đổi .......................................................... 41
4.3.2. Độ lệch trong truy vấn giữa các node thay đổi ............................................... 43
Chương 5. Kết luận........................................................................................................ 44
TÀI LIỆU THAM KHẢO ............................................................................................. 46
. ..................................................................................................................................... 46


6


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt
PS
VS
DHT
DHTs
ID

Ý nghĩa
Physical Server
Virtual Server
Distributed Hash Table
Distributed Hash Tables
Identifier

7


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1. Phân loại hệ thống mạng ngang hàng ......................................................... 16
Hình 2.2. Mô hình bảng băm phân tán ....................................................................... 18
Hình 2.3. Không gian định danh 6-bit của Chord ....................................................... 19
Hình 2.4. Vòng tròn định danh Chord với 3 node [6] ................................................. 20
Hình 2.5. Sơ đồ thuật toán di chuyển server ảo nhiều-nhiều ....... Error! Bookmark not
defined.
Hình 3.1. Vòng Chord ban đầu .................................................................................. 28

Hình 3.2. Vòng Chord mới ........................................................................................ 28
Hình 3.3. Ví dụ vòng Chord ....................................................................................... 30
Hình 3.4. Sơ đồ thuật toán của giải pháp mới ............................................................. 32
Hình 4.1. Mô tả quá trình hoạt động của giải pháp mới .............................................. 37
Hình 4.2. Tỷ lệ phần trăm truy vấn thành công khi lượng tải thay đổi (truy vấn dạng
Uniform) .................................................................................................................... 41
Hình 4.3. Tỷ lệ phần trăm truy vấn thành công khi lượng tải thay đổi (truy vấn dạng
Zipf 0.8) .................................................................................................................... 42
Hình 4.4. Tỷ lệ phần trăm truy vấn thành công khi lượng tải thay đổi (truy vấn dạng
Zipf 1.2) .................................................................................................................... 42
Hình 4.5. Tỷ lệ phần trăm truy vấn thành công khi độ skew của mạng thay đổi ......... 43

8


LỜI MỞ ĐẦU
Lưu trữ và chia sẻ dữ liệu trên Internet luôn là mối quan tâm hàng đầu và đặt ra
rất nhiều thách thức. Khi nhu cầu chia sẻ thông tin tăng, mô hình client/server có nhiều
hạn chế về băng thông và việc xử lý dữ liệu. Trong mô hình này, các client sẽ kết nối
với một server. Tài nguyên tập trung tại server để cung cấp cho các client. Các máy
client chỉ đóng vai trò thụ động, chỉ yêu cầu dịch vụ từ server mà không cung cấp dịch
vụ cho các client khác. Khi mà số lượng client tăng nhanh, các server không thể đáp
ứng được cho các client, nó sẽ bị quá tải và mạng có thể bị sập. Khắc phục những
nhược điểm đó, mạng ngang hàng ra đời.
Mạng ngang hàng có 2 loại: không cấu trúc và có cấu trúc. Với mạng ngang
hàng không có cấu trúc, không có mối liên hệ nào giữa một máy và dữ liệu của nó.
Điều này có thể dẫn đến việc tìm kiếm không thành công do yêu cầu tìm kiếm bị
chuyển đi ngẫu nhiên đến các máy trong mạng, khi chưa đến được đích thì TTL = 0,
yêu cầu tìm kiếm sẽ bị loại bỏ. Một yêu cầu tìm kiếm có thể sẽ không nhận được kết
quả, do không có gì đảm bảo một máy nào đó có khả năng đáp ứng yêu cầu đó sẽ tồn

tại. Mặt khác, trong mạng ngang hàng không có cấu trúc, các package tìm kiểm
thường được chuyển phát tràn tới lượng lớn các máy gây ra việc tốn lượng băng thông
lớn. Với mạng ngang hàng có cấu trúc, những hạn chế đó đã được khắc phục bằng
cách sử dụng bảng băm phân tán (DHT). Nó định nghĩa liên kết giữa các node mạng
theo một thuật toán cụ thể, các node lưu trữ dữ liệu được phân bố một cách hiệu quả,
đồng thời xác định mỗi node mạng sẽ chịu trách nhiệm đối với một phần dữ liệu trong
mạng một cách chặt chẽ. Đã có nhiều cấu trúc mạng ngang hàng sử dụng DHT như
CAN, Chord, Partry… Trong đó, Chord được sử dụng nhiều hơn trong nghiên cứu về
tối ưu mạng và cân bằng tải vì Chord tổ chức không gian định danh và định tuyến một
cách đơn giản, hiệu quả.
Theo những nghiên cứu trước, mạng ngang hàng có cấu trúc hoạt động hiệu quả
khi các máy (node) và dữ liệu được phân bố trên không gian định danh đồng đều, số
truy vấn đến các dữ liệu ngang nhau, khả năng của các node giống nhau…Tuy nhiên,
thực tế các node tham gia vào mạng là ngẫu nhiên, nên các giả thiết trên sẽ không bao
giờ xảy ra. Các node là các máy tính cá nhân, không phải lúc nào các máy này cũng
tham gia vào mạng nên có thể tài nguyên của node đó sẽ biến mất trong một khoảng
thời gian nào đó. Do đó, hệ thống mạng sẽ bị mất cân bằng tải.
Hiện nay nhiều nghiên cứu về cân bằng tải đã được đề xuất theo hai hướng:
không sử dụng server ảo và có sử dụng server ảo. Trong luận văn này, tôi xin đi theo
hướng nghiên cứu về cân bằng tải sử dụng server ảo trong mạng ngang hàng có cấu
9


trúc Chord. Một số phương pháp cân bằng tải dựa trên server ảo tiêu biểu như di
chuyển server ảo, log(N) server ảo, k-choices. Với các phương pháp cân bằng tải di
chuyển server ảo, mỗi server vật lý quản lý một số server ảo. Nếu có một server vật lý
nặng tải, ta sẽ di chuyển server ảo từ server vật lý đó sang server vật lý nhẹ tải, đảm
bảo sau khi chuyển thì hai server đó cùng nhẹ tải. Ứng với việc di chuyển server ảo, ta
có ba thuật toán di chuyển: một-một, một-nhiều, nhiều-nhiều. Trong thuật toán di
chuyển server ảo một-một, server vật lý nhẹ tải sẽ chọn một định danh ID bất kỳ, và

kiểm tra xem node có ID đó là nặng tải hay nhẹ tải, nếu node là nặng tải thì bắt đầu
thực hiện chuyển server ảo. Trong thuật toán di chuyển server ảo một-nhiều, server vật
lý nhẹ tải sẽ thông báo tải của nó cho directory, còn server vật lý nặng tải sẽ lấy thông
tin về các server vật lý nhẹ tải từ directory, sau đó xác định server vật lý nhẹ tải thỏa
mãn để di chuyển server ảo. Trong thuật toán di chuyển server ảo nhiều-nhiều, global
pool được sử dụng để quản lý các server ảo, một bước trung gian để chuyển server ảo
từ node nặng tải sang node nhẹ tải. Global pool chỉ là một cấu trúc dữ liệu cục bộ được
sử dụng để tính toán cấp phát cuối cùng, sẽ không có tải nào được chuyển cho đến khi
thuật toán kết thúc. Đây chính là hạn chế của thuật toán này, phá vỡ tính phi tập trung
của mạng ngang hàng. Ngoài ra, do các node trong mạng biết được địa chỉ của global
pool, nên global pool dễ bị tấn công.
Vấn đề đặt ra ở đây là phải đưa ra phương pháp cân bằng tải khắc phục được
nhược điểm tập trung hóa của thuật toán cân bằng tải di chuyển server ảo nhiều-nhiều.
Xuất phát từ yêu cầu đặt ra, tôi xin đưa ra một giải pháp mới cân bằng tải phi tập trung
dựa trên server ảo bằng cách xây dựng thêm vòng Chord mới dựa vào độ lệch tải của
các node trên vòng Chord cũ. Kết quả mô phỏng của chúng tôi cho thấy rằng hiệu quả
của giải pháp mới gần xấp xỉ hiệu quả của thuật toán cân bằng tải nhiều-nhiều.

10


Chương 1. Giới thiệu tổng quan
1.1.Bài toán cân bằng tải trong mạng ngang hàng có cấu trúc
Ngày nay, dữ liệu lưu trữ và việc chia sẻ thông tin trên Internet tăng lên đáng
kể. Hầu hết người dùng Internet đều có khối lượng dữ liệu riêng của mình. Chính điều
đó đã tạo ra nhiều hạn chế của mô hình mạng client/server. Việc quản lý mạng trong
mô hình này chỉ tập trung vào một số nhỏ các máy server trung tâm. Khi số lượng máy
khách (client) tăng, khả năng phục vụ của server cho mỗi máy khách sẽ bị giảm, có thể
gây ra sự mất cân bằng tải trong toàn hệ thống mạng. Hệ thống mạng ngang hàng ra
đời với mục đích khắc phục những nhược điểm đó. Các máy trong hệ thống mạng

ngang hàng kết hợp băng thông và sức mạnh xử lý để tạo sức mạnh xử lý lớn hơn mà
không cần đầu tư tốn kém về cơ sở hạ tầng như mô hình client/server. Gần đây, các
ứng dụng chia sẻ file và dữ liệu phân tán như Skype, BitTorrent đang được rất nhiều
người sử dụng. Người dùng Skype tăng lên đáng kể: tăng thêm khoảng 2,5 triệu người
tham gia sử dụng trong 1 năm…Hệ thống mạng ngang hàng ra đời đầu tiên là mạng
ngang hàng không có cấu trúc, sau đó là sự ra đời của mạng ngang hàng có cấu trúc
khắc phục những nhược điểm của mạng ngang hàng không có cấu trúc
Các hệ thống mạng ngang hàng không có cấu trúc vẫn còn những hạn chế nhất
định. Với đặc điểm là không có mối liên hệ giữa một máy và dữ liệu nó quản lý, yêu
cầu tìm kiếm được phát tràn cho lượng lớn máy trong mạng ngang hàng không có cấu
trúc đã tiêu tốn băng thông lớn, hiệu quả tìm kiểm thấp. Để nâng cao được hiệu quả
tìm kiếm, tránh tiêu tốn lượng băng thông lớn, người ta sử dụng hệ thống mạng ngang
hàng có cấu trúc. Hệ thống mạng ngang hàng có cấu trúc sử dụng bảng băm phân tán
(DHT) để tổ chức các máy (node) trong hệ thống mạng một cách hiệu quả như cấu trúc
CAN, Partry, Chord… Trong đó, cấu trúc vòng Chord tổ chức không gian định danh
và định tuyến truy vấn đơn giản hơn, hiệu quả hơn. Nó ràng buộc các node trong mạng
và dữ liệu mà node quản lý bằng cách gán cho chúng định danh (ID) và khóa (key),
mỗi node mạng sẽ chịu trách nhiệm với phần dữ liệu nào đó trong mạng. Khi đó, nếu
một máy cần tìm dữ liệu nào đó, nó chỉ cần sử dụng giao thức chung để xác định node
chịu trách nhiệm cho dữ liệu đó và liên lạc trực tiếp đến node đó để lấy dữ liệu.
Song, thực tế cho thấy rằng nếu đạt được giả thiết là khả năng của các node
giống nhau, các node và dữ liệu trên không gian định danh được phân bố một cách
đồng đều, số truy vấn đến các dữ liệu cũng đồng đều thì các hệ thống mạng ngang
hàng có cấu trúc này mới thực sự hoạt động hiệu quả. Do các node tham gia vào mạng
một cách ngẫu nhiên, tùy tiện nên các điều kiện giả thiết trên sẽ không bao giờ đạt
11


được. Khi đó, các hệ thống mạng ngang hàng có cấu trúc rất dễ bị mất cân bằng tải
giữa các node, làm mất hiệu quả trong việc truy vấn, tìm kiếm. Với yêu cầu thực tế đặt

ra, các hệ thống mạng ngang hàng có cấu trúc cần thỏa mãn được sự cân bằng tải, làm
cho hệ thống hoạt động hiệu quả hơn.
1.2.Một số hướng nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc
hiện nay
Hiện nay, đã có rất nhiều nghiên cứu về cân bằng tải trong mạng ngang hàng có
cấu trúc. Chủ yếu các nghiên cứu đi theo hai hướng: không sử dụng server ảo và có sử
dụng server ảo. Một node vật lý sẽ quản lý nhiều vùng không gian định danh khác
nhau. Một node có thể có nhiều server ảo. Mỗi server ảo sẽ chịu trách nhiệm quản lý
một khoảng không gian địa chỉ.
Trong luận văn này, tôi xin đi theo hướng cân bằng tải có sử dụng server ảo
trong mạng ngang hàng có cấu trúc Chord. Có một số nghiên cứu tiêu biểu về cân
bằng tải có sử dụng server ảo trong Chord như di chuyển server ảo, log(N), k-choices
...[5]. Với các phương pháp di chuyển server ảo [6], để có thể cân bằng tải ta sẽ chuyển
server ảo gây nặng tải từ một node nặng tải sang một node nhẹ tải, sao cho khi chuyển
xong thì node nhẹ tải không trở thành nặng tải và đảm bảo tải của server ảo chuyển đi
là tải có giá trị nhỏ nhất. Trong phương pháp cân bằng tải di chuyển server ảo mộtmột, hai node sẽ được chọn ngẫu nhiên và việc di chuyển server ảo sẽ được tiến hành
nếu một node là nhẹ tải, node còn lại là node nặng tải. Mỗi node nhẹ tải sẽ chọn một
định danh ID ngẫu nhiên, sau đó nó sẽ tìm node chịu trách nhiệm cho ID này. Nếu
node tìm được nặng tải thì bắt đầu di chuyển server ảo. Trong phương pháp cân bằng
tải di chuyển một-nhiều, một node nặng tải sẽ xét nhiều node nhẹ tải tại cùng một thời
điểm. Rồi chọn trong những node nhẹ tải đó, node thỏa mãn nhất. Còn đối với phương
pháp cân bằng tải di chuyển nhiều-nhiều, nhiều node nhẹ tải sẽ nối với nhiều node
nặng tải. Ở đây, ta sẽ sử dụng global pool, một cấu trúc dữ liệu cục bộ được dùng để
tính toán cấp phát cuối cùng. Global pool sẽ là nơi trung gian để những node nặng tải
chuyển server ảo gây nặng tải cho chúng vào, rồi từ global pool lại chuyển các server
ảo này vảo các node nhẹ tải mà không làm chúng trở lên nặng tải. Phương pháp cân
bằng tải di chuyển server ảo nhiều-nhiều được đánh giá có kết quả tốt nhất. Tuy nhiên,
phương pháp này sử dụng global pool để quản lý các server ảo và cân bằng tải cho hệ
thống nên nó đã làm mất tính phi tập trung của mạng ngang hàng. Hơn nữa, do các
node biết được địa chỉ của global pool nên nó dễ bị tấn công, hệ thống mạng vì thế mà

sẽ hoạt động kém hiệu quả.
Trước đó, tác giả Nguyễn Thị Mi – tác giả một khóa luận tốt nghiệp đại học
trường Đại học Công nghệ đã đưa ra một phương pháp cân bằng tải phi tập trung [3].
12


Nhưng theo phương pháp này, một node vật lý sẽ phải lưu thông tin về tất cả các node
vật lý có trong mạng và các server ảo gây nặng tải. Khi truyền tin, các node phải gửi
thông báo cho tất cả các node khác trong mạng. Điều này sẽ gây lãng phí băng thông,
làm cho thuật toán cân bằng tải vẫn chưa thực sự hiệu quả và có kết quả mô phỏng
thấp hơn thuật toán di chuyển server ảo nhiều-nhiều.
1.3. Hướng tiếp cận của luận văn và kết quả đạt được
Luận văn giải quyết vấn đề cân bằng tải trong mạng ngang hàng có cấu trúc
theo hướng sử dụng server ảo. Luận văn đưa ra một giải pháp cân bằng tải phi tập
trung dựa trên server ảo, khắc phục nhược điểm tập trung hóa của phương pháp di
chuyển server ảo nhiều-nhiều. Dựa vào độ lệch tải của các node trên vòng Chord cũ, ta
đi xây dựng vòng Chord mới. Sau đó thực hiện các bước cân bằng tải trong vòng
Chord mới này. Giải pháp cân bằng tải mới này cho những kết quả cân bằng tải ngang
bằng thuật toán di chuyển server ảo nhiều-nhiều, mà không làm mất tính phi tập trung
của hệ thống mạng ngang hàng.
Chúng tôi đã thực hiện mô phỏng giải pháp mới dựa trên mô phỏng của tác giả
Jonanthan Ledlie – tác giả đã đi xây dựng bộ mô phỏng cho các phương pháp cân bằng
tải: k-choices, di chuyển server ảo một-một, threshold, proportional [5] và tác giả
Nguyễn Thị Mi – tác giả đã mô phỏng thêm thuật toán di chuyển server ảo nhiều-nhiều
[3]. Kết quả mô phỏng thu được cho thấy giải pháp cân bằng tải mới có hiệu quả
ngang bằng thuật toán di chuyển server ảo nhiều-nhiều.
1.4. Cấu trúc của luận văn
Nội dung của luận văn gồm 4 chương:
Chương 1. Giới thiệu tổng quan
Giới thiệu bài toán cân bằng tải trong mạng ngang hàng có cấu trúc, trình bày

một số hướng nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc hiện nay
và hướng tiếp cận của luận văn.
Chương 2. Các kiến thức cơ sở liên quan
Trình bày một số khái niệm và các kiến thức liên quan về mạng ngang hàng,
mạng ngang hàng có cấu trúc, bảng băm phân tán, Chord, các vấn đề gây mất cân bằng
tải trong mạng ngang hàng có cấu trúc và giới thiệu các phương pháp cân bằng tải di
chuyển server ảo hiện nay.
Chương 3. Phương pháp cân bằng tải phi tập trung mới
Dựa vào những phương pháp cân bằng tải di chuyển server ảo trước đã trình
bày trong chương 2, chương này sẽ trình bày về phương pháp cân bằng tải mới phi tập
trung dựa vào server ảo trên mạng ngang hàng có cấu trúc. Ta sẽ đi xây dựng thêm
13


một vòng Chord mới từ độ lệch tải của các node trên vòng Chord cũ, sau đó thực hiện
chèn server ảo từ một node nặng tải sang node nhẹ tải và hoán đổi server ảo giữa các
node.
Chương 4. Mô phỏng và đánh giá
Chương này tập trung đi mô phỏng phương pháp mới dựa trên chương trình mô
phỏng của các phương pháp trước đó của tác giả Jonathan Ledlie. Sau đó, luận văn
phân tích các kết quả thu được của phương pháp cân bằng tải phi tập trung mới và so
sánh, đánh giá với phương pháp cân bằng tải di chuyển server ảo cũ.
Chương 5. Kết luận
Tổng kết lại những kiến thức đã nghiên cứu trong luận văn, đánh giá phương
pháp mới này bằng cách so sánh với phương pháp cũ. Chương này cũng đưa ra hướng
phát triển của đề tài.
1.5. Kết luận
Chương này giới thiệu về bài toán cân bằng tải, những yêu cầu đặt ra cần giải
quyết đối với bài toán cân bằng tải trong mạng ngang hàng có cấu trúc, đồng thời trình
bày một số hướng nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc hiện

nay, hướng tiếp cận, nêu ra giải pháp cân bằng tải mới phi tập trung, kết quả đạt được
và cấu trúc của luận văn.

14


Chương 2. Các kiến thức cơ sở liên quan
2.1. Mạng ngang hàng
2.1.1. Khái niệm mạng ngang hàng
“Trong vài năm gần đây, số lượng các hệ thống phân tán tăng lên một cách ồ ạt
với hàng triệu người tham gia đã xuất hiện trong một thời gian ngắn. Các ứng dụng
như tin nhắn nhanh (IM), chia sẻ file và nội dung phân tán đang thu hút vô số người
tham gia sử dụng. ví dụ dịch vụ Skype đã tăng thêm hơn 2,5 triệu người sử dụng trong
vòng một năm, và hơn 50% lưu lượng Internet tăng thêm có nguồn gốc từ BitTorrent.
Chúng phát triển một cách nhanh chóng tạo nên một kỷ nguyên mới cho việc thiết kế
và triển khai các hệ thống mạng ngang hàng”. [3]
Tốc độ phát triển Internet nhanh khiến mô hình client/server bộc lộ nhiều nhược
điểm khi số máy client tham gia vào mạng tăng lên đáng kể. Server sẽ phải cung cấp
dịch vụ cho các client. Đến một mức nào đó, khi có quá nhiều yêu cầu từ các client,
server sẽ không thể đáp ứng kịp thời và sẽ bị quá tải. Điều này có thể dẫn đến sập toàn
hệ thống mạng. Như vậy, mô hình client/server không có khả năng mở rộng. Trong khi
đó, mạng ngang hàng có khả năng mở rộng, càng nhiều máy tham gia vào mạng càng
tốt.
Mạng ngang hàng (peer-to-peer) hoạt động dựa vào băng thông và sức mạnh
tính toán của các máy tham gia. Trên mạng ngang hàng, ta không có khái niệm client
hoặc server, các máy tham gia vào mạng có vai trò bình đẳng, việc quản lý mạng
không tập trung ở một số máy server trung tâm như mạng client/server. Sức mạnh xử
lý của hệ thống sẽ là tổng sức mạnh xử lý của các máy tham gia vào mạng. Như vậy,
mạng ngang hàng có khả năng mở rộng, đáp ứng nhu cầu phát triển của Internet.
Mô hình mạng ngang hàng rất phù hợp với tính phi tập trung của Internet. Nó

tận dụng được tài nguyên nhàn rỗi của các client để làm tăng khả năng tính toán của hệ
thống, không tốn thêm chi phí quản lý cho vài máy trung tâm như mô hình
client/server. Trong những năm gần đây, mạng ngang hàng có rất nhiều ứng dụng về
chia sẻ dữ liệu và truyền dữ liệu thời gian thực như VoIP…
Như vậy, ta có thể hiểu mạng ngang hàng là hệ thống tự tổ chức của các node
mạng, chúng vai trò ngang nhau nhằm mục đích chia sẻ các tài nguyên phân tán trên
môi trường mạng một cách dễ dàng hơn, tránh các dịch vụ trung tâm.

15


2.1.2. Các đặc trưng của mạng ngang hàng
Các máy tham gia vào mạng ngang hàng được gọi là peer. Chúng có vai trò
bình đẳng như nhau, có thể vừa chia sẻ dữ liệu (máy khách) vừa yêu cầu lấy dữ liệu từ
các peer khác (máy chủ).
Ưu điểm của mạng ngang hàng là các máy tham gia vào mạng đều đóng góp tài
nguyên như: khả năng lưu trữ, khả năng xử lý, băng thông…Nó làm giảm khả năng tắc
nghẽn mạng do tăng số giao tiếp giữa các thiết bị mạng qua các đường truyền khác
nhau. Vì vậy, khi số lượng máy tham gia vào mạng tăng thì khả năng tổng thể của
mạng cũng tăng. Điều này khắc phục được hạn chế của mô hình client/server. Mặt
khác, mạng ngang hàng tận dụng được sức mạnh tính toán kết hợp của các peer trong
hệ thống. Điều này cho thấy rõ khả năng mở rộng của mạng ngang hàng. Dù một số
máy trong mạng gặp sự cố thì vẫn không ảnh hưởng đến hoạt động của toàn hệ thống.
Bên cạnh đó, mạng ngang hàng cũng có những nhược điểm nhất định. Các máy
tham gia vào mạng ngẫu nhiên, cũng có thể rời khỏi mạng một cách đột ngột, dẫn đến
làm sai lệch bảng định tuyến và dữ liệu mà node đó quản lý cũng có thể bị mất theo,
truy vấn sẽ không chính xác. Khi có một yêu cầu tìm kiếm, có thể sẽ không có kết quả
do không biết node đích còn nằm trong mạng hay không. Dữ liệu lưu trữ phân tán và
không có ràng buộc với các node, làm cho node nào đó có thể dễ dàng phát tán file rác,
virus trên mạng, bảo mật kém.

2.1.3. Các loại mạng ngang hàng

Các loại mạng ngang hàng được phân chia trong hình 2.1

Hình 2.1. Phân loại hệ thống mạng ngang hàng [1]
16


Tùy theo mục đích phân loại, ta có thể phân chia thành các loại mạng ngang
hàng. Nếu dựa vào sự liên kết giữa các node trong mạng ta có thể phân thành hai loại
mạng ngang hàng: không có cấu trúc và có cấu trúc.
Trong mạng ngang hàng không có cấu trúc, liên kết giữa các node được thiết
lập ngẫu nhiên, không theo một quy luật nào. Khi có yêu cầu tìm kiếm, gói tin tìm
kiếm sẽ được truyền boardcast. Nếu quy mô mạng lớn, có thể yêu cầu tìm kiếm này sẽ
không thành công do gói tin tìm kiếm chưa đến được đích thì TTL = 0 và gói tin sẽ bị
loại bỏ. Như vậy, nếu dữ liệu cần tìm chỉ được chia sẻ trên một vài máy thì xác suất
tìm kiếm là khá thấp, không có gì bảo đảm node lưu trữ dữ liệu cần tìm còn tồn tại
trong mạng hay không và như thế sẽ không có gì đảm bảo tìm kiếm sẽ thành công.
Bên cạnh đó, do không có định hướng, gói tin tìm kiếm sẽ được phát tràn trên mạng
gây tốn kém băng thông của hệ thống.
Với mạng ngang hàng có cấu trúc, những nhược điểm trên sẽ được khắc phục
bằng cách sử dụng bảng băm phân tán (DHT). Các node trong mạng được liên kết chặt
chẽ theo thuật toán cụ thể. Mỗi node sẽ quản lý một phần dữ liệu. Do đó, khi có yêu
cầu tìm kiếm, node mạng chỉ cần xác định node nào đó chịu trách nhiệm cho dữ liệu
cần tìm, sau đó liên lạc trực tiếp đến node đó để lấy dữ liệu. Như thế, khả năng mở
rộng của mạng ngang hàng có cấu trúc là rất lớn, các node tham gia hay rời bỏ mạng
cũng dễ kiểm soát hơn.
2.2. Bảng băm phân tán (DHT)
Bảng băm phân tán (Distributed Hash Table) phân tán dữ liệu trên các node và
thực hiện định tuyến cho việc tìm kiếm. Mỗi node trong DHT sẽ chịu trách nhiệm một

phần dữ liệu trên không gian định danh và lưu trữ một bảng định tuyến để truy vấn
hiệu quả hơn.

17


Hình 2.2. Mô hình bảng băm phân tán [2]
Để quản lý dữ liệu trong DHT, địa chỉ IP của một node được băm để xác định
vị trí của nó trong bảng băm, ví dụ: ID của node = SHA-1(địa chỉ IP). Còn mỗi file dữ
liệu sẽ được băm để gán một số định danh là khóa, ví dụ: Key = SHA-1(tên file) hoặc
SHA-1(nội dung file). DHT có một không gian địa chỉ để ánh xạ dữ liệu. Không gian
địa chỉ này thường gồm các giá trị nguyên trong khoảng từ 0 đến 2160 – 1.Ở đây, mỗi
dữ liệu được gán cho một node có định danh ID, key của dữ liệu giá trị duy nhất trong
không gian địa chỉ. Giá trị này có thể là ngẫu nhiên tùy theo ứng dụng, song ta thường
thông qua một hàm băm để chọn giá trị này như hàm băm SHA-1. Từ đó, ta sẽ biết
node có ID nào sẽ chịu trách nhiệm quản lý cho giá trị này.
Để định tuyến các gói tin tìm kiếm, DHT cung cấp cho mỗi node một bảng định
tuyến lưu trữ số lượng link giới hạn đến các node khác. Khi một node nhận được gói
tin tìm kiếm truy vấn đến một ID đích nào đó mà nó không chịu trách nhiệm quản lý
thì nó sẽ chuyển gói tin đó đến node khác. Quá trình này được lặp đi lặp lại cho đến
khi node đích được tìm thấy.
Một số mạng ngang hàng có cấu trúc dựa trên DHT là Chord, CAN, Pastry,
Tapestry … DHT được sử dụng trong nhiều ứng dụng như: hệ thống các file phân tán,
hệ thống chia sẻ file ngang hàng, hệ thống nội dung phân tán…
2.3. Chord
2.3.1. Khái niệm
Chord [7] là hệ thống mạng ngang hàng có cấu trúc quản lý lưu trữ dữ liệu và
tìm kiếm thông tin theo những cơ chế nhất định như: ánh xạ định danh của các node
và khóa của dữ liệu vào cùng một không gian định danh bằng cách sử dụng chung một
18



hàm băm là hàm băm SHA-1, duy trì các thông tin dò đường bằng các bảng định
tuyến, các cơ chế ổn định mạng khi có các node tham gia hay rời khỏi mạng.
2.3.2. Không gian định danh
DHT có các khóa là các định danh có độ dài m bit, đó là các số nguyên trong
khoảng [0, 2m – 1]. Chúng tạo thành một vòng tròn định danh một chiều modulo 2m và
nhận các giá trị trong khoảng từ 2m – 1 đến 0.
Chord được mô tả như một vòng tròn. Nếu số bit định danh của không gian mạng
Chord là n thì nó có thể chứa tối đa 2n node. Node và dữ liệu sẽ được gán một định
danh tương ứng, là các giá trị từ việc băm địa chỉ IP đối với node trong mạng và băm
các tên file hoặc cả nội dung file đối với dữ liệu. Định danh của node là một địa chỉ
trong mạng (ID). Còn định danh của dữ liệu là một khóa (key). Node trong vòng
Chord sẽ có các ID tăng dần theo chiều kim đồng hồ. Node sẽ duy trì liên kết hai chiều
với node liền trước và node liền sau nó tạo thành một mạch liên kết vòng. Các ID của
node sẽ chịu trách nhiệm quản lý tất cả các key đứng trước nó. Một cặp (k,v) k: key,
v:value đặc trưng cho dữ liệu sẽ được quản lý bởi node gần nhất tiếp theo có ID ≥ k.
Node đó gọi là successor của key k. Còn node đứng liền trước trong vòng tròn Chord
thì được gọi là predecessor.

Hình 2.3. Không gian định danh 6-bit của Chord [3]
2.3.3.Định tuyến
Mọi định danh trên Chord được sắp sếp theo trật tự. Nhờ vào việc sử dụng
DHT, các node trong Chord không cần biết tất cả các node trong mạng. Mỗi node chỉ
cần biết một số nhỏ thông tin định tuyến về các node khác trong bảng định tuyến của
mình. Mỗi cặp (k,v) chỉ được quản lý ở một node. Để tìm kiếm hiệu quả và nhanh
chóng thì cần tìm ra node chịu trách nhiệm quản lý key nào đó. Trên vòng định danh,
19



mỗi node sẽ lưu trữ một bảng định tuyến (finger table). Bảng định tuyến này sẽ trỏ đến
các node khác. Mỗi dòng trong bảng định tuyến sẽ lưu thông tin về một node ở xa.
Nếu vòng định danh có độ lớn là m bit thì bảng định tuyến sẽ có m dòng (entry).
Thường thì trong bảng định tuyến sẽ có hai cột: cột một tương ứng với ID đích (key),
cột hai tương ứng với successor của ID đó. Trong bảng định tuyến của node n, entry
thứ i có cột successor là successor quản lý key có giá trị là n + 2i – 1 với 1 ≤ ≤ . Như
vậy, một node n nào đó có thể xác định được vị trí của bất kỳ khóa k nào đó trong
mạng nhờ vào việc sử dụng bảng định tuyến.

Hình 2.4. Vòng tròn định danh Chord với 3 node [7]
2.3.4.Truy vấn trong vòng Chord
Khi node n cần tìm khóa k, node n sẽ đi xác định node chịu trách nhiệm lưu trữ
khóa k đó. Nếu node n ở xa so với vị trí của node lưu trữ khóa k, n có thể dựa vào
bảng định tuyến để chuyển tiếp truy vấn tìm node k đến các node xa hơn, cứ như vậy
sẽ tìm được node chịu trách nhiệm với khóa k. Cụ thể, node n sẽ tìm trong bảng định
tuyến của nó predecessor gần nhất của khóa k trên vòng tròn định danh, sau đó chuyển
truy vấn tới predecessor này. Các node sẽ tiếp tục chuyển tiếp truy vấn nhờ vào bảng
định tuyến của chính nó cho tới khi truy vấn này đến được node h mà tại đó k được
xác định là nằm giữa h và successor của h trên vòng tròn định danh. Khi đó, kết quả
truy vấn sẽ là successor của node h.
Thuật toán tìm kiếm successor của một id từ một node n như sau:

20


Ngoài việc thiết lập các bảng định tuyến để tìm kiếm hiệu quả, Chord còn có
các cơ chế ổn định mạng khi các node ra vào mạng một cách tùy tiện… Nếu có một
node bị hỏng thì dữ liệu bị mất của node bị hỏng đó có thể được sao chép tới các node
khác. Successor của node bị hỏng sẽ phải chịu trách nhiệm quản lý các key thay node
đó.

2.3.5. Cơ chế ổn định mạng trong vòng Chord
Do các node tham gia và rời bỏ mạng một cách tùy tiện nên Chord đưa ra cơ
chế ổn định mạng. Một node n muốn tham gia vào mạng, nó sẽ cần biết một node m đã
tham gia vào mạng rồi. Để node n tìm được successor của nó, node n sẽ truy vấn đên
node m chính ID của n. Khi đó, node n sẽ xây dựng bảng định tuyến của nó bằng cách
lặp lại truy vấn đến node m để tìm các successor của các node n+21, n+22, n+23,…
Để ổn định mạng thì tất cả các node phải thực hiện định kỳ cơ chế ổn định.
Trong đó, một node n sẽ yêu cầu successor của nó trả về predecessor h, nếu h chính là
node n thì n và successor của n vẫn sẽ là predecessor và successor của nhau, nếu h
nằm giữa n và successor của n thì n sẽ cập nhật h vừa tham gia vào mạng với tư cách
là successor của n. Sau khi node n đã biết predecessor, nó sẽ chép tất cả các khóa mà
nó chịu trách nhiệm nằm giữa predecessor(n) và n. Predecessor(n) sẽ giải phóng các
khóa này. Cứ như thế, sau một thời gian các con trỏ successor sẽ được cập nhật, hệ
thống được ổn định. Số node cần cập nhật bảng định tuyến là O(log(N)), trong đó N là
số node trong hệ thống.
2.4. Khái niệm liên quan đến tảiError! Reference source not found.
Để quản lý nhiều phân vùng khác nhau của không gian địa chỉ DHT trên cùng
node vật lý thì người ta dùng khái niệm server ảo (virtual server) [4]. Trong Chord,

21


một node vật lý có thể có nhiều server ảo. Mỗi server ảo quản lý một khoảng không
gian địa chỉ, còn node vật lý tương ứng với nó sẽ quản lý một vài khoảng độc lập.
Tải của một server ảo được xác định bởi số lượng dữ liệu mà nó lưu trữ. Tải của
một node vật lý là tổng của tất cả dữ liệu trên các server ảo thuộc nó quản lý. Như vậy,
tổng tải của cả hệ thống là tổng của các node tham gia vào mạng. Nếu hệ thống gồm N
node và khả năng của mỗi node giống nhau về băng thông, bộ nhớ, khả năng xử lý của
CPU.., để đạt trạng thái cân bằng tối ưu thì tải của từng node bằng 1/N tổng tải hệ
thống. Node nặng tải (overload) là node có tải cao hơn hẳn tải của các node khác trong

hệ thống. Node nhẹ tải là node có tải ít hơn tải của node tối ưu.
Tuy nhiên, trong thực tế mỗi node tham gia vào mạng có khả năng khác nhau.
Mỗi node vật lý ni khi tham gia vào mạng đều có một khả năng riêng capacity Ci. Đây
là lượng dữ liệu mà node có thể xử lý trên một đơn vị thời gian. Nếu node n có k các
server ảo v1, v2, …, vk lần lượt có tải là w1, w2, …, wk thì tải của n (workload) được tính
bằng tổng tải của các server ảo mà node đó có Wn = w1 + w2+…+wk. Node n nặng tải
khi Wn > Cn. Node nặng tải sẽ không có khả năng định tuyến hay xử lý các truy vấn
được gửi đến nó.
2.5. Nguyên nhân gây mất cân bằng tải
Nếu dữ liệu chỉ tập trung ở một số node thì các truy vấn sẽ tập trung đến các
node này, đến một mức nào đó sẽ vượt quá khả năng xử lý của node đó. Mạng ngang
hàng có cấu trúc dựa trên DHT có hạn chế là mất cân bằng tải giữa các node. Các giao
thức DHT được xây dựng đều có giả thiết là khả năng xử lý của các node và sự phân
bố của dữ liệu là đồng đều. Song, thực tế sự mất cân bằng tải giữa các node luôn xảy
ra. Dưới đây là một số nguyên nhân gây mất cân bằng tải trong hệ thống mạng ngang
hàng:
-

Không đồng đều định danh node. Các ID định danh node thường rơi vào
một khoảng nào đó với xác suất lớn do sử dụng hàm băm để xác định ID.
Không đồng đều định danh dữ liệu do sử dụng hàm băm để xác định chúng.
Heterogeneity: khả năng của các node tham gia vào mạng khác nhau về
băng thông, về khả năng xử lý của CPU và về khả năng lưu trữ.
Skew: dữ liệu của một node nào đó bị truy vấn nhiều hơn so với dữ liệu của
node khác, làm cho node đó phải chịu tải nhiều hơn.
Churn: Do một số nguyên nhân nào đó (như mất điện đột ngột…) nên các
node ra vào mạng tùy tiện. Khi node rời khỏi mạng, việc định tuyến sẽ hoạt
động không hiệu quả. Bên cạnh đó, tất cả các key mà node quản lý sẽ được

22



chuyển hết cho successor của nó. Nếu hiện tại successor đó đang đủ tải thì
điều này gây nặng tải cho nó.
2.6. Các phương pháp cân bằng tải hiện nay
Hiện nay trong mạng ngang hàng có cấu trúc đã có nhiều phương pháp cân
bằng tải sử dụng server ảo như k-choices [5], log (N) server ảo [5], di chuyển server
ảo: một-một, một-nhiều, nhiều-nhiều [6]… Các phương pháp di chuyển server ảo được
đánh giá là có kết quả tốt hơn các phương pháp cân bằng tải sử dụng server ảo còn lại.
Ở đây, trong khuôn khổ luận văn tôi xin đi tìm hiểu về các phương pháp cân bằng tải
di chuyển server ảo.
Các thuật toán này thực hiện cân bằng tải bằng cách di chuyển server ảo từ
node nặng tải sang node nhẹ tải. Khi chuyển server ảo từ node nặng tải h sang node
nhẹ tải l một server ảo là v thì phải thỏa mãn ba quy tắc dưới đây:
-

Chuyển server ảo v từ node h sang node l không làm cho node l nặng tải

-

Server ảo v có tải nhẹ nhất mà sau khi chuyển làm cho node h nhẹ tải
Nếu không có server ảo chuyển đi làm cho node h nhẹ tải thì chuyển
server ảo nặng tải nhất từ node h sang node l

Các phương pháp này cố gắng chuyển lượng tải nhỏ nhất có thể để làm cho
node nặng tải trở thành node nhẹ tải mà không thể làm cho node nhẹ tải nhận server ảo
không bị nặng tải. Nếu như không tìm được server ảo nào thỏa mãn thì chọn server ảo
nặng tải nhất của node nặng tải chuyển sang node nhẹ tải mà vẫn không làm node nhẹ
tải trở thành nặng tải. Như thế node nặng tải sẽ có thêm cơ hội để tìm node nhẹ tải
khác có thể chấp nhận tất cả các tải dư thừa của nó.

2.6.1.Phương pháp di chuyển server ảo một-một
Ý tưởng chung của phương pháp này là node nhẹ tải chọn một ID bất kỳ, sau đó
nó sẽ tìm node n chịu trách nhiệm quản lý cho ID này. Nếu node n là node nặng tải thì
thực hiện di chuyển server ảo từ node nặng tải sang node nhẹ tải. Việc chuyển server
ảo này được thực hiện theo các quy tắc di chuyển server ảo đã nói ở phần trên. Phương
pháp này có ưu điểm là chỉ có node nhẹ tải thực hiện tìm kiếm, giảm bớt công việc cho
các node nặng tải. Hơn nữa nó còn có ưu điểm là phân tán hoàn toàn. Hai node liên hệ
với nhau sẽ được chọn ngẫu nhiên và việc di chuyển sẽ được tiến hành nếu một node
là nhẹ tải, node còn lại là nặng tải.
2.6.2.Phương pháp di chuyển server ảo một-nhiều
Ý tưởng phương pháp này là một node nặng tải xét nhiều node nhẹ tải trong
cùng một thời điểm. Node nhẹ tải báo thông tin của nó cho các directory. Node nặng
23


tải sẽ lấy các thông tin của các node nhẹ tải bằng cách liên lạc với directory. Dựa vào
các directory, node nặng tải sẽ xác định được node nhẹ tải phù hợp để nó chuyển
server ảo đi.
Như vậy, ở đây ta sẽ duy trì các directory lưu trữ thông tin về tải của tập hợp
các node nhẹ tải trong mạng bằng cách sử dụng bảng băm phân tán DHT. Số directory
trong mạng nhỏ hơn rất nhiều so với số node. Ta sử dụng một hàm băm để lưu một
node nhẹ tải vào directory. Directory m sẽ được lưu ở node chịu trách nhiệm quản lý
định danh h(m), trong đó h cũng là một hàm băm.
2.6.3.Phương pháp di chuyển server ảo nhiều-nhiều
Phương pháp di chuyển server ảo nhiều-nhiều nối nhiều node nhẹ tải với nhiều
node nặng tải để thực hiện cân bằng tải. Kết hợp phương pháp di chuyển một-một và
một-nhiều, phương pháp này sử dụng global để quản lý các node và cân bằng tải cho
mạng. Global pool thực chất là một cấu trúc dữ liệu trung gian để di chuyển server ảo
từ node nặng tải sang node nhẹ tải. Điều này phá vỡ tính phân tán hoàn toàn của mạng
ngang hàng.

Phương pháp này thực hiện 3 giai đoạn: Loại bỏ tải dư thừa, Chèn và Hoán đổi.
-

Loại bỏ dư thừa: Ở giai đoạn loại bỏ tải dư thừa, tất cả các node đều trở
thành nhẹ tải bởi vì node nặng tải sẽ chuyển server ảo gây nặng tải cho
nó tới global pool đến khi trở thành nhẹ tải.

-

Chèn: Đến giai đoạn chèn, các server ảo từ global pool sẽ được chuyển
đến các node nhẹ tải sao cho không có node nào nặng tải. Đầu tiên, ta
chọn một server ảo nặng tải nhất từ global pool, chuyển nó đến node nhẹ
tải phù hợp nhất. Cứ thế, các server ảo sẽ được chuyển đi hết, hoặc
không thể chèn server ảo ở global pool vào bất kỳ node nhẹ tải nào. Nếu
không còn server ảo nào trong global pool thì kết thúc. Ngược lại,
chuyển sang giai đoạn hoán đổi.

-

Hoán đổi: Ở giai đoạn hoán đổi, server ảo nặng tải nhất v trong global
pool sẽ được hoán đổi với một server ảo v’nhẹ tải nhất của một node nhẹ
tải m sao cho Lm + load(v) – load(v’) ≤ Tm. Nếu hoán đổi được thì quay
lại bước chèn. Ngược lại, thuật toán kết thúc.

Như vậy, trong chương này ta đã tìm hiểu được những định nghĩa cơ bản về cân
bằng tải và các nguyên nhân cơ bản dẫn đến việc mất cân bằng tải trên các hệ thống
mạng ngang hàng có cấu trúc là do khả năng của các node tham gia vào mạng không
đồng đều, định danh node, định danh dữ liệu phân bố không đồng đều, truy vấn trên
24



mỗi node khác nhau, node vào ra một cách tùy tiện…. Đồng thời ta cũng đã tìm hiểu
được một số những thuật toán cân bằng tải tiêu biểu nhất di chuyển server ảo với ba
phương pháp là một-một, một-nhiều, nhiều-nhiều. Thuật toán di chuyển server ảo sử
dụng việc chuyển quản lý các server ảo từ node này sang node kìa để cân bằng tải cho
các node, phương pháp này có hiệu quả trong tất cả các trường hợp dẫn đến mất cân
bằng tải. Trong các phương pháp trên thì di chuyển server ảo nhiều-nhiều hiện là giải
pháp tốt nhất.

25


×