Đánh giá hiệu năng của một số thuật toán bảng băm phân tán DHT và đưa ra giải pháp cải tiến hiệu năng của thuật toán CHORD - 12


nhân bản trong một số lớp khác. Đối với các node được nhân bản them thì nhân bản là không đối xứng, node này không nhân bản các item của các node trong các lớp nó được nhân bản bổ xung.

Các node trong các lớp liên kết với ID i được xác định như sau: fk: rk(i, x) = i (x − 1) + N/f + (k-1).N/f

Với N/f < N/k or f > k


k = 1 là mức nhân bản cơ sở.

k > 1 nhân bản bổ xung trong đó k được tính từ proxy dựa trên tần suất tìm kiếm

Quá trình duy trì

Thuật toán join

Khi một node n join vào hệ thống, nó sẽ kích hoạt sự kiện JoinReplication, sự kiện này gửi thông điệp RetrieveItems tới successor để lấy về các item n cần lưu. Thông điệp bao gồm các thông tin về các item nằm trong giải (pred,n], trong đó pred là ID của predecessor và n là ID của nó.

Có thể bạn quan tâm!

Xem toàn bộ 98 trang tài liệu này.

Khi successor nhận được thông điệp RetrieveItems, nó khởi tạo một mạng hai chiều rỗng ( f , N). Sau đó, các item liên kết với một ID trong giải xác định được sao từ bảng HashTable cục bộ tới mảng vừa tạo và được gửi trở lại trong thông điệp Replicate tới node vừa join vào mạng. Khi nhận được thông điệp Replicate, node mới join vào mạng sẽ sao các item trong mảng vào bảng HashTable cục bộ. Node mới lúc này sẽ sẵn sàng nhận truy vấn tìm kiếm từ các node khác trong hệ thống.

Thuật toán leave

Đánh giá hiệu năng của một số thuật toán bảng băm phân tán DHT và đưa ra giải pháp cải tiến hiệu năng của thuật toán CHORD - 12

Thuật toán leave làm việc tương tự như thuật toán join. Khi một node muốn leave khỏi hệ thống, nó sẽ kích hoạt sự kiện LeaveReplication, sự kiện này sử dụng sự kiện RetrieveItems để sao các item mà nó chịu trách nhiệm và gửi chúng trong thông điệp Replicate tới node successor.

Thuật toán chèn


Để chèn một item, node muốn chèn thực hiện quá trình chèn song song tới các node chịu trách nhiệm cho item.


event n.JoinReplication() from m

sendto succ.RetrieveItems(pred, n, n)

end event


event n.LeaveReplication() from m

sendto n.RetrieveItems(pred, n, succ)

end event


event n.RetrieveItems(start, end, p) from m

for r := 1 to f do items[r] := Æ i := start

while i 6= end do

i := i 1

items[r][i] := localHashTable[r][i]

end while end for

sendto p.Replicate(items, start, end)

end event


event n.Replicate(items, start, end) from m

for r := 1 to f do

i := start

while i 6= end do

i := i 1

localHashTable[r][i] := items[r][i]

end while end for

end event


Thuật toán 3.7. Quá trình tìm kiếm và chèn trong giải pháp nhân bản đối xứng


event n.InsertItem(key, value) from app

for r := 1 to f do

replicaKey := key (r − 1)Nf n.Lookup(replicaKey,AddItem(replicaKey, value,

r))


end for end event


procedure n.AddItem(key, value, r) localHashTable[key][r] := value

end procedure


event n.LookupItem(key, r) from app replicaKey := key (r − 1)Nf

Lookup(replicaKey,GetItem(replicaKey, r))

end event


procedure n.GetItem(key, r)

return localHashTable[r][key]

end procedure


Thuật toán 3.8. Join và leave trong trường hợp nhân bản đối xứng


Thuật toán xử lý failure


event n.FailureReplication( f ailed, predFailed, r) from m s := predFailed (r − 1)Nf

e := f ailed (r − 1)Nf

sendto n.StartBulkOwn((s, e], RetrieveItems(s, e, succ))

end event


Thuật toán 3.9. Xử lý failure trong nhân bản đối xứng


event n.StartBulkOwn(I, msg) from m

sendto n.BulkOwn(I, I, n, msg) Local message to itself

end event


event n.BulkOwn(I, R, next, msg) from m

MS := R ∩ (u(M), n] u(M) is same as pred

if MS 6= Æ then

Deliver(msg, MS) App is responsible for ids in MS


end if

limit := n lnext := next

sentsucc :=false

for i := M downto 1 do Node has M unique pointers

J := (u(i), limit]

if I J 6= Æ then

K := (u(i − 1), u(i)]

sendto u(i).BulkOwn(I J, I K, lnext, msg) I := I J Same as I := I − (I J)

limit := u(i) lnext := u(i) if i = 1 then

sentsucc :=true end if

end if end for

J := (n, u(1)]

if I J 6= Æ and sentsucc = false and next 6= u(1) then sendto u(1).BulkOwn(Æ, I J, limit, msg)

end if end event


Thuật toán 3.10. Thuật toán bulk owner operation


Kết luận


Sự phát triển mạnh mẽ và đa dạng của các thiết bị truy cập mạng như điện thoại, PDA, TV,… là một thách thức đối với mạng structured overlay hiện nay. Với sự xuất hiện của các thiết bị này, mạng trở nên bất ổn và kéo theo sự sụt giảm nghiêm trọng hiệu năng của mạng. Cải tiến hiệu năng của mạng trong điều kiện làm việc mới là bài toán đặt ra cho cộng đồng nghiên cứu peer-to-peer hiện nay.

