Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 圖形重新排序中的攤銷成本:BFS Ordering 分析
Amortized Cost in Graph Reordering: Analysis of BFS Ordering
作者 李尚霖
Li, Shang-Lin
貢獻者 郭桐惟
Kuo, Tung-Wei
李尚霖
Li, Shang-Lin
關鍵詞 圖形重新排序
圖形理論
演算法
Graph Reordering
Graph Theory
Algorithm
日期 2025
上傳時間 4-Aug-2025 13:57:45 (UTC+8)
摘要 圖形重新排序透過調整節點的排列方式來提升資料存取效率,但尋找最佳排序方式是一個 NP-困難問題。為了解決此問題,研究人員提出多種啟發式方法,包括能提升效能的 Gorder,以及能降低重新排序開銷的基於度數的 DBG。 本研究以攤銷成本(amortized cost)評估圖形重新排序的實用性,衡量圖形應用需執行多少次,才能攤銷重新排序所帶來的時間成本。過往研究多著重於比較 Gorder 與 RCM 的加速效能,卻忽略了與 BFS Ordering 相關的攤銷成本分析。本研究以 12 個真實世界圖形與 5 種常見圖形應用進行實驗,結果顯示 BFS Ordering 在加速效果與重新排序時間之間達成良好平衡。此外,我們亦透過隨機圖模型,分析不同圖形參數如何影響 BFS Ordering 的表現。
Graph reordering improves data access efficiency by adjusting vertex arrangements, but finding the optimal ordering is NP-hard. To address this, researchers have proposed several heuristic methods. One is Gorder, which boosts performance, and another is degree-based DBG ordering, which minimizes reordering overhead. This study evaluates the practical applicability of graph reordering using amortized cost. Measures how many times a graph application needs to run to offset the cost of reordering. Previous studies mainly compared acceleration performance with Gorder and RCM but overlooked amortized cost in relation to BFS ordering. We evaluate our approach using 12 real-world graphs and five common graph applications, showing that BFS ordering strikes a good balance between acceleration and reordering time. Additionally, we use random graph models to analyze how various graph parameters affect BFS ordering performance.
參考文獻 [1] M. Valiyev, “Graph storage: How good is csr really?,” dated Dec, vol. 10, p. 8, 2017. [2] E. Cuthill and J. McKee, “Reducing the bandwidth of sparse symmetric matrices,” in Proceedings of the 1969 24th national conference, pp. 157–172, 1969. [3] A. George and J. W. Liu, Computer solution of large sparse positive definite. Prentice Hall Professional Technical Reference, 1981. [4] H. Wei, J. X. Yu, C. Lu, and X. Lin, “Speedup graph processing by graph ordering,” in Proceedings of the 2016 International Conference on Management of Data, pp. 1813–1828, 2016. [5] V. Balaji and B. Lucia, “When is graph reordering an optimization? Studying the effect of lightweight graph reordering across applications and input graphs,” in 2018 IEEE International Symposium on Workload Characterization (IISWC), pp. 203–214, IEEE, 2018. [6] Y. Zhang, V. Kiriansky, C. Mendis, M. Zaharia, and S. Amarasinghe, “Optimizing cache performance for graph analytics,” arXiv preprint arXiv:1608.01362, 2016. [7] P. Faldu, J. Diamond, and B. Grot, “A closer look at lightweight graph reordering,” in 2019 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–13, IEEE, 2019. [8] J. Kunegis, “KONECT – The Koblenz Network Collection,” in Proc. Int. Conf. on World Wide Web Companion, pp. 1343–1350, 2013. [9] J. Shun and G. E. Blelloch, “Ligra: A lightweight graph processing framework for shared memory,” in Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 135–146, 2013. [10] D. J. Watts and S. H. Strogatz, “Collective dynamics of ‘small-world’ networks,” Nature, vol. 393, no. 6684, pp. 440–442, 1998. [11] A.-L. Barabási and R. Albert, “Emergence of scaling in random networks,” Science, vol. 286, no. 5439, pp. 509–512, 1999. [12] P. Holme and B. J. Kim, “Growing scale-free networks with tunable clustering,” Physical Review E, vol. 65, no. 2, p. 026107, 2002. [13] P. Erdős and A. Rényi, “On random graphs I,” Publ. Math. Debrecen, vol. 6, pp. 290–297, 1959. [14] E. N. Gilbert, “Random graphs,” The Annals of Mathematical Statistics, vol. 30, no. 4, pp. 1141–1144, 1959. [15] R. Albert and A.-L. Barabási, “Statistical mechanics of complex networks,” Reviews of Modern Physics, vol. 74, no. 1, p. 47, 2002. [16] NetworkX, "https://networkx.org", 2025. [17] M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew, “Optimistic parallelism requires abstractions,” in Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 211–222, 2007. [18] Y. Zhang, V. Kiriansky, C. Mendis, S. Amarasinghe, and M. Zaharia, “Making caches work for graph analytics,” in 2017 IEEE International Conference on Big Data (Big Data), pp. 293–302, IEEE, 2017. [19] Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. M. Hellerstein, “GraphLab: A new parallel framework for machine learning,” in Conference on Uncertainty in Artificial Intelligence (UAI), vol. 20, 2010. [20] J. E. Gonzalez, Y. Low, H. Gu, D. Bickson, and C. Guestrin, “PowerGraph: Distributed Graph-Parallel computation on natural graphs,” in 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pp. 17–30, 2012. [21] A. Kyrola, G. Blelloch, and C. Guestrin, “GraphChi: Large-Scale graph computation on just a PC,” in 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pp. 31–46, 2012. [22] D. Nguyen, A. Lenharth, and K. Pingali, “A lightweight infrastructure for graph analytics,” in Proceedings of the 24th ACM Symposium on Operating Systems Principles, pp. 456–471, 2013. [23] N. Sundaram, N. R. Satish, M. M. A. Patwary, S. R. Dulloor, S. G. Vadlamudi, D. Das, and P. Dubey, “GraphMat: High performance graph analytics made productive,” arXiv preprint arXiv:1503.07241, 2015. [24] G. Karypis and V. Kumar, “Multilevel k-way partitioning scheme for irregular graphs,” Journal of Parallel and Distributed Computing, vol. 48, no. 1, pp. 96–129, 1998. [25] I. Stanton and G. Kliot, “Streaming graph partitioning for large distributed graphs,” in Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1222–1230, 2012. [26] G. Karypis and V. Kumar, “Multilevel graph partitioning schemes,” in ICPP (3), pp. 113–122, 1995. [27] J. Banerjee, W. Kim, S.-J. Kim, and J. F. Garza, “Clustering a DAG for CAD databases,” IEEE Transactions on Software Engineering, vol. 14, no. 11, pp. 1684–1699, 1988. [28] Y. Lim, U. Kang, and C. Faloutsos, “SlashBurn: Graph compression and mining beyond caveman communities,” IEEE Transactions on Knowledge and Data Engineering, vol. 26, no. 12, pp. 3077–3089, 2014. [29] K. I. Karantasis, A. Lenharth, D. Nguyen, M. J. Garzaran, and K. Pingali, “Parallelization of reordering algorithms for bandwidth and wavefront reduction,” in SC’14: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 921–932, IEEE, 2014. [30] J. Arai, H. Shiokawa, T. Yamamuro, M. Onizuka, and S. Iwamura, “Rabbit Order: Just-in-time parallel reordering for fast graph analysis,” in 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 22–31, IEEE, 2016. [31] K. Lakhotia, S. Singapura, R. Kannan, and V. Prasanna, “RECALL: Reordered cache-aware locality-based graph processing,” in 2017 IEEE 24th International Conference on High Performance Computing (HiPC), pp. 273–282, IEEE, 2017. [32] Q. Lyu, M. Sha, B. Gong, and K. Lyu, “Accelerating depth-first traversal by graph ordering,” in Proceedings of the 33rd International Conference on Scientific and Statistical Database Management, pp. 13–24, 2021. [33] M. Drescher, M. A. Awad, S. D. Porumbescu, and J. D. Owens, “BOBA: A parallel lightweight graph reordering algorithm with heavyweight implications,” arXiv preprint arXiv:2306.10410, 2023. [34] K. Wang, X. Lin, L. Qin, W. Zhang, and Y. Zhang, “Vertex priority based butterfly counting for large-scale bipartite networks,” PVLDB, 2019. [35] E. Lee, J. Kim, K. Lim, S. H. Noh, and J. Seo, “Pre-Select static caching and neighborhood ordering for BFS-like algorithms on disk-based graph engines,” in 2019 USENIX Annual Technical Conference (USENIX ATC 19), pp. 459–474, 2019. [36] B. Coleman, S. Segarra, A. J. Smola, and A. Shrivastava, “Graph reordering for cache-efficient near neighbor search,” Advances in Neural Information Processing Systems, vol. 35, pp. 38488–38500, 2022. [37] O. Green, “Inverse-deletion BFS: Revisiting static graph BFS traversals with dynamic graph operations,” in 2021 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1–7, 2021. [38] F. Ziche, N. Bombieri, F. Busato, and R. Giugno, “GPU-accelerated BFS for dynamic networks,” in European Conference on Parallel Processing, pp. 74–87, Springer, 2024.
描述 碩士
國立政治大學
資訊科學系
111753165
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0111753165
資料類型 thesis
dc.contributor.advisor 郭桐惟zh_TW
dc.contributor.advisor Kuo, Tung-Weien_US
dc.contributor.author (Authors) 李尚霖zh_TW
dc.contributor.author (Authors) Li, Shang-Linen_US
dc.creator (作者) 李尚霖zh_TW
dc.creator (作者) Li, Shang-Linen_US
dc.date (日期) 2025en_US
dc.date.accessioned 4-Aug-2025 13:57:45 (UTC+8)-
dc.date.available 4-Aug-2025 13:57:45 (UTC+8)-
dc.date.issued (上傳時間) 4-Aug-2025 13:57:45 (UTC+8)-
dc.identifier (Other Identifiers) G0111753165en_US
dc.identifier.uri (URI) https://nccur.lib.nccu.edu.tw/handle/140.119/158475-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 111753165zh_TW
dc.description.abstract (摘要) 圖形重新排序透過調整節點的排列方式來提升資料存取效率,但尋找最佳排序方式是一個 NP-困難問題。為了解決此問題,研究人員提出多種啟發式方法,包括能提升效能的 Gorder,以及能降低重新排序開銷的基於度數的 DBG。 本研究以攤銷成本(amortized cost)評估圖形重新排序的實用性,衡量圖形應用需執行多少次,才能攤銷重新排序所帶來的時間成本。過往研究多著重於比較 Gorder 與 RCM 的加速效能,卻忽略了與 BFS Ordering 相關的攤銷成本分析。本研究以 12 個真實世界圖形與 5 種常見圖形應用進行實驗,結果顯示 BFS Ordering 在加速效果與重新排序時間之間達成良好平衡。此外,我們亦透過隨機圖模型,分析不同圖形參數如何影響 BFS Ordering 的表現。zh_TW
dc.description.abstract (摘要) Graph reordering improves data access efficiency by adjusting vertex arrangements, but finding the optimal ordering is NP-hard. To address this, researchers have proposed several heuristic methods. One is Gorder, which boosts performance, and another is degree-based DBG ordering, which minimizes reordering overhead. This study evaluates the practical applicability of graph reordering using amortized cost. Measures how many times a graph application needs to run to offset the cost of reordering. Previous studies mainly compared acceleration performance with Gorder and RCM but overlooked amortized cost in relation to BFS ordering. We evaluate our approach using 12 real-world graphs and five common graph applications, showing that BFS ordering strikes a good balance between acceleration and reordering time. Additionally, we use random graph models to analyze how various graph parameters affect BFS ordering performance.en_US
dc.description.tableofcontents 摘要 i Abstract ii 誌謝 iii Contents iv List of Figures vii List of Tables ix 1 Introduction 1 2 Background 8 2.1 CSR 8 2.2 Previous Graph Reordering Algorithm 9 2.3 Amortized Cost for Graph Reordering 12 2.4 Random Graph Model 13 2.4.1 Watts-Strogatz Model 13 2.4.2 Barabási-Albert Model 14 2.4.3 Powerlaw Cluster Model 14 3 BFS Ordering 16 3.1 Motivation 16 3.1.1 Reordering Time of Gorder is Excessive 16 3.1.2 RCM Involves Redundant Operations 17 3.1.3 Degree-Based Methods Provide Insufficient Acceleration 18 3.2 BFS Ordering 18 3.3 Time Complexity 22 4 Experiments 24 4.1 Experimental Setup 24 4.1.1 Graph Datasets 25 4.1.2 Graph Applications 28 4.1.3 Comparison Methods 31 4.2 Speedup of Graph Reordering on Real Graphs 31 4.2.1 Analysis of Results 31 4.2.2 Speedup Analysis for Connected Components 34 4.2.3 Speedup Analysis for Maximum Independent Set 38 4.3 The Effect of Random Graph Properties on Graph Reordering Speedup 41 4.3.1 Watts-Strogatz Graph Speedup Results 42 4.3.2 Barabási-Albert Graph Speedup Results 45 4.3.3 Powerlaw Cluster Graph Speedup Results 45 4.4 Amortized Cost 49 4.4.1 Reordering Time Cost 49 4.4.2 Amortized Cost for Real Graph 50 4.4.3 Amortized Cost for Random Graph 54 4.5 Summary 54 5 Related Work 57 5.1 Software Frameworks for Graph Applications 57 5.2 Graph Partition 58 5.3 Other Graph Reordering Methods 59 6 Conclusion and Future Work 61 Reference 62zh_TW
dc.format.extent 1655000 bytes-
dc.format.mimetype application/pdf-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0111753165en_US
dc.subject (關鍵詞) 圖形重新排序zh_TW
dc.subject (關鍵詞) 圖形理論zh_TW
dc.subject (關鍵詞) 演算法zh_TW
dc.subject (關鍵詞) Graph Reorderingen_US
dc.subject (關鍵詞) Graph Theoryen_US
dc.subject (關鍵詞) Algorithmen_US
dc.title (題名) 圖形重新排序中的攤銷成本:BFS Ordering 分析zh_TW
dc.title (題名) Amortized Cost in Graph Reordering: Analysis of BFS Orderingen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] M. Valiyev, “Graph storage: How good is csr really?,” dated Dec, vol. 10, p. 8, 2017. [2] E. Cuthill and J. McKee, “Reducing the bandwidth of sparse symmetric matrices,” in Proceedings of the 1969 24th national conference, pp. 157–172, 1969. [3] A. George and J. W. Liu, Computer solution of large sparse positive definite. Prentice Hall Professional Technical Reference, 1981. [4] H. Wei, J. X. Yu, C. Lu, and X. Lin, “Speedup graph processing by graph ordering,” in Proceedings of the 2016 International Conference on Management of Data, pp. 1813–1828, 2016. [5] V. Balaji and B. Lucia, “When is graph reordering an optimization? Studying the effect of lightweight graph reordering across applications and input graphs,” in 2018 IEEE International Symposium on Workload Characterization (IISWC), pp. 203–214, IEEE, 2018. [6] Y. Zhang, V. Kiriansky, C. Mendis, M. Zaharia, and S. Amarasinghe, “Optimizing cache performance for graph analytics,” arXiv preprint arXiv:1608.01362, 2016. [7] P. Faldu, J. Diamond, and B. Grot, “A closer look at lightweight graph reordering,” in 2019 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–13, IEEE, 2019. [8] J. Kunegis, “KONECT – The Koblenz Network Collection,” in Proc. Int. Conf. on World Wide Web Companion, pp. 1343–1350, 2013. [9] J. Shun and G. E. Blelloch, “Ligra: A lightweight graph processing framework for shared memory,” in Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 135–146, 2013. [10] D. J. Watts and S. H. Strogatz, “Collective dynamics of ‘small-world’ networks,” Nature, vol. 393, no. 6684, pp. 440–442, 1998. [11] A.-L. Barabási and R. Albert, “Emergence of scaling in random networks,” Science, vol. 286, no. 5439, pp. 509–512, 1999. [12] P. Holme and B. J. Kim, “Growing scale-free networks with tunable clustering,” Physical Review E, vol. 65, no. 2, p. 026107, 2002. [13] P. Erdős and A. Rényi, “On random graphs I,” Publ. Math. Debrecen, vol. 6, pp. 290–297, 1959. [14] E. N. Gilbert, “Random graphs,” The Annals of Mathematical Statistics, vol. 30, no. 4, pp. 1141–1144, 1959. [15] R. Albert and A.-L. Barabási, “Statistical mechanics of complex networks,” Reviews of Modern Physics, vol. 74, no. 1, p. 47, 2002. [16] NetworkX, "https://networkx.org", 2025. [17] M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew, “Optimistic parallelism requires abstractions,” in Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 211–222, 2007. [18] Y. Zhang, V. Kiriansky, C. Mendis, S. Amarasinghe, and M. Zaharia, “Making caches work for graph analytics,” in 2017 IEEE International Conference on Big Data (Big Data), pp. 293–302, IEEE, 2017. [19] Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. M. Hellerstein, “GraphLab: A new parallel framework for machine learning,” in Conference on Uncertainty in Artificial Intelligence (UAI), vol. 20, 2010. [20] J. E. Gonzalez, Y. Low, H. Gu, D. Bickson, and C. Guestrin, “PowerGraph: Distributed Graph-Parallel computation on natural graphs,” in 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pp. 17–30, 2012. [21] A. Kyrola, G. Blelloch, and C. Guestrin, “GraphChi: Large-Scale graph computation on just a PC,” in 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pp. 31–46, 2012. [22] D. Nguyen, A. Lenharth, and K. Pingali, “A lightweight infrastructure for graph analytics,” in Proceedings of the 24th ACM Symposium on Operating Systems Principles, pp. 456–471, 2013. [23] N. Sundaram, N. R. Satish, M. M. A. Patwary, S. R. Dulloor, S. G. Vadlamudi, D. Das, and P. Dubey, “GraphMat: High performance graph analytics made productive,” arXiv preprint arXiv:1503.07241, 2015. [24] G. Karypis and V. Kumar, “Multilevel k-way partitioning scheme for irregular graphs,” Journal of Parallel and Distributed Computing, vol. 48, no. 1, pp. 96–129, 1998. [25] I. Stanton and G. Kliot, “Streaming graph partitioning for large distributed graphs,” in Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1222–1230, 2012. [26] G. Karypis and V. Kumar, “Multilevel graph partitioning schemes,” in ICPP (3), pp. 113–122, 1995. [27] J. Banerjee, W. Kim, S.-J. Kim, and J. F. Garza, “Clustering a DAG for CAD databases,” IEEE Transactions on Software Engineering, vol. 14, no. 11, pp. 1684–1699, 1988. [28] Y. Lim, U. Kang, and C. Faloutsos, “SlashBurn: Graph compression and mining beyond caveman communities,” IEEE Transactions on Knowledge and Data Engineering, vol. 26, no. 12, pp. 3077–3089, 2014. [29] K. I. Karantasis, A. Lenharth, D. Nguyen, M. J. Garzaran, and K. Pingali, “Parallelization of reordering algorithms for bandwidth and wavefront reduction,” in SC’14: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 921–932, IEEE, 2014. [30] J. Arai, H. Shiokawa, T. Yamamuro, M. Onizuka, and S. Iwamura, “Rabbit Order: Just-in-time parallel reordering for fast graph analysis,” in 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 22–31, IEEE, 2016. [31] K. Lakhotia, S. Singapura, R. Kannan, and V. Prasanna, “RECALL: Reordered cache-aware locality-based graph processing,” in 2017 IEEE 24th International Conference on High Performance Computing (HiPC), pp. 273–282, IEEE, 2017. [32] Q. Lyu, M. Sha, B. Gong, and K. Lyu, “Accelerating depth-first traversal by graph ordering,” in Proceedings of the 33rd International Conference on Scientific and Statistical Database Management, pp. 13–24, 2021. [33] M. Drescher, M. A. Awad, S. D. Porumbescu, and J. D. Owens, “BOBA: A parallel lightweight graph reordering algorithm with heavyweight implications,” arXiv preprint arXiv:2306.10410, 2023. [34] K. Wang, X. Lin, L. Qin, W. Zhang, and Y. Zhang, “Vertex priority based butterfly counting for large-scale bipartite networks,” PVLDB, 2019. [35] E. Lee, J. Kim, K. Lim, S. H. Noh, and J. Seo, “Pre-Select static caching and neighborhood ordering for BFS-like algorithms on disk-based graph engines,” in 2019 USENIX Annual Technical Conference (USENIX ATC 19), pp. 459–474, 2019. [36] B. Coleman, S. Segarra, A. J. Smola, and A. Shrivastava, “Graph reordering for cache-efficient near neighbor search,” Advances in Neural Information Processing Systems, vol. 35, pp. 38488–38500, 2022. [37] O. Green, “Inverse-deletion BFS: Revisiting static graph BFS traversals with dynamic graph operations,” in 2021 IEEE High Performance Extreme Computing Conference (HPEC), pp. 1–7, 2021. [38] F. Ziche, N. Bombieri, F. Busato, and R. Giugno, “GPU-accelerated BFS for dynamic networks,” in European Conference on Parallel Processing, pp. 74–87, Springer, 2024.zh_TW