Kiến trúc siêu ngang hàng

Trong ba thập kỷ vừa qua, tính toán phân tán đã trở thành khuynh hướng chủ đạo trong ngành công nghiệp phần mềm, nó giải quyết được các vấn đề trong nhiều lĩnh vực như: ứng dụng thương mại, tính toán khoa học cũng như trong những hệ thống cộng tác quy mô lớn. Qua các giai đoạn phát triển, kiến trúc hệ thống phần mềm đã có những bước tiến vượt bậc, cùng với những tiến bộ của hệ thống phần cứng từ máy tính lớn (mainframe) trong những năm 1970, hệ thống client/server trong những năm 1980 đầu những năm 1990 và gần đây là hệ thống phân tán với kiến trúc ngang hàng vào những năm đầu của thập niên này.

 

1. Một số tôpô mạng thông dụng

1.1 Hệ thống tập trung (Centralized Systems)

Hệ thống máy tính tập trung là một trong những tôpô phổ biến nhất, thường được thấy dưới dạng mô hình Client/Server. Trong hệ thống này, tất cả các chức năng và thông tin được tập trung tại một máy server (đôi khi còn được coi như “hub”), còn các máy Client (spokes) được nối trực tiếp với tới Server để gửi và nhận thông tin. Luồng dữ liệu và luồng thông tin điều khiển đều được truyền tới máy Server, sau đó từ Server mới truyền tới các Client được yêu cầu. Nghĩa là, mọi công việc thực hiện đều phải thông qua Server.

Ưu điểm chính của hệ thống máy tính tập trung là sự đơn giản của nó. Vì tất cả dữ liệu đều được tập trung tại một vị trí nên việc quản lý hệ thống máy tính tập trung là dễ dàng. Đồng thời, hệ thống này cũng không gặp phải những vấn đề về tính nhất quán và chặt chẽ của dữ liệu. Hệ thống máy tính tập trung cũng tương đối dễ bảo mật vì chỉ có một host cần phải bảo vệ.

Hình 1: Hệ thống tập trung

Tuy nhiên, trở ngại của hệ thống này cũng chính bởi mọi thông tin đều tập trung tại hub. Do đó, hub là một điểm có thể gây lỗi trầm trọng cho hệ thống vì nếu hub gặp trục trặc, toàn bộ các ứng dụng client nối với hub cũng sẽ gặp trục trặc theo. Hub cũng là nơi làm đình trệ hiệu năng của hệ thống. Mặc dù kiến trúc Client/Server được chấp nhận rộng rãi tại các web-server hay các database-server nhưng nhược điểm về tính mở rộng và tỉ lệ gặp lỗi làm cho hệ thống này không thích hợp với việc triển khai ứng dụng phân tán đa năng.

1.2 Hệ thống ngang hàng thuần túy (Pure Peer-to-peer Systems)

Trong hệ thống này, tất cả các máy đều được nối với nhau. Mỗi máy trong hệ thống được gọi là một nút mạng (peer), chúng có vai trò như nhau. Trong toàn bộ hệ thống, không có một máy nào giữ vai trò điều khiển. Hoạt động của hệ thống dựa trên các trao đổi trực tiếp giữa các peer nhờ những liên kết được thiết lập giữa các peer tương ứng.

Hình 2: Hệ thống ngang hàng thuần tuý

Ưu điểm của hệ thống ngang hàng thuần túy là khả năng mở rộng được, bất kỳ nút nào cũng có thể tham gia vào mạng và sau đó, có thể truyền dữ liệu với các nút khác.

Tuy nhiên, hệ thống này lại bộc lộ nhược điểm: trong một hệ thống, có quá nhiều liên kết được thiết lập, mỗi một peer sẽ nối với (N-1) peer còn lại (với N là số máy trong mạng). Trong trường hợp tại cùng một thời điểm, một peer A nào đó nhận được các yêu cầu của tất cả (N-1) peer còn lại, hiện tượng quá tải sẽ xảy ra, điều này còn thể làm cho mạng gặp sự cố.

1.3 Hệ thống ngang hàng lai (Hybrid Peer-to-peer System)

Trong hệ thống này, mỗi máy đều được nối với tất cả các máy khác trên mạng, cách nối này mang đặc điểm của hệ thống ngang hàng thuần túy. Tuy nhiên, vẫn có một máy đóng vai trò Server trung tâm, Server này điều khiển hoạt động của mạng như một phần tử có thể kiểm soát toàn bộ các máy khác, đảm bảo tính chặt chẽ của thông tin trên mạng, đây là đặc điểm của hệ thống tập trung. Tất cả các luồng dữ liệu thông thường đều được truyền trực tiếp giữa các peer, chỉ các luồng thông tin điều khiển mới được truyền qua Server trung tâm.

Hình 3: Hệ thống ngang hàng lai

