Исследование производительности архитектурно-независимого фреймворка VGL для эффективной реализации графовых алгоритмов
Авторы
-
Д. И. Личманов
-
И. В. Афанасьев
-
В. В. Воеводин
Ключевые слова:
графовый фреймворк
графовые алгоритмы
высокопроизводительные вычисления
анализ производительности
векторная обработка
VGL
Аннотация
В настоящее время графовые алгоритмы очень часто применяются для решения различных задач моделирования, поскольку многие реальные объекты хорошо моделируются графами (например, дорожная сеть или социальные связи). При этом эффективная реализация таких алгоритмов зачастую очень сложна, что связано, в частности, с нерегулярным доступом к памяти при работе с графами и огромным размером входных графов. Помочь с решением этой проблемы могут графовые фреймворки — программные среды для решения графовых задач. Ранее был разработан архитектурно-независимый фреймворк VGL (Vector Graph Library), позволяющий эффективно реализовывать графовые алгоритмы на различных аппаратных платформах (на многоядерных процессорах с векторными расширениями, графических ускорителях и векторных процессорах NEC). В данной работе было проведено изучение производительности VGL на разных платформах, выполнено сравнение производительности с существующими аналогами, а также предложен и апробирован подход для автоматического выбора формата входного графа на основе методов машинного обучения.
Раздел
Параллельные программные средства и технологии
Библиографические ссылки
- VGL: Vector Graph Library.
https://vgl.parallel.ru/. Cited December 13, 2023.
- I. Afanasyev and S. Krymskii, “VGL Rating: A Novel Benchmarking Suite for Modern Supercomputing Architectures,” in Communications in Computer and Information Science (Springer, Cham, 2022), Vol. 1618, pp. 3-16.
doi 10.1007/978-3-031-11623-0_1
- Y. Yamada and S. Momose, “Vector Engine Processor of NEC’s Brand-New Supercomputer SX-Aurora TSUBASA,” in Proc. Int. Symp. on High Performance Chips (Hot Chips2018), Cupertino, USA, August 19-21, 2018,
https://www.old.hotchips.org/hc30/2conf/2.14_NEC_vector_NEC_SXAurora_TSUBASA_HotChips30_finalb.pdf . Cited December 13, 2023.
- Y. Wang, Y. Pan, A. Davidson, et al., “Gunrock: GPU Graph Analytics,” ACM Trans. Parallel Comput. 4 (1), Article Number 3 (2017).
doi 10.1145/3108140
- M. Osama, S. D. Porumbescu, and J. D. Owens, “Essentials of Parallel Graph Analytics,” in Proc. IEEE Int. Parallel and Distributed Processing Symposium Workshops (IPDPSW), Lyon, France, May 30-June 3, 2022 ,
doi 10.1109/IPDPSW55747.2022.00061
- J. Shun and G. E. Blelloch, “Ligra: A Lightweight Graph Processing Framework for Shared Memory,” SIGPLAN Not. 48 (8), 135-146 (2013).
doi 10.1145/2442516.2442530
- J. Shun, “Practical Parallel Hypergraph Algorithms,” in Proc. of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, USA, February 22-26, 2020.
doi 10.1145/3332466.3374527
- S. Beamer, K. Asanović, and D. Patterson, “The GAP Benchmark Suite,” arXiv preprint arXiv: 1508.03619.
doi 10.48550/arXiv.1508.03619
- I. V. Afanasyev, Vad. V. Voevodin, Vl. V. Voevodin, et al., “Analysis of Relationship between SIMD-Processing Features Used in NVIDIA GPUs and NEC SX-Aurora TSUBASA Vector Processors,” in Lecture Notes in Computer Science (Springer, Cham, 2019), Vol. 11657, pp. 125-139.
doi 10.1007/978-3-030-25636-4_10
- I. V. Afanasyev, Research and Development of Effective Graph Algorithms Implementation on Modern Vector Architectures , Candidate’s Dissertation in Mathematics and Physics (Moscow State Univ., Moscow, 2020).
- NVidia CUDA Toolkit.
https://developer.nvidia.com/cuda-toolkit . Cited December 13, 2023.
- N. Bell and J. Hoberock, “Thrust: A Productivity-Oriented Library for CUDA,” in GPU Computing Gems Jade Edition (Morgan Kaufmann, Amsterdam, 2012), pp. 359-371.
doi 10.1016/B978-0-12-385963-1.00026-5
- Graph500 benchmark.
https://graph500.org/. Cited December 13, 2023.
- I. V. Afanasyev, Vad. V. Voevodin, Vl. V. Voevodin, et al., “Developing Efficient Implementations of Shortest Paths and Page Rank Algorithms for NEC SX-Aurora TSUBASA Architecture,” Lobachevskii J. Math. 40 (11), 1753-1762 (2019).
doi 10.1134/S1995080219110039
- I. V. Afanasyev and Vl. V. Voevodin, “Developing Efficient Implementations of Connected Component Algorithms for NEC SX-Aurora TSUBASA,” Lobachevskii J. Math. 41 (8), 1417-1426 (2020).
doi 10.1134/s1995080220080028
- D. Chakrabarti, Y. Zhan, and C. Faloutsos, “R-MAT: A Recursive Model for Graph Mining,” in Proc. 2004 SIAM Int. Conf. on Data Mining, April, 2004 , pp. 442-446.
https://epubs.siam.org/doi/epdf/10.1137/1.9781611972740.43 . Cited December 13, 2023.
- J. Kunegis, “Konect: the Koblenz Network Collection,” in Proc. of the 22nd Int. Conf. on World Wide Web, Rio de Janeiro, Brazil, May 13-17, 2013 (ACM Press, New York, 2013), pp. 1343-1350.
http://dl.acm.org/citation.cfm?id=2488173 . Cited December 13, 2023.
- I. Afanasyev, K. Komatsu, D. Lichmanov, et al., “High-Performance GraphBLAS Backend Prototype for NEC SX-Aurora TSUBASA,” in IEEE Int. Parallel and Distributed Processing Symposium Workshops (IPDPSW), Lyon, France, May 30-June 3, 2022 (IEEE Press, Piscataway, 2022), pp. 221-229.
doi 10.1109/ipdpsw55747.2022.00050
- M. Kulkarni, K. Pingali, B. Walter, et al., “Optimistic Parallelism Requires Abstractions,” in Proc. 28th ACM SIGPLAN Conf. on Programming Language Design and Implementation, San Diego, USA, June 10-13, 2007 (ACM Press, New York, 2017), pp. 211-222.
doi 10.1145/1250734.1250759
- Y. Zhang, M. Yang, R. Baghdadi, et al., “GraphIt: A High-Performance DSL for Graph Analytics,” arXiv preprint, arXiv: 1805.00923. 2018.
doi 10.48550/arXiv.1805.00923
- T. A. Davis, “Algorithm 1000: SuiteSparse: GraphBLAS: Graph Algorithms in the Language of Sparse Linear Algebra,” ACM Trans. Math. Softw. 45 (4), 1-25 (2019).
doi 10.1145/3322125
- R. F. Boisvert, R. Pozo, and K. A. Remington, “The Matrix Market Exchange Formats: Initial Design,” US Department of Commerce, National Institute of Standards and Technology. Gaithersburg, 1996.
https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=5bce84be62e12ffe4d8a63fd118e4cd42f512807 . Cited December 13, 2023.
- T. Chen and C. Guestrin, “XGBoost: A Scalable Tree Boosting System,” in Proc. 22nd ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining, San Francisco, USA, August 13-17, 2016 (ACM Press, New York, 2016), pp. 785-794.
doi 10.1145/2939672.2939785
- F. Pedregosa, G. Varoquaux, A. Gramfort, et al., “Scikit-Learn: Machine Learning in Python,” J. Mach. Lear. Res. 12, 2825-2830 (2011),
https://www.jmlr.org/papers/volume12/pedregosa11a/pedregosa11a.pdf . Cited December 13, 2023.