Sau khi tóm tắt lý thuyết tổng quan về peer-to-peer, luận văn đánh giá, phân tích và so sánh hiệu năng của các DHT như Chord, Kademlia, Kelips và Tapestry trong điều kiện churn rate cao sử dụng phương pháp mô phỏng. Dựa trên cơ chế hoạt động của Chord, kết hợp với kết quả mô phỏng, luận văn đã chỉ ra hạn chế của giao thức Chord trong điều kiện churn rate cao và đưa ra các giải pháp nâng cao hiệu năng của giao thức này.

Trong giai đoạn tiếp theo, tác giả sẽ cài đặt các giải pháp nâng cao hiệu năng của Chord và đánh giá kết quả đạt được, trên cơ sở đó tác giả tiếp tục cải tiến hơn nữa các giải pháp để Chord đạt được hiệu suất cao trong môi trường truyền thông không dây.

Trong quá trình nghiên cứu, một số kết quả nghiên cứu đã được công bố trên các bài báo quốc tế và trong nước [ 15, 16, 17, 18].


Tài liệu tham khảo


[1]. Jinyang Li, Jeremy Stribling, Robert Morris, M. Frans Kaashoek and Thomer M. Gil. “A performance vs. cost framework for evaluating DHT design tradeoffs under churn”

[2]. Ion Stoica, Robert Morris, David Karger, Frans Kaashoek, and Hari Balakrishnan. “Chord: A scalable Peer-To-Peer lookup service for internet applications”. In Proceedings of the 2001 ACM SIGCOMM Conference, pages 149–160, 2001.

[3]. Ali Ghodsi. “Distributed k-ary System: Algorithms for Distributed Hash Tables”, PhD dissertation, KTH-Royal Institute of Technology, October 2006.

[4]. Ali Ghodsi, Luc Onana Alima, Seif Haridi. Symmetric Replication for Structured Peer-to-Peer Systems, DBISP2P2005, The 3rd International Workshop on Databases, Information Systems and Peer-to-Peer Computing, August 28-29, 2005, Trondheim, Norway

[4]. Ruud van Kessel. “Peer-to-peer storage: a survey on the common used techniques”, 2006

[5]. S. Rhea, D. Geels, T. Roscoe, and J. Kubiatowicz, “Handling churn in a DHT,” in roceedings of the 2004 USENIX Technical Conference, June 2004.

[6] J. Li, J. Stribling, T. Gil, R. Morris, and M. F. Kaashoek, “Comparing the performance of distributed hash tables under churn,” in Proceedings of the 3rd International Workshop on Peer-to- Peer Systems, Feb. 2004.

[7]. P. Maymounkov and D. Mazieres, “Kademlia: A peer-to-peer information system based on the XOR metric,” in Proceedings of the 1st IPTPS, Mar. 2002.

[8]. I. Gupta, K. Birman, P. Linga, A. Demers, and R. van Renesse, “Kelips: Building an efficient and stable P2P DHT through increased memory and background overhead,” in Proceedings of the 2nd IPTPS, 2003.

[9]. B. Y. Zhao, L. Huang, J. Stribling, S. C. Rhea, A. D. Joseph, and J. D. Kubiatowicz, “Tapestry: A resilient global-scale overlay for service deployment,” IEEE Journal on Selected Areas in Communications, vol. 22, no. 1, pp. 41–53, Jan. 2004.

[10]. K.P.Gummadi, R.Gummadi, S.Gribble, S.Ratnasamy , S.Shenker, and I. Stoica, “The impact of DHT routing geometry on resilience and proximity,” in Proceedings of the 2003 ACM SIGCOMM, Aug. 2003.

[11]. F. Dabek, M. F. Kaashoek, J. Li, R. Morris, J. Robertson, and E. Sit, “Designing a DHT for low latency and high throughput,” in Proceedings of the 1st NSDI, March 2004.

[12]. A. Gupta, B. Liskov, and R. Rodrigues, “Efficient routing for peer-to-peer overlays,” in Proceedings of the 1st NSDI, Mar. 2004.

[13]. Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim, “A Survey and Comparison of Peer-to-Peer Overlay Network Schemes” IEEE COMMUNICATIONS SURVEY AND TUTORIAL, MARCH 2004

[14]. P2PSIM home page, UHhttp://pdos.csail.mit.edu/p2psim/U

[15]. Giang Ngo Hoang, Hung Nguyen Chan, Thang Le Quang, “Performance study of distributed hash table mechanisms on p2p overlay network under extreme conditions”, International Symposium on Electrical-Electronics Engineering – ISEE 2007, Hochiminh, Vietnam.


[16]. Nguyen Chan Hung, Ngo Hoang Giang, Le Quang Thang, “Comparative study on Distributed Hash Table algorithms of P2P network”, Proceeding NOC2007 12th European Conference on Networks & Optical Communications.

[17]. “Performance Evaluation of Distributed Hash Table (DHT) Chord algorithm”, MCSE 2007, Proceeding of Modeling of Complex System and Environment MCSE 2007 by ISSAT (IEEE -

International Society of Science and Applied Technologies Conference), Hochiminh, Vietnam [18]. Hung Nguyen Chan, Giang Ngo Hoang, Thang Le Quang, Tan Pek Yew, “Performance study of

Chord, Kelips and Tapestry protocols on structured Peer-to-Peer Overlay networks”, in press,

Special issues of Post & Telecommunications & Information Technology Journal, 2008

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 26/04/2022