Những nhược điểm của việc quản lý điều khiển tập trung vẫn tồn tại trong hệ thống này. Nếu Server trung tâm gặp lỗi, hệ thống sẽ mất khả năng tác động tới những thay đổi trong luồng dữ liệu. Tuy nhiên, những ứng dụng đang có sẽ không chịu ảnh hưởng của lỗi server trung tâm vì luồng dữ liệu giữa các peer vẫn tiếp tục được truyền mà không quan tâm tới liệu Server trung tâm có đang làm việc hay không.

Việc định tuyến dữ liệu ngang hàng (peer to peer) cho phép hệ thống lai đưa ra khả năng mở rộng tốt hơn so với hệ thống tập trung, tuy nhiên, hệ thống lai vẫn hạn chế trong các vấn đề về tính mở rộng đối với thông tin điều khiển qua các nút. Trong khi hệ thống lai đang được sử dụng có hiệu quả cho một số ứng dụng, phương pháp này vẫn bị giới hạn trong phạm vi giải quyết những vấn đề ở quy mô nhỏ.

2. Kiến trúc siêu ngang hàng (Super-peer Architecture)

a. Khái niệm

Mỗi loại hệ thống ngang hàng có mức độ tập trung khác nhau. Đối với hệ thống ngang hàng thuần túy, tất cả các peer đều có vai trò và trách nhiệm như nhau. Trong hệ thống ngang hàng lai, quá trình tìm kiếm lại được thực hiện tại những thư mục tập trung.

Khác với những hệ thống nói trên, mạng siêu ngang hàng lại có cấu trúc trung gian. Mỗi super-peer (nút siêu ngang hàng) là một nút mạng hoạt động giống như Sever đối với một tập con các Client. Hình 4 minh họa mô hình của một mạng siêu ngang hàng.

Trong hệ thống này, mỗi Super-peer có vai trò như một Server, quản lý các Client thuộc nhóm của nó. Chẳng hạn, trong hình 4, Super-peer A giữ vai trò Server và quản lý các Client A1, A2, A3. Tương tự như thế đối với các Super-peer B và C.

Hình 4: Kiến trúc siêu ngang hàng

b. Mô tả hoạt động

Phần dưới đây sẽ mô tả hoạt động của hệ thống siêu ngang hàng qua việc tìm kiếm một file. Việc tìm kiếm diễn ra như sau:

– Nút mạng A cần tìm kiếm file 15, A gửi truy vấn tới Server quản lý nó là Hub 1

– Hub 1 gửi các truy vấn tới các Hub 2 và Hub 3

– Hub 2, Hub 3 chuyển tiếp truy vấn này tới các client do mình quản lý

– Tại Hub 3, sau khi gửi truy vấn đi, có các client C và B gửi đáp ứng trở lại là có file 15

– Nội dung trả lời truy vấn được gửi ngược lại, từ Client C, Client B về tới Hub 3, qua Hub 1 và tới nơi yêu cầu là Client A. Quá trình tìm kiếm kết thúc.

Hình 5: Hoạt động của mạng siêu ngang hàng

Như vậy, với kiến trúc siêu ngang hàng, rất khó xảy ra tình trạng mạng gặp lỗi nghiêm trọng, tức là lỗi khi tất cả các server đều không hoạt động được do quá tải. Sở dĩ có được điều này là do mạng siêu ngang hàng được tổ chức theo từng nhóm, gọi là các nhóm siêu ngang hàng. Mỗi nhóm này đều có một Server quản lý hoạt động của các Client trong vùng của nó. Tuy nhiên, với mạng có quy mô lớn, trong đó mỗi Server quản lý nhiều Client trong một nhóm siêu ngang hàng, hiện tượng quá tải vẫn có thể xảy ra. Để khắc phục điều này, người ta đưa ra một khái mới, đó là khái niệm mạng siêu ngang hàng dư (Super-peer Redundancy).

c. Mạng siêu ngang hàng dư (Super-peer Redundancy)

Một mạng siêu ngang hàng được gọi là mạng siêu ngang hàng dư cấp k nếu như có k nút mạng cùng chia sẻ tải tại điểm siêu ngang hàng. Hình 6 mô tả một mạng ngang hàng dư cấp 2, trong mạng này, tại mỗi super-peer, có 2 nút thực hiện chịu tải của mạng, do đó, gọi là mạng siêu ngang hàng dư cấp 2.

Đây là một cải tiến của mạng siêu ngang hàng thông thường, kiến trúc mạng theo kiểu siêu ngang hàng dư cấp k đáp ứng điều yêu cầu phát triển của hệ thống mạng có quy mô lớn.

Ưu điểm của mạng là có sự cân bằng tải tại các super-peer do đó mạng có độ tin cậy cao hơn so với mô hình siêu ngang hàng thông thường. Các client sẽ gửi truy vấn tới một trong k nút thuộc super-peer, điều này đã giải quyết được vấn đề lỗi trầm trọng của mạng siêu ngang hàng.


Hình 6: Mạng siêu ngang hàng dư cấp 2

3. Ưu điểm và nhược điểm của kiến trúc siêu ngang hàng

a.Ưu điểm

– Giảm thời gian và dải tìm kiếm: Trong mạng siêu ngang hàng, quá trình tìm kiếm sẽ được thực hiện nhanh hơn nhiều so với các tôpô khác, vì hệ thống lúc này được phân rã theo thông tin tìm kiếm từ một tập các mạng ngang hàng có quy mô nhỏ hơn, mỗi một mạng ngang hàng này có thông tin chú dẫn cho tập các máy của nó.

Lấy ví dụ, quá trình tìm kiếm mất khoảng thời gian là O(N) trong mạng ngang hàng hoặc mạng ngang hàng lai, cũng công việc tìm kiếm này nếu được thực hiện trong mạng siêu ngang hàng thì chỉ mất khoảng thời gian là O(N/M) (trong đó, M là số lượng nút trung bình được nối với một nút đơn). Điều này gần như loại trừ hoàn toàn tình trạng nghẽn mạng (thường đi liền với hệ thống sử dụng kiến trúc mạng ngang hàng thông thường).

– Tồn tại các đơn vị tự vận hành (Autonomous): Kiến trúc siêu ngang hàng xác định nhiều đơn vị tự vận hành cộng tác với các đơn vị khác. Mỗi một nhóm các máy siêu ngang hàng tương đương với một đơn vị tự vận hành với nghĩa là nó không phụ thuộc vào bất kỳ một máy trung tâm nào trong việc truyền tin.

– Dễ quản lý: Mạng siêu ngang hàng có các nút mạng có độ tin cậy cao hơn và đáng tin cậy hơn, có thể điểu khiển hoạt động của các nút mạng nối với chúng. Điều này đảm bảo những hành động phá hoại có thể được kiểm soát qua mạng.

– Cân bằng tải: trong mạng ngang hàng thông thường, mọi nút mạng chịu trách nhiệm như nhau mà không tương ứng với khả năng tính toán của chúng. Điều này có thể nhanh chóng làm giảm hiệu suất do mạng bị phân đoạn khi thêm vào những nút mạng có khả năng kém hơn.

Vấn đề này được giảm nhẹ trong kiến trúc mạng siêu ngang hàng vì chỉ có những máy tính đủ mạnh mới được tăng cấp lên trạng thái của hệ thống siêu ngang hàng. Điều này đảm bảo cho việc chia tải của mạng siêu ngang hàng được thực hiện theo đúng khả năng của từng nút mạng, làm tăng hiệu suất về mọi mặt của hệ thống.

b. Nhược điểm

– Mỗi điểm super-peer trở thành điểm gây lỗi cho nhóm siêu ngang hàng tương ứng trong trường hợp số lượng Client trong nhóm là rất lớn (tuy nhiên, nhược điểm này đã được giải quyết bằng việc cải tiến mạng siêu ngang hàng thông thường, đưa ra khái niệm siêu ngang hàng dư cấp k).

4. Kết luận

Mạng siêu ngang hàng có khá nhiều ưu điểm so với các kiến trúc mạng khác như: độ tin cậy, khả năng cân bằng tải, hiệu năng của hệ thống. Đây là các đặc điểm quan trọng đối với hệ thống mạng nói chung. Hơn thế nữa, kiến trúc siêu ngang hàng còn mang lại cho hệ thống tính linh hoạt cao vì từ tôpô mạng siêu ngang hàng, người ta có thể chuyên môn hóa và biến đổi thành tất cả các loại tôpô khác. Cụ thể là, nếu kích thước của một nhóm siêu ngang hàng (cluster) giảm xuống còn một thì mạng siêu ngang hàng sẽ trở thành mạng ngang hàng thuần túy. Nếu số lượng nhóm trong mạng giảm xuống còn một nhóm thì mạng siêu ngang hàng sẽ trở thành mạng ngang hàng lai. Bên cạnh đó, nếu sử dụng kiến trúc siêu ngang hàng dư cấp k thì sẽ giải quyết được những nhược điểm tồn tại của kiến trúc siêu ngang hàng thông thường. Kiến trúc siêu ngang hàng mang lại rất nhiều ưu điểm cho hệ thống, đem lại nhiều lợi ích cho người sử dụng. Vì vậy, có thể nói kiến trúc siêu ngang hàng sẽ trở thành tôpô mạng phổ biến trong tương lai.

TÀI LIỆU THAM KHẢO

[1] Fionaro Software, Inc, Super-peer Architecture for Distributed Computing.

[2] Pawel Garbacki, “Applying the Super-peer Concept to Existing Peer-to-peer Content Sharing Networks”, 15 December 2003.

[3] Fabrício Benevenuto José Ismael Jr., Jussara M.Almeida, Department of Computer Science, Federal University of Minas Gerais, Brazil, Quantitative Evaluation of Unstructure Peer-to-Peer Architectures

[4] Tyson Condie, Unstructured P2P Networks

http://www-db.stanford.edu/~prasanna/cs345/readings

[5] H. deMeer và K. Tutschku, An Application-level Active etworks Based Architecture for the Performance Management of Peer-to-Peer Services

 

(Theo Tạp chí Bưu chính viễn thông)

 

  superpeer.pdf

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: