ĐẠ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Ệ
Trang 1ĐẠ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
Trang 2ĐẠ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
Trang 3LỜ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
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
Trang 44
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
Trang 5MỤ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 Error! Bookmark not defined 1.1.Bài toán cân bằng tải trong mạng ngang hàng có cấu trúcError! Bookmark not defined
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 Error! Bookmark not defined
1.3 Hướng tiếp cận của luận văn và kết quả đạt được Error! Bookmark not defined
1.4 Cấu trúc của luận văn Error! Bookmark not defined 1.5 Kết luận Error! Bookmark not defined
Chương 2 Các kiến thức cơ sở liên quan Error! Bookmark not defined
2.1 Mạng ngang hàng Error! Bookmark not defined
2.1.1 Khái niệm mạng ngang hàng Error! Bookmark not defined 2.1.2 Các đặc trưng của mạng ngang hàng Error! Bookmark not defined
2.1.3 Các loại mạng ngang hàng Error! Bookmark not defined 2.2 Bảng băm phân tán (DHT) Error! Bookmark not defined 2.3 Chord Error! Bookmark not defined
2.3.1 Khái niệm Error! Bookmark not defined 2.3.2 Không gian định danh Error! Bookmark not defined
2.3.3.Định tuyến Error! Bookmark not defined 2.3.4.Truy vấn trong vòng Chord Error! Bookmark not defined
2.3.5 Cơ chế ổn định mạng trong vòng Chord Error! Bookmark not defined 2.4 Khái niệm liên quan đến tải Error! Bookmark not defined 2.5 Nguyên nhân gây mất cân bằng tải Error! Bookmark not defined 2.6 Các phương pháp cân bằng tải hiện nay Error! Bookmark not defined 2.6.1.Phương pháp di chuyển server ảo một-một Error! Bookmark not defined 2.6.2.Phương pháp di chuyển server ảo một-nhiều Error! Bookmark not defined 2.6.3.Phương pháp di chuyển server ảo nhiều-nhiều Error! Bookmark not defined Chương 3 Giải pháp cân bằng tải phi tập trung mới Error! Bookmark not defined 3.1 Xây dựng Chord mới Error! Bookmark not defined 3.2 Chèn Error! Bookmark not defined 3.3 Hoán đổi Error! Bookmark not defined
Trang 66
Chương 4 Mô phỏng và đánh giá Error! Bookmark not defined
4.1 Bộ mô phỏng của Jonathan Ledlie Error! Bookmark not defined
4.2 Mô tả mô phỏng của giải pháp cân bằng tải mới Error! Bookmark not defined
4.3 Kết quả Error! Bookmark not defined
4.3.1 Lượng truy vấn trên một node thay đổi Error! Bookmark not defined 4.3.2 Độ lệch trong truy vấn giữa các node thay đổi Error! Bookmark not defined Chương 5 Kết luận Error! Bookmark not defined
TÀI LIỆU THAM KHẢO 11 12
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt Ý nghĩa
Trang 88
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 Error! Bookmark not defined Hình 2.2 Mô hình bảng băm phân tán Error! Bookmark not defined Hình 2.3 Không gian định danh 6-bit của Chord Error! Bookmark not defined Hình 2.4 Vòng tròn định danh Chord với 3 node [6] Error! Bookmark not defined 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 Error! Bookmark not defined Hình 3.2 Vòng Chord mới Error! Bookmark not defined Hình 3.3 Ví dụ vòng Chord Error! Bookmark not defined Hình 3.4 Sơ đồ thuật toán của giải pháp mới Error! Bookmark not defined Hình 4.1 Mô tả quá trình hoạt động của giải pháp mới Error! Bookmark not defined
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) Error! Bookmark not defined
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) Error! Bookmark not defined
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) Error! Bookmark not defined 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 Error!
Bookmark not defined.
Trang 9LỜ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
Trang 1010
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
Trang 11TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Bùi Thị Lệ Hằng (2009), Sử dụng thông tin gần kề vị trí trong khảo duyệt web,
Luận văn thạc sĩ trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
[2] Lê Anh Tuấn (2014), Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord
kép, Luận văn thạc sĩ trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
[3] Nguyễn Thị Mi (2009), Cân bằng tải trong các mạng ngang hàng có cấu trúc,
Khóa luận tốt nghiệp đại học trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Trang 1212
Tiếng Anh
[4] A Rao, K Lakshminarayanan, S Surana, R Karp, and I Stoica Load Balancing
in Structured P2P Systems In Proceedings of the Second International Workshop
on Peer-to-Peer Systems (IPTPS ’03), Berkeley, CA, February 2003
[5] J Ledlie and M Seltzer Distributed, secure load balancing with skew,
heterogeneity, and churn Technical Report TR-31-04, Harvard University, December
2004
[6] Sonesh Surana, Brighten Godfrey, Karthik Lakshminarayanan, Richard Karp, Ion Stoica (2004), Load Balancing in Dynamic Structured Peer-to-peer Systems
[7] I Stoica, R Morris, D Karger, M F Kaashoek, and H Balakrishnan Chord: A
scalable peer-to-peer lookup service for internet applications In Proceedings of the
ACM SIGCOMM ’01 Conference, August 2001