4.4. Các kết quả mô phỏng
4.4.1. So sánh trực tiếp hiệu năng của các thuật toán
để có được cái nhìn rõ ràng nhất về các tác dụng của các ựề xuất dựa trên giao thức kéo ựẩy xen kẽ, tôi ựã tiến hành thực hiện mô phỏng cả ba giao thức trên cùng một cấu hình mạng với 1000 nút mạng, kắch thước contact list là 16 và số lượng mảnh dữ liệu là 500.
Các kết quả mô phỏng trả về theo các ựộ ựo về thời gian hồn thành, độ trễ vận chuyển dữ liệu và tỉ lệ thành công với các thao tác kéo ựẩy ựược ựồ thị hóa theo hàm phân bố xác suất CDF dựa trên công cụ vẽ ựồ thị gnuplot.
Hình 30. So sánh thời gian hồn thành giữa ba thuật tốn cài đặt
Qua ựồ thị, chúng ta có thể thấy tổng thời gian hồn thành của thuật tốn cải tiến số 1 tốt hơn hẳn so với hai thuật tốn cịn lại. Gần như 100% các nút kết thúc việc truyền nhận dữ liệu trong khoảng 76,8 chu kỳ. Thuật toán cải tiến số 2 cũng có thời gian hồn thành tốt hơn so với thuật toán kéo ựẩy xen kẽ nguyên gốc.
Thực tế thì trên bảng số liệu thu ựược, thời gian hồn thành trung bình của thuật tốn 1 là 76,79 chu kỳ; thời gian hồn thành trung bình của thuật tốn 2 là 77,57 chu kỳ và thời gian hồn thành của giao thức kéo ựẩy xen kẽ nguyên bản là 77,83 chu kỳ. điều này là phù hợp với các dự ựoán của chúng ta do các thuật toán cải tiến ựều lựa chọn các hàng xóm có chọn lọc, thay vì lựa chọn một hàng xóm ngẫu nhiên như trong thuật tốn gốc; do đó xác suất kéo ựẩy mảnh dữ liệu tới các hàng xóm sẽ cao hơn thuật tốn gốc và từ ựó sẽ rút ngắn thời gian hồn thành hơn so với thuật tốn gốc.
Chúng ta cũng có thể giải thắch ựược việc thời gian hồn thành của thuật tốn 1 tốt hơn thời gian hồn thành của thuật tốn 2 một cách dễ dàng. Lý do bởi thuật toán 2 chúng ta lựa chọn các mảnh dữ liệu có số tuần tự nhỏ nhất mà nút hàng xóm khơng có dựa trên việc lựa chọn hàng xóm ngẫu nhiên trước. Việc lựa chọn hàng xóm ngẫu
nhiên trong thuật tốn 2 này vơ hình dung cũng mắc phải sai lầm tương tự thuật toán kéo ựẩy xen kẽ gốc.
Hình 31. So sánh độ trễ vận chuyển giữa ba thuật toán cài đặt
Kết quả ựồ thị so sánh ựộ trễ vận chuyển giữa ba thuật toán cài ựặt cho thấy thuật tốn 1 do có thời gian hồn thành tốt nhất nên ựộ trễ vận chuyển cũng khả quan hơn so với hai thuật tốn cịn lại. điều đó cũng cho thấy thuật tốn 2 dù có cải thiện hơn kết quả so với thuật toán kéo ựẩy xen kẽ gốc nhưng vẫn chưa có hiệu quả lắm trong việc làm giảm ựộ trễ vận chuyển dữ liệu. Nguyên nhân do với các mạng có kắch thước lớn, xác suất ựể lựa chọn ựúng ựược mảnh dữ liệu có số tuần tự nhỏ nhất mà nút hàng xóm chưa có, trong danh sách dữ liệu của nút hiện tại không cao. Dẫn tới xảy ra trường hợp bỏ trống chu kỳ. Vì vậy khơng chỉ tổng thời gian hoàn thành mà ngay cả ựộ trễ vận chuyển của thuật tốn 2 vẫn khơng tốt bằng thuật tốn 1.
Hình 32. So sánh tỉ lệ kéo đẩy thành cơng giữa ba thuật tốn cài đặt
Trong ba thuật toán cài ựặt, thuật tốn kéo đẩy xen kẽ nguyên gốc thể hiện kém hơn hẳn so với hai thuật toán cải tiến. Tỉ lệ tiếp nhận dữ liệu thành cơng của thuật tốn ngun gốc chỉ chủ yếu nằm trong khoảng 24,5% tới 35%. Trong khi với thuật toán cải tiến 1 và 2, tỉ lệ thành công cao hơn nhiều, nằm trong khoảng từ 27%-hơn 45%. Sự chênh lệch về tỉ lệ tiếp nhận dữ liệu thành công giữa hai thuật toán 1 và 2 cho thấy sự ựúng hướng trong việc lựa chọn có chọn lọc các mảnh dữ liệu và hàng xóm thực hiện thao tác tại các chu kỳ kéo ựẩy. Việc lựa chọn có chọn lọc rõ ràng ựã giúp cho xác suất chuyển mảnh dữ liệu thành công (xác suất ựẩy ựúng mảnh mà nút hàng xóm chưa có hoặc kéo ựúng mảnh mà nút hàng xóm ựã có) cao hơn hẳn so với việc lựa chọn ngẫu nhiên của thuật toán nguyên gốc.
để chắc chắn cho các kết luận của mình, chúng tơi cũng ựã thực hiện mơ phỏng trên các cấu hình mạng khác nhau và kết quả thu ựược ựều tương tự với kết quả ở trên.
Hình 33. So sánh thời gian hồn thành giữa ba thuật tốn cài đặt với cấu hình mạng 5000 nút, kắch thước contact list là 24 và số lượng mảnh tin là 500
Hình 34. So sánh độ trễ vận chuyển giữa ba thuật tốn cài đặt với cấu hình mạng 5000 nút, kắch thước contact list là 24 và số lượng mảnh tin là 500
Hình 35. So sánh tỉ lệ tiếp nhận dữ liệu thành cơng giữa ba thuật tốn cài đặt với cấu hình mạng 5000 nút, kắch thước contact list là 24 và số lượng mảnh tin là 500
Bên cạnh việc thực hiện các mô phỏng ựể chứng tỏ hiệu quả hơn hẳn của các ựề xuất mới dựa trên thuật toán kéo ựẩy xen kẽ nguyên bản, chúng tôi cũng ựồng thời thực hiện các mô phỏng ựể xem xét sự ảnh hưởng của kắch thước mạng, kắch thước contact list và ựộ lớn dữ liệu (thể hiện bởi số lượng các chunk) tới các ựơn vị ựo hiệu suất như thời gian hoàn thành và ựộ trễ vận chuyển. Việc này nhằm giúp chúng tơi có được cái nhìn hồn thiện hơn hiệu quả của các thuật tốn được ựề xuất.
4.4.2. đánh giá biến thiên hiệu năng theo kắch thước mạng
Hình 36. Tổng thời gian hoàn thành trong trường hợp kắch thước mạng thay đổi (thuật tốn 1)
Hình 37. Tổng thời gian hoàn thành trong trường hợp kắch thước mạng thay đổi (thuật tốn 2)
Hình 38. Tổng thời gian hồn thành trong trường hợp kắch thước mạng thay đổi (Thuật tốn kéo đẩy xen kẽ ngun gốc)
Hình 39. Độ trễ vận chuyển trong trường hợp kắch thước mạng thay đổi (Thuật tốn
Hình 40. Độ trễ vận chuyển trong trường hợp kắch thước mạng thay đổi (Thuật tốn
2)
Hình 41. Độ trễ vận chuyển trong trường hợp kắch thước mạng thay đổi (Thuật toán
Qua các ựồ thị ựưa ra chúng ta có thể thấy kắch thước mạng có ảnh hưởng rõ rệt tới tổng thời gian hồn thành nhưng lại khơng có nhiều ảnh hưởng lắm tới ựộ trễ vận chuyển. Kắch thước mạng càng lớn thì thời gian ựể các nút mạng có thể tiếp nhận ựược tồn bộ các gói dữ liệu cũng lớn theo. Tuy nhiên ựộ trễ vận chuyển trên từng mảnh dữ liệu thì khơng bị ảnh hưởng nhiều. điều này cho thấy tắnh ổn ựịnh của cả 3 thuật toán trong việc ựảm bảo chất lượng dịch vụ khơng phụ thuộc vào kắch thước mạng. Trong đó thuật tốn kéo ựẩy xen kẽ ngun gốc do khơng sử dụng nhiều ràng buộc về quan hệ giữa các nút trong mạng nên có vẻ ựảm bảo tắnh ổn ựịnh này hơn cả. Kết quả này cũng hoàn toàn phù hợp với các kết quả ựược ựưa ra trong bởi bài báo [18].
4.4.3. đánh giá biến thiên hiệu năng theo kắch thước danh sách hàng
xóm
Hình 42. Tổng thời gian hoàn thành trong trường hợp contact list size thay đổi (thuật tốn 1)
Hình 43. Tổng thời gian hoàn thành trong trường hợp contact list size thay đổi (thuật tốn 2)
Hình 44. Tổng thời gian hoàn thành trong trường hợp contact list size thay đổi (thuật tốn kéo đẩy xen kẽ ngun gốc)
Hình 45. Độ trễ vận chuyển trong trường hợp contact list size thay đổi (thuật tốn 1)
Hình 47. Độ trễ vận chuyển trong trường hợp contact list size thay đổi (thuật toán kéo đẩy xen kẽ nguyên gốc)
Như chúng ta có thể dễ dàng nhận thấy qua các ựồ thị ựưa ra, với cả ba thuật toán ựược cài đặt, khi kắch thước contact list tăng thì tổng thời gian hồn thành cũng như ựộ trễ vận chuyển của mạng ựều giảm. điều này góp phần chỉ ra sức mạnh của mạng truyền thông ngang hàng trong việc phân bố dữ liệu trên diện rộng. Do trong mạng ngang hàng, dữ liệu ựược phân phối không chỉ bởi một nguồn phát duy nhất mà bởi tất cả các thành viên tham gia mạng. Vì vậy, một nút mạng có càng nhiều hàng xóm trong danh sách contact list thì khả năng để nó nhận ựược dữ liệu nhanh và ựầy ựủ càng cao.
4.4.4. đánh giá biến thiên hiệu năng theo số lượng mảnh dữ liệu
Hình 48. Tổng thời gian hoàn thành trong trường hợp số lượng mảnh tin thay đổi (thuật tốn 1)
Hình 49. Tổng thời gian hoàn thành trong trường hợp số lượng mảnh tin thay đổi (thuật tốn 2)
Hình 50. Tổng thời gian hoàn thành trong trường hợp số lượng mảnh tin thay đổi (thuật toán kéo đẩy xen kẽ nguyên gốc)
Một ựiều khá thú vị khi khảo sát ảnh hưởng của sự thay ựổi số lượng gói tin ựối với thời gian hồn thành là tắnh chất tuyến tắnh của kết quả. Thời gian hoàn thành tỉ lệ thuận với số lượng mảnh tin ựược sinh ra bởi nguồn phát với phân bố xác suất tương ựối ựồng ựều. điều này có thể giải thắch do giả thiết của mô phỏng: nguồn phát với tốc ựộ khơng đổi rstr và các nút trong mạng cùng sử dụng một băng thơng như nhau.
Hình 51. Độ trễ vận chuyển trong trường hợp số lượng mảnh tin thay đổi (thuật tốn
1)
Hình 52. Độ trễ vận chuyển trong trường hợp số lượng mảnh tin thay đổi (thuật toán
Hình 53. Độ trễ vận chuyển trong trường hợp số lượng mảnh tin thay đổi (thuật toán
kéo đẩy xen kẽ nguyên gốc)
Khi số lượng mảnh tin ựược phát ựi thay ựổi, chúng ta có thể thấy qua các ựồ thị, thuật toán 1 tỏ ra ổn ựịnh hơn cả trong việc ựảm bảo duy trì độ trễ vận chuyển trong khi đó thuật tốn kéo ựẩy xen kẽ lại khơng ổn ựịnh lắm. điều này là do khi số lượng mảnh tin tăng, xác suất ựể một thao tác kéo ựẩy ngẫu nhiên có thể thành cơng trong thuật tốn kéo ựẩy xen kẽ sẽ giảm nhanh hơn là các thao tác kéo đẩy có chọn lọc ựược cài ựặt trong thuật toán cải tiến 1 và 2.
Như vậy, qua các kết quả mơ phỏng, chúng ta có thể thấy ựược các ựề xuất cải tiến trên cơ sở thuật toán và giao thức kéo ựẩy xen kẽ là hợp lý và hiệu quả. Không chỉ hiệu quả hơn giao thức gốc trong việc so sánh về tổng thời gian hồn thành, độ trễ vận chuyển, tỉ lệ chuyển phát thành công mà trong trường hợp số lượng mảnh tin thay ựổi hoặc kắch thước mạng và số lượng hàng xóm trong contact list thay ựổi.. các thuật toán mới cũng tỏ ra ổn ựịnh và tin cậy tương ựương, thậm chắ tốt hơn thuật toán gốc.
CHƯƠNG 5 Ờ KẾT LUẬN VÀ PHƯƠNG HƯỚNG TIẾP THEO
Khóa luận này là sự tổng hợp lại tồn bộ q trình thực hiện nghiên cứu của chúng tôi về truyền thông ựa phương tiện ngàng hàng theo phương thức kéo ựẩy và cụ thể là giao thức kéo ựẩy xen kẽ. Trong giao thức kéo ựẩy xen kẽ, các nút mạng liên hệ với các nút hàng xóm thơng qua việc lựa chọn ngẫu nhiên từ danh sách hàng xóm của nó ựể lần lượt kéo về các mảnh dữ liệu còn thiếu hoặc ựẩy ựi các mảnh dữ liệu nó đang sở hữu. Tận dụng nhược ựiểm có thể thấy ngay trong thiết kế thuật tốn kéo ựẩy xen kẽ ựó là các hàng xóm ựang ựược lựa chọn với phương thức ngẫu nhiên mà khơng có bất kỳ một cách thức chọn lọc nào khác; chúng tôi ựã cài ựặt bổ sung một thuộc tắnh cho các nút mạng tham gia giao thức. Dựa trên thuộc tắnh đó, chúng tơi ựã ựề xuất một phương pháp lựa chọn một cách có chọn lọc nút hàng xóm ựể kéo hoặc ựẩy dữ liệu; thay vì ln lựa chọn một cách ngẫu nhiên như trong thuật tốn gốc. Với cách thức đó, chúng tơi đã giúp giảm thiểu sự lãng phắ chu kỳ và ựường truyền do ựảm bảo các dữ liệu ựược chuyển tới ựúng hàng xóm ựang cần; ựồng thời cũng làm tăng xác suất chuyển phát thành công, rút ngắn thời gian hồn thành và ựộ trễ truyền thơng của các mảnh dữ liệu Ờ một ựơn vị ựo hiệu suất hết sức quan trọng trong truyền thơng ựa phương tiện thời gian thực.
để có thể phân tắch và bổ sung các ựóng góp của mình nhằm cải tiến giao thức kéo ựẩy xen kẽ áp dụng trong lĩnh vực phân bổ luồng truyền thông ựa phương tiện ngang hàng, chúng tơi đã sử dụng lại bản cài ựặt giao thức kéo ựẩy xen kẽ nguyên bản ựược chia sẻ dưới dạng mã nguồn mở trên mạng của các tác giả và cài ựặt bổ sung vào đó các sửa ựổi của mình. đồng thời chúng tơi cũng sử dụng bộ mơ phỏng PeerSim ựể thực hiện mô phỏng, ựánh giá các sửa ựổi. Kết quả thu ựược tương ựối khả quan khi các mô phỏng ựều chỉ ra các ựề xuất của chúng tơi đã có tác dụng và ựem lại có sự cải thiện ựáng kể trên các ựại lượng so sánh tỉ lệ chuyển phát dữ liệu thành công, tổng thời gian hoàn thành và ựộ trễ vận chuyển.
Tuy nhiên ựây mới là các kết quả cơ bản nhất. mới dừng ở mức lý thuyết và mô phỏng. Hy vọng trong tương lai, chúng tơi sẽ có thêm thời gian và cơ hội ựể hoàn thiện các sửa ựổi của mình, hồn thiện những ý tưởng mà chúng tôi chưa kịp thực hiện như ựề xuất một thuật toán hiệu quả hơn thuật toán 2 trên phương diện hạn chế tối ựa việc mảnh dữ liệu ựược ựẩy đi ln là mảnh dữ liệu có số tuần tự lớn nhất mà máy tắnh nhận ựược như trong thuật toán kéo ựẩy xen kẽ gốc và thuật tốn số 1. Chúng tơi cũng hy vọng có thể ựưa ra một phương pháp xây dựng hàng xóm tối ưu ngay từ ựầu thay vì
bao gồm tất cả các hàng xóm tham gia mạng mà chỉ hạn chế việc truyền phát dữ liệu trên một tập con các máy tắnh có cùng một mục đắch. Chúng tơi cũng mong muốn có được cơ hội có thể áp dụng ựược các sửa ựổi của mình vào trong thực tiễn cuộc sống, hiện thực hóa các nghiên cứu ở trên của mình.
TÀI LIỆU THAM KHẢO
Tiếng Anh
1. AD. A. Tran, K. A. Hua, and T. T. Do, ỘA Peer-to-Peer Architecture for Media Streaming,Ợ in IEEE JSAC: Special Issue on Advances in Overlay Networks, Vol.22, N.1, Jan. 2004.
2. Akamai home page. http://www.akamai.com.
3. Alessandro Russo, Damiano Carra, Renato Lo Cigno, "On Some Fundamental Properties of P2P Push/Pull Protocols" 1-4244-2426-9/08/$20.00 ẹ2008 IEEE
4. B. Quinn. Ip multicast applications: Challenges and solutions. 1998. 5. Bison home page. http://www.cs.unibo.it/bison/.
6. D. Pendarakis, S. Shi, D. Verma, and M. Waldvogel, ỘALMI: An Application Level Multicast Infrastructure,Ợ in Proc. USITS, Mar. 2001.
7. Delis home page. http://delis.upb.de.
8. Gnuplot. http://cs.ecs.baylor.edu/~donahoo/tools/gnuplot. 9. Icq home page. http://www.icq.com.
10. Kazaa home page. http://www.kazaa.com.
11. L. Bracciale, F. Lo Piccolo, D. Luzzi, S. Salsano, G. Bianchi, N. Blefari-Melazzi, "A push-based scheduling algorithm for large scale P2P live streaming"
12. Napa-Wine project. http://napa-wine.eu/.
13. M. Castro, P. Druschel, A. M. Kermarrec, A. Nandi, A. Rowstron, and A. Singh, ỘSplitStream: Highbandwidth Multicast in a Cooperative Environment,Ợ in Proc. ACM SOSP, Oct. 2003.
14. M. Zhang, Q. Zhang, and S. Yang, ỘUnderstanding the Power of Pull-based Streaming Protocol: Can We Do Better?Ợ IEEE Journal on Selected Areas in Communications, Dec. 2007.
15. Napster home page. http://free.napster.com.
16. N. Magharei and R. Rejaie, PRIME: "Peer-to-Peer Receiver-drIven MEshbased Streaming", in Proceedings of IEEE INFOCOM, 2007.
18. PeerSim Publications. http://PeerSim.sourceforge.net/pubs/desc.html
19. S. Banerjee, B. Bhattacharjee, and C. Kommareddy, ỘScalable Application Layer Multicast,Ợ in Proc. SIGCOMM, Aug. 2002.
20. S. Sanghavi, B. Hajek, and L. Massoulie, ỘGossiping with multiple messages,Ợ IEEE Transactions on Information Theory, Dec. 2007
21. Seti@home site. http://setiathome.berkeley.edu.
22. Stefan Schmid, Remo Meier, Roger Wattenhofer, Thomas Locher, "Push-to-Pull Peer-to-Peer Live Streaming", Computer Engineering and Networks Laboratory (TIK), ETH Zurich, 8092 Zurich, Switzerland
23. T. Locher, R. Meier, S. Schmid, and R. Wattenhofer, ỘPush-to-Pull Peerto-Peer