Node này chịu trách nhiệm gửi cập nhật tới các node sao có yêu cầu nên khắc phục tình trạng dư thừa thông điệp, khả năng xẩy ra tương tranh… Các giải pháp xây dựng, xử lý những vấn đề[r]
(1)Các cơng trình nghiên cứu phát triển CNTT Truyền thông Tập V-1, Số 17 (37), tháng 6/2017
Giải pháp hiệu đảm bảo quán liệu chia sẻ phân tán tảng P2P có cấu trúc
An Effective Solution for The Consistency of Data Sharing and Distribution on Structured P2P Substrate
Nguyễn Hồng Minh, Nguyễn Xuân Huy
Abstract: There are certain difficulties in ensuring the consistency of data sharing and distribution on structured P2P substrate because of the requirements of simultaneous processing interacted by many users and peer's input/output or updated speed This paper presents a high effective solution which is proposed for structured P2P substrate, uses the updated dissemination tree and proposes a method using buffer and index vectors in order to "condition" between the requests and processes of updating The experimental results conducted on Oversim are aimed at comparing the efficiency of new proposed solution with that of Nakashima The experimental results indicate that the new proposed is highly effective in ensuring the consistency (over 90%) and satisfies the requirements of latency of update propagation Especially, in case the peer’s input/output or updated speed is high, the new proposed also achieve greater efficiency
Keyword: P2P structured; data consistency; replica; replica node; updated dissemination tree I GIỚI THIỆU
Các ứng dụng chia sẻ liệu phân tán xây dựng mạng phủ P2P Gnutella [1], KazaA [2], Freenet [3]… ngày quan tâm nghiên cứu năm gần P2P gồm điểm (peer) liên kết logic tạo thành mạng phủ mạng vật lý, chẳng hạn Pastry [4], Tapestry [5], CAN [6], v.v… Trong đó, điểm khơng khả xử lý, tốc độ vào/ra, độ trễ truyền thông điệp băng thông sử dụng Hơn nữa, P2P cung cấp tảng
cho ứng dụng xây dựng phía kiến trúc phân tán có khả tự tổ chức, khả chịu lỗi đảm bảo yêu cầu sẵn sàng cao liệu chia sẻ
Nghiên cứu trước tập trung yêu cầu chia sẻ liệu phân tán tĩnh, chủ yếu có thao tác đọc, cập nhật node có độ ổn định cao Ngày nay, yêu cầu liệu chia sẻ cập nhật thường xuyên hay chí làm việc tương tác, đồng thời nhiều người dùng P2P WiKi [7], Social Networking [8], P2P collaborative workspace [9],v.v Hơn nữa, giải pháp cần giải khó khăn đặc trưng mạng P2P
Trong này, điểm chứa liệu chia sẻ gọi node Khi cập nhật node, thay đổi phải lan truyền theo phương thức hiệu tới node khác hệ thống Đây lược đồ đảm bảo quán khó khăn, thách thức chủ yếu ứng dụng chia sẻ liệu phân tán [10] Chẳng hạn, cách thức đơn giản node chịu trách nhiệm với khóa (được gọi node chính) lưu trữ thơng tin tất node chứa (gọi node sao) Khi thực cập nhật mới, node gửi thơng báo trực tiếp tới tất node Tuy nhiên, với cách thức node dễ trở nên q tải, số lượng node tăng nhanh, tốc độ cập nhật vào/ra node cao
Các hướng nghiên cứu chia thành lớp giải pháp sau:
(2)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017 làm ngập Hướng nghiên cứu có ưu điểm thực
hiện đơn giản, đáp ứng yêu cầu sẵn sàng cao liệu chia sẻ Tuy nhiên, nhược điểm chi phí truyền thông hiệu (do dư thừa, trùng lặp), độ trễ lớn khả xẩy tương tranh cập nhật liệu đồng thời Hơn nữa, giải pháp đảm bảo quán xác suất, ngẫu nhiên quán yếu
Hai là, lớp giải pháp cho P2P có cấu trúc: xây dựng phía mạng phủ P2P bổ trợ lan truyền cập nhật (cây cập nhật) Bất kỳ node cập nhật sử dụng Tuy nhiên thay đổi phải gửi node gốc Node chịu trách nhiệm gửi cập nhật tới node có yêu cầu nên khắc phục tình trạng dư thừa thơng điệp, khả xẩy tương tranh… Các giải pháp xây dựng, xử lý vấn đề cấu trúc, thực lan truyền cập nhật khác đạt kết như: khắc phục nhược điểm nêu lớp giải pháp cho P2P khơng có cấu trúc, đảm bảo độ tin cậy cao yêu cầu đảm bảo quán theo thiết kế đề Tuy nhiên, tồn hạn chế xây dựng phương thức cập nhật, dẫn đến tình trạng chưa hiệu yêu cầu độ trễ, sử dụng thông điệp, mức độ quán… Đặc biệt cập nhật xẩy tắc nghẽn làm giảm độ tin cậy, ổn định phát sinh nhiều chi phí
Để vượt qua khó khăn trên, đề xuất giải pháp đảm bảo quán liệu chia sẻ theo mơ hình tuyến tính [10] Trong sử dụng cập nhật d-ary, gồm node đối tượng liệu chia sẻ Node sử dụng vùng đệm (buffer) lưu vectors số để quản lý cập nhật hiệu Kết nghiên cứu có đóng góp mới:
Đề xuất giải pháp hiệu xử lý tốc độ vào/ra cập nhật node; phân cấp hợp lý chịu trách nhiệm cập nhật, “điều hòa” yêu cầu cập nhật thực cập nhật Hơn nữa, đề xuất phương pháp chống tắc nghẽn linh hoạt, hiệu
Chúng sử dụng ứng dụng Oversim [11] để thực nghiệm giải pháp giải pháp Nakashima đề xuất [12] mạng phủ Pastry Kết
chỉ giải pháp có hiệu cao yêu cầu đảm bảo quán (trên 90% cập nhật), đáp ứng yêu cầu độ trễ lan truyền cập nhật Đặc biệt, trường hợp node có tốc độ vào/ra cập nhật lớn, giải pháp cho hiệu cao Phần cịn lại báo trình bày sau: Phần II giới thiệu tổng quan nghiên cứu đề xuất; phần III mô tả giải pháp; phần IV tiến hành thực nghiệm so sánh kết quả; phần V trình bày kết luận báo
II MỘT SỐ NGHIÊN CỨU LIÊN QUAN
Datta [13] sử dụng cho P2P khơng có cấu trúc ổn định phương thức lan rộng cập nhật Trong đó, node có thơng tin tập node khác Node đẩy (Push) cập nhật tới node khác mà có thơng tin Khi liên kết vào cấu trúc, node thực kéo (Pull) gần để sử dụng Giải pháp đảm bảo quán xác suất, quán yếu tốn chi phí thơng điệp trùng lặp Wang [14] phát triển tổ chức node thành chuỗi liên kết logic Mỗi node có thơng tin (định danh ID địa IP) node kề hướng Như vậy, node có thơng tin node kề, gọi node thăm dò Khi cập nhật, node đẩy tới node thăm dò online Node thăm dò xa hướng nhận lại tiếp tục gửi theo hướng tất node nhận Giải pháp giảm chi phí truyền thơng (70%) so với sử dụng phương thức lan rộng
(3)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017 node chịu trách nhiệm (swarm server), node khác
được gọi node phụ thuộc (client) Khi client cập nhật, gửi đến swarm server để lan truyền cập nhật động tạo từ swarm server Trong swarm server gửi cập nhật node gốc, swarm server khác liên kết dựa vào khoảng cách Các giải pháp sử dụng cập nhật động có ưu điểm khơng tốn chi phí trì cấu trúc cây, nhiên có khó khăn để xác định khoảng cách khả node thực tế Vì trường hợp tốc độ cập nhật node không cao, giải pháp tỏ có hiệu chi phí, độ trễ số lượng thơng điệp Ngược lại giải pháp hiệu tốn chi phí xây dựng cập nhật
Chen [17] đề xuất giải pháp SCOPE phân chia liên tiếp tất node mạng phủ P2P có cấu trúc dựa vào không gian định danh thành phân vùng Node chịu trách nhiệm khóa không gian định danh ban đầu node gốc Mỗi phân vùng có node đại diện lưu thơng tin vị trí node Chỉ node thực chứa Yêu cầu/hủy cập nhật gửi từ node tới node gốc thông qua node đại diện Node gốc gửi cập nhật trực tiếp tới node sau xác định yêu câu thông qua node đại diện Giải pháp giảm chi phí truyền thông, tránh tương tranh cập nhật Tuy nhiên, node không chứa tham gia vào cập nhật, nên số lượng node lớn node phải tham gia vào nhiều khác Điều dễ dẫn đến tải, tăng chi phí xây dựng, trì cấu trúc; tăng độ trễ lan truyền cập nhật Nakashima [12] đề xuất sử dụng cập nhật gồm node Các node liên kết vào cấu trúc theo thứ tự thời gian đến Node gốc nhận cập nhật tất node nhận trước Do vậy, có hiệu so với SCOPE số lượng thông điệp trao đổi, độ trễ, nhiên giải pháp Nakashima hạn chế mức độ đảm bảo quán (tốc độ loại bỏ cập nhật thường xấp xỉ 95%) hay độ trễ lan truyền cập nhật node có tốc độ vào/ra cập nhật tăng cao
III GIẢI PHÁP III.1 Khái quát
Chúng sử dụng mạng Pastry để làm ví dụ minh họa cho giải pháp đề xuất Pastry sử dụng hàm băm phân tán để định danh ID cho node liệu chia sẻ không gian định danh 128 bit (tập hợp [0, -1]) ID node i (ký hiệu ) băm từ địa IP ID liệu băm từ tên tập tin Các node liên kết logic tạo thành mạng phủ Pastry (Hình 1), thực trao đổi thông điệp lẫn nhờ bảng định tuyến Mỗi node phân hoạch để chịu trách nhiệm cho vùng khơng gian khóa gọi node khóa
III.2 Xây dựng cấu trúc cập nhật
Mỗi đối tượng liệu chia sẻ f, giải pháp đề xuất xây dựng cập nhật tĩnh d-ary (mỗi node có tối đa d node con) gồm node chứa f Trong đó, node node gốc cập nhật (ký hiệu R) Mỗi node có biến cục Child, Count tập node số lượng node phía dưới, tính
Khi node P có yêu cầu liệu chia sẻ f, gửi yêu cầu liên kết vào cập nhật (request_join) tới R theo định tuyến mạng phủ R nhận yêu cầu thi hành thuật tốn AGLINK (trình bày đây) để liên kết P vào cập nhật Tiếp theo P yêu cầu từ node cha
Điểm(Điểm khơng có sao) Node (Điểm có sao)
(4)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
Thuật toán ALGLINK node yêu cầu chia sẻ liệu f:
ALGLINKd-Ary Construction(R,P)
Input: P gửi request_jointới R
Output: Node cha P
Begin
Pgửi request_join tới R // P khởi tạo biến cục
:= {} //tập rỗng
: =
If R có d Node conThen
=
+ =
ReturnR
If else
R gửi thông điệp yêu cầu tới node Q có nhỏ số node của R lặp lại tìm node K thỏa mãn (có d node có nhỏ nhất)
=
+ =
ReturnK
End
Hình minh họa phương thức xây dựng cập nhật 2-Ary (mỗi node có tối đa node con) cho liệu chia sẻ f Ban đầu node chọn node gốc Node gửi yêu cầu liên kết vào tới node nhờ định tuyến mạng phủ Node kiểm tra chưa có node con, nên node liên kết làm node trái node Tiếp theo, node gửi yêu cầu tới node Node kiểm tra có node trái Vì vậy, node
được liên kết làm node phải node Khi node gửi yêu cầu tới node 0, node có đủ node con, gửi yêu cầu xuống cho node để yêu cầu thực tương tự, kết node liên kết làm node trái node
III.3 Các thao tác
Node có sử dụng Để điều hịa u cầu thực cập nhật có hiệu cao (giảm tắc nghẽn, độ trễ tăng mức độ quán) node cập nhật sử dụng biến cục bộ:
Vectors bit số: ghi yêu cầu cập nhật từ node nhằm mục đích có thơng tin vị trí node u cầu cập nhật Trong đó, bit ghi u cầu node đó, bit cho node từ trái qua phải Bit node tương ứng có/khơng u cầu cập nhật
Buffer kích thước : buffer có ghi ghi có phần tử Phần tử chứa Độ lớn độ lệch tối đa sử dụng Buffer nhận từ node cha xóa cũ cập nhật cho tất node cho Thành phần bit gồm để trống phiên đã/chưa cập nhật cho node tương ứng khơng có node vị trí Như vậy, tất ghi chứa bit , tức chưa cập nhật cho tất node mà chịu trách nhiệm
Yêu cầu cập nhật: node gửi yêu cầu cập nhật
mới lên node cha có yêu cầu Node gửi yêu cầu cập nhật lên node cha buffer khơng có u cầu Node cha nhận yêu cầu ghi bit vào vectors, tương ứng vị trí node u cầu
Trong Hình 3, vectors có bit node Y ra: yêu cầu cập nhật từ node Z node Y (tương ứng với bit vectors), node K không yêu cầu cập nhật (tương ứng với bit 0)
Cập nhật: node cập nhật cục
gửi trực tiếp tới node gốc theo định tuyến mạng phủ Pastry Node gốc lưu vào buffer theo thứ tự thời gian đến , ,…
4
(5)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
Bảng Buffer node Y trước sau cập nhật
Lan truyền cập nhật: node gốc chịu trách nhiệm
gửi xuống phía theo yêu cầu node thực tương tự Các node kiểm tra vectors để biết yêu cầu cập nhật Nếu yêu cầu có buffer, node gửi xác dựa vào thơng tin vectors Khi node đồng thời ghi bit vào vị trí tương ứng với node nhận cập nhật, ghi Nếu phiên yêu cầu chưa có buffer buffer trống, node gửi yêu cầu lên node cha Mỗi node chịu trách nhiệm cập nhật cho node Phương thức “điều hòa” yêu cầu thực cập nhật Do node không trở nên tải xẩy tương tranh tắc nghẽn node cập nhật
Ví dụ Hình Bảng 1a, b, node Y kiểm tra vectors biết node Z node Y có u cầu cập nhật Node Y cập nhật cho đồng thời ghi bit vào vị trí tương ứng ghi chứa
Node Y cập nhật cho node Z Hơn node Y đồng thời xóa ghi chứa Chẳng hạn node K có yêu cầu cập nhật, node Y kiểm tra buffer thấy cập nhật tới node K Vì vậy, node Y gửi yêu cầu cập nhật lên node cha node X
III.4 Duy trì cấu trúc
Mỗi node sử dụng ancestor lưu thơng tin node cha tính từ node cha trực tiếp node gốc Ancestor cập nhật đồng thời thực cập nhật Node sử dụng thông điệp trao đổi thường xuyên với node cha để phát rời bỏ cấu trúc node cha Khi node cha rời bỏ, node độc lập phát tìm cách liên kết trở lại cấu trúc dựa vào thông tin ancestor thực theo trình tự từ lên tới node gốc Trường hợp node gốc rời bỏ, mạng phải chịu trách nhiệm tìm node để thay Giả sử xác suất node rời bỏ cấu trúc η theo phân phối Poisson Vậy xác suất để node tìm liên kết trở lại 1-
Trường hợp node liên kết trở lại node đại diện cho làm tăng chiều cao lớn 1, nên xây dựng cập nhật thuật toán cân truyền thống Hơn nữa, ứng dụng có tốc độ vào/ra node lớn việc tối ưu chiều cao khó khăn, phức tạp không cần thiết Trong giải pháp đề xuất, node trì, cập nhật dễ dàng biến cục Child, Count nhằm tính tốn cho cân số lượng node, giảm chiều cao cập nhật node liên kết vào hệ thống (node đơn con) Phương pháp thực đơn giản nhiên đảm bảo hiệu cao so với giải pháp tối ưu hóa chiều cao cập nhật III.5 Giải tắc nghẽn
Ngay buffer đầy có yêu cầu cập nhật mà node có khơng xẩy tắc nghẽn, node đảm bảo phục vụ Vì vậy, giải pháp đề xuất xẩy tắc nghẽn buffer node đầy nhận thêm yêu cầu cập nhật khơng có buffer Điều tốc độ cập nhật không cân node
R
Z X Y
K M
Hình Minh họa thao tác bản
(6)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017 Cụ thể hơn, có hai trường hợp dẫn đến buffer đầy
như ví dụ Bảng trình bày sau Để phịng ngừa tắc nghẽn, giải pháp đề xuất xử lý buffer đầy mà khơng đợi đến có u cầu khơng có buffer cách hỗn đổi liên kết node cho phù hợp nhằm giải phóng buffer đầy Nhờ vậy, phòng ngừa tượng tắc nghẽn
Bảng Buffer node Y đầy
Hình Minh họa trường hợp chống tắc nghẽn Thứ nhất, tốc độ cập nhật node Y nhanh nhiều (Bảng 2a) so với node Z, K dẫn tới buffer đầy node Y biết node Z node có tốc độ yêu cầu cập nhật chậm Do node Y tìm kiếm node M có tốc độ yêu cầu cập nhật tương đồng với node K để hoán đổi liên kết với node Z (Hình 4) Node M node Z đồng thời hoán đổi số tương ứng buffer Lưu ý node M có tốc độ cập nhật nhanh node Z, cập nhật Do vậy, buffer lúc node Y xóa cập nhật cho Node Y, K, M (Bảng a, b)
Thứ hai, node yêu cầu cập nhật nhanh Ví dụ Bảng 2b, node K có tốc độ cập nhật nhanh nhiều so với node Y Z Node Y chọn node K để thay Node Y liên kết vào K vị trí phù hợp với tốc độ yêu cầu cập nhật (Hình 5) Giải phóng truyền thông tin buffer thực tương tự trường hợp
Bảng 3. Giải phóng buffer node Y
Hình Minh họa trường hợp chống tắc nghẽn IV ĐÁNH GIÁ THỰC NGHIỆM
Thực nghiệm sử dụng Oversim mô giải pháp giải pháp Nakashima đề xuất mạng phủ Pastry Chúng lựa chọn so sánh với Nakashima nghiên cứu tiêu biểu, hiệu mạng phủ P2P có cấu trúc Kết thực nghiệm đánh giá ảnh hưởng tham số đặc trưng P2P như: gia tăng số lượng node sao, tốc độ cập nhật vào/ra node, hiệu giải pháp dựa tiêu chí đánh giá quan trọng hệ thống chia sẻ liệu phân tán:
Độ trễ lan truyền cập nhật: thời gian trung bình
nhận tất node M
Z X
Y
K
M Z
X Y
(7)Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
Mức độ đảm bảo quán: tỷ lệ
được cập nhật cho tất node tổng số cập nhật gửi tới node gốc
Tham số cấu hình cho mạng phủ Pastry gồm: Mạng có node Mỗi node có bảng định tuyến gồm 40 hàng, hàng có 15 thực thể, 32 node Sự không node sinh phân phối Pareto [18] với thiết lập a = b = (a b tham số cận cận hàm phân phối Pareto) để có node có khả khác
Tham số ứng dụng mô phỏng: Độ dài mô 1000 đơn vị thời gian Mỗi file liệu có số lựợng từ đến 5000 theo phân phối Zipf [19] Tốc độ cập nhật, tốc độ vào/ra node theo phân phối Poisson Bậc node d = 16 Buffer có độ lớn b = 20 Kết biểu đồ kết trung bình 10 lần thử
IV.1 Độ trễ lan truyền cập nhật
Tốc độ vào/ra node tính tỷ lệ thời gian node tham gia chia sẻ liệu độ dài thời gian tiến hành thực nghiệm Trong giải pháp Nakashima, tốc độ vào/ra node nhỏ gửi thành công từ node gốc tới tất node Ngược lại, giải pháp cần thêm nhiều chi phí thời gian dừng hệ thống để xử lý yêu cầu vào/ra node Với giải pháp đề xuất, node chủ yếu nhận sẵn có từ node cha Vì hệ thống ln trì ổn định cao độ trễ lan truyền cập nhật node cha rời bỏ có tác động đáng kể Kết Hình ra, giải pháp đề xuất có độ trễ ổn định, khơng tăng nhanh tốc độ vào/ra node tăng Hơn nữa, giải pháp có hiệu tốt giải pháp Nakashima đề xuất node có tốc độ vào/ra lớn 0.425
Khi số lượng node chia sẻ liệu tăng chiều cao cập nhật tăng nên độ trễ trung bình tăng theo hai giải pháp Tuy nhiên, độ trễ lan truyền qua bước nhỏ, nên giải pháp Nakashima, số lượng node tăng độ trễ ổn định nhỏ Trong giải pháp phải tốn thêm độ trễ cập nhật gửi có u cầu
Chính vậy, kết Hình 7, giải pháp Nakashima có kết ổn định tốt
Chúng tơi giả sử thời gian thực nghiệm, trung bình node thực tối đa 200 cập nhật Kết Hình ra: Khi tốc độ cập nhật 160 hai giải pháp cho kết tương đồng Tuy nhiên, tốc độ lớn giải pháp đề xuất có độ trễ tốt Đặc biệt, giải pháp Nakashima có độ trễ tăng so với tốc độ cập nhật, giải pháp đề xuất giữ độ trễ ổn định Lý vì, giải pháp Nakashima, tốc độ cập nhật tỷ lệ thuận với số lượng node cần cập nhật node gốc Từ dẫn đến độ trễ tăng Tuy nhiên giải pháp đề xuất chịu ảnh hưởng tốc độ cập nhật node nhận từ node cha
Hình Ảnh hưởng tốc độ vào/ra
Hình Ảnh hưởng gia tăng số lượng node