5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.3 Thời gian thi hành thực nghiệm tính độ trung tâm gần
Kết quả thực nghiệm thu được cho phép khẳng định giải pháp song song để tính độ trung tâm gần của chúng tơi trong bigGraph có hiệu năng tốt hơn so với những bộ cơng cụ cịn lại. Bảng 4.4 cho thấy hệ số tăng tốc của bigGraph đối với cả 6 bộ dữ liệu đều nhanh hơn từ 1,27 đến 2,12 và từ 14,78 đến 68,21 so với 2 bộ cơng cụ cịn lại, lần lượt là TeexGraph và NetworKit.
Bảng 4.4: Hệ số tăng tố của bigGraph so với TeexGraph và NetworKit khi tính độ trung tâm gần
Bộ dữ liệu TeexGraph/bigGraph NetworKit/bigGraph
ego-Facebook 1,66 14,78 gemsec-Facebook Politician 1,27 21,23 gemsec-Facebook Artist 1,53 28,56 DBLP 2,12 21,87 Flickr 1,75 Youtube 2,04 68,21
Đối với việc đánh giá tính đúng đắn của ba bộ công cụ này khi thi hành song song, chúng tôi đã sử dụng bộ cơng cụ NetworkX để tính tuần tự độ trung tâm gần của các đồ thị sử dụng trong thực nghiệm và lưu ra tệp. Tệp này được sử dụng để so khớp với kết quả tính độ trung tâm gần của cả bigGrap, TeexGraph và NetworKit thi hành song song với 36 luồng. Kết quả thực nghiệm khẳng định cả ba giải pháp này đều có kết quả trùng khớp với kết quả đã sinh ra từ công cụ NetworkX.
Như vậy, thực nghiệm với tất cả sáu bộ dữ liệu, giải pháp bigGraph đều thi hành q trình tính độ trung tâm gần trong thời gian ngắn hơn. Kết quả này minh chứng hiệu năng của bigGraph đã được cải thiện so với những bộ cơng cụ phân tích mạng xã hội điển hình hiện nay. Hiệu năng bigGraph được cải thiện rõ ràng dựa vào (i) cấu trúc dữ liệu đồ thị phù hợp (cho phép giảm thời gian truy cập dữ liệu đồ thị trong bộ nhớ chính nhờ tổ chức liền kề và sử dụng mảng bitmaps để đánh dấu các đỉnh đã duyệt) và (ii) phương thức song song hoá giải thuật BFS dựa vào bộ thư viện CilkPlus như chúng tơi đã phân tích trong mục 4.3.2.
Các kết quả này của chúng tôi đã được công bố trong kỷ yếu hội thảo SoICT năm 2018 (cũng nằm trong chỉ mục SCOPUS và WoS) [DPH4].
4.4.3.2 Giải pháp nâng cao hiệu năng tính độ trung tâm trung gian
Từ mã nguồn của giải pháp bigGraph với giải pháp song song giải thuật tính độ trung tâm gần nêu trên, chúng tôi đã tiếp tục cài đặt giải pháp song song hố q trình tính độ trung tâm trung gian bằng ngơn ngữ C++ và sử dụng thư viện lập trình song song theo mơ hình luồng CilkPlus. Tồn bộ mã nguồn của giải pháp này cũng như các kết quả thực nghiệm mà chúng tôi đã tiến hành đều được công bố tại địa chỉ GitHub: https: //github.com/hanhdp/parallel_betweenness_centrality/.
Việc đánh giá hiệu năng của giải pháp mà chúng tôi đã xây dựng trong bigGraph sẽ được so sánh với cả hai bộ cơng cụ tiêu biểu trong phân tích đồ thị mạng xã hội quy mơ lớn là TeexGraph và NetworKit. Cả hai bộ công cụ này và bigGraph đều được cài đặt trên hạ tầng phần cứng đã được đề cập ở phần trên.
Cũng tương tự như việc đánh giá tính đúng đắn với giải thuật tính độ trung tâm gần, chúng tơi cũng đã sử dụng bộ cơng cụ NetworkX để tính tuần tự độ trung tâm trung gian của cả 6 đồ thị sử dụng trong thực nghiệm và lưu ra tệp. Dựa trên kết quả thu được khi tính độ trung tâm trung gian của cả bigGrap, TeexGraph và NetworKit thi hành song song với 36 luồng đối với 6 bộ dữ liệu. Kết quả thực nghiệm khẳng định cả ba giải pháp này đều có kết quả tính độ trung tâm trung gian trùng khớp với kết quả đã sinh ra từ công cụ NetworkX.
Để phân tích hệ số tăng tốc (speedup), chúng tơi đã tiến hành đánh giá trước tiên giải pháp bigGraph với số lượng luồng thi hành song song thay đổi từ 1 (tương ứng với trường hợp thi hành tuần tự) đến số luồng tối đa (36 luồng) có thể thi hành song song trong hệ thống tính tốn. Đối với những bộ dữ liệu đồ thị quy mô lớn như Youtube, DBLP và Flickr, thời gian thi hành để tính được độ trung tâm trung gian nhìn chung rất cao như minh hoạ ở bảng 4.6. Từ đó, việc so sánh giữa bigGraph và hai bộ cơng cụ phân tích mạng xã hội cịn lại (TeexGraph và NetworKit) sẽ tập trung sử dụng ba bộ dữ liệu đầu: DS1, DS2 và DS3. Kết quả thực nghiệm của chúng tơi được tổng hợp dựa trên việc tính thời gian thi hành trung bình của cả 10 lần chạy thử nghiệm đối với mỗi giải pháp và được thể hiện ở bảng sau:
Bảng 4.5: Thời gian (giây) và hệ số tăng tốc của bigGraph khi tính độ trung tâm trung gian
Số luồng DS1 DS2 DS3
Thời gian Speedup Thời gian Speedup Thời gian Speedup
1 3,03 1,00 8,20 1,00 1129,47 1,00 2 2,52 1,20 7,44 1,10 832,76 1,36 4 1,51 2,01 4,52 1,82 556,46 2,03 8 0,92 3,29 2,61 3,15 330,64 3,42 16 0,54 5,62 1,60 5,14 196,46 5,75 32 0,28 10,79 0,89 9,19 118,92 9,50 36 0,23 13,26 0,74 11,01 99,85 11,31
Hình sau thể hiện rõ hơn sự thay đổi của hệ số tăng tốc speedup của bigGraph khi số luồng song song thay đổi: