Associative parallel algorithm for dynamic update of shortest paths tree after inserting an arc | Prikladnaya Diskretnaya Matematika - Applied Discrete Mathematics. 2019. № 46. DOI: 10.17223/20710410/46/5

The paper proposes an associative parallel algorithm for dynamic update of the shortest paths tree after inserting an arc into a directed weighted graph. First we shortly recall the STAR-machine that simulates the functioning of associative parallel processors. The associative parallel algorithm is given as a procedure InsertArcSPT, correctness of which is proved. Now we give a short description of the associative incremental algorithm. Let the arc (i, j ) be added to the graph G. Then we check whether the shortest distance from the root to the vertex j decreases if the shortest path to the vertex j includes the arc (i, j ). If this is true, then the vertex j becomes affected and the new shortest distance to this vertex is written in the matrix of the shortest distances. Then we replace the previous arc in the tree with the arc (i, j ). After that, we calculate the distance to those vertexes v for which there is an arc (j, v ). Then the all vertexes the distances to which decrease become affected. After that, the new distances are written in the corresponding rows of the shortest distance matrix. Moreover the corresponding arcs are included in the shortest paths tree. We have shown that the time complexity of this procedure is O(hk), while the time complexity of a static associative version of Dijkstra algorithm is O(hn). Here h is the number of bits for coding the maximum of the shortest paths length, n is the number of all graph vertexes and k is the number of affected vertexes for which the new distances are computed. This procedure was tested on the NVIDIA GEFORCE 920M using the implementation of STAR-machine on the GPU. Performance was evaluated on R-MAT graphs which simulate real graphs from social networks and the Internet. Graphs were generated by the GraphHPC-1.0 package with the following parameters: the number of vertexes is defined by a power of two (from 11 to 13), the average degree of vertexes connectivity is 32. We use two modes: zero weighting arcs are added (pessimistic mode) and arcs with random weight are added (realistic mode). In the experiments, we take into account as the runtime of the procedure and the number of affected vertexes. For each test, ≈ 10% n runs were performed. After that, the runs were distributed by the number of affected vertexes. The shortest paths and distances do not change in most runs (more than 50 % in the case of the pessimistic mode and more than 88 % in the case of the realistic mode). In 99 % cases, the number of affected vertexes does not exceed 5 in the first mode and 2 in the second mode. Note that the associative algorithm traverses the graph along the vertexes (outgoing arcs are processed in parallel). While in the sequential version, the graph is traversed along arcs, and the number of arcs that need to be checked can go up to 2000 and 100 accordingly. Also we note that in average the dynamic version runs about 500 times faster in the pessimistic mode and about 1000 times faster in the realistic mode than the static parallel version of Dijkstra's algorithm.
Download file
Counter downloads: 105
  • Title Associative parallel algorithm for dynamic update of shortest paths tree after inserting an arc
  • Headline Associative parallel algorithm for dynamic update of shortest paths tree after inserting an arc
  • Publesher Tomask State UniversityTomsk State University
  • Issue Prikladnaya Diskretnaya Matematika - Applied Discrete Mathematics 46
  • Date:
  • DOI 10.17223/20710410/46/5
Keywords
ориентированный взвешенный граф, матрица смежности, инкрементальный алгоритм, аффектная вершина, вертикальная обработка данных, ассоциативный параллельный процессор, oriented weighted graph, adjacency matrix, incremental algorithm, affected vertex, vertical data processing, associative paral lel processor
Authors
References
Fet Y. I. Vertical processing systems: a survey // IEEE Micro. 1995. V. 15. Iss. 1. P. 65-75
Potter J. L. Associative Computing: a Programming Paradigm for Massively Parallel Computers. Boston: Perseus Publishing, 1991. 304 p
Nepomniaschaya A. Sh. Language STAR for associative and parallel computation with vertical data processing // Parallel Computing Technologies. Singapore: World Scientific, 1991. P. 258-265
Nepomniaschaya A. Sh. Basic associative parallel algorithms for vertical processing systems // Bulletin of the Novosibirsk Computing Center. 2009. Ser. Comp. Sci. No. 9. P. 63-77
Foster C. C. Content Addressable Parallel Processors. N.Y.: John Wiley & Sons, 1976. 233 p. Nepomniaschaya A. Sh. and Dvoskina M. A. A simple implementation of Dijkstra's shortest path algorithm on associative parallel processors // Fundamenta Informaticae. IOS Press, 2000. V. 43. P. 227-243
Nepomniaschaya A. S. Solution of path problems using associative parallel processors // Proc. ICPADS'97. Seoul: IEEE Computer Society Press,1997. P. 610-617
Непомнящая А. Ш. Сравнение алгоритмов Прима - Дейкстры и Краскала с помощью ассоциативного параллельного процессора // Кибернетика и системный анализ. 2000. №2. С. 19-27
Непомнящая А. Ш. Ассоциативная версия алгоритма Рамалингама для динамической обработки подграфа кратчайших путей после добавления к графу новой дуги // Кибернетика и системный анализ. 2012. № 3. C. 45-57
Nepomniaschaya A. S. Efficient parallel implementation of the Ramalingam decremental algorithm for updating the shortest paths subgraph // Computing and Informatics. 2013. V. 32. P. 331-354
Nepomniaschaya A. S. Associative version of the Ramalingam decremental algorithm for the dynamic all-pairs shortest-path problem // Bulletin of the Novosibirsk Computing Center. 2016. Ser. Comp. Sci. No. 39. P. 37-50
Nepomniaschaya A. S. Associative version of the Ramalingam incremental algorithm for the dynamic all-pairs shortest-path problem // Bulletin of the Novosibirsk Computing Center. 2016. Ser. Comp. Sci. No. 40. P. 75-86
Непомнящая А. Ш. Ассоциативный параллельный алгоритм для динамической обработки дерева кратчайших путей // Моделирование и анализ информационных систем. 2013. Т. 20. № 2. C. 5-22
Mirenkov N. N. The Siberian approach for an open-system high-performance computing architecture // Computing and Control Engineering J. 1992. V. 3. No. 3. P. 137-142
Непомнящая А. Ш., Владыко М. А. Сравнение моделей ассоциативного вычисления // Программирование. 1997. № 6. С. 41-50
Снытникова Т. В., Непомнящая А. Ш. Решение задач на графах с помощью STAR-машины, реализуемой на графических ускорителях // Прикладная дискретная математика. 2016. № 3(33). C. 98-115
Snytnikova T. V. and Snytnikov A. V. Implementation of the STAR-machine on GPU // Bulletin of the Novosibirsk Computing Center. 2016. Ser. Comp. Sci. No. 39. P. 51-60
Снытникова Т. В. Реализация модели ассоциативных вычислений на GPU: библиотека базовых процедур языка STAR // Вычислительные методы и программирование. Новые вычислительные технологии. 2018. №19(1). C. 85-95
http://www.dislab.Org/GraphHPC-2018/contest/GraphHPC-1.0.tgz - GraphHPC-1.0. 2018
 Associative parallel algorithm for dynamic update of shortest paths tree after inserting an arc | Prikladnaya Diskretnaya Matematika - Applied Discrete Mathematics. 2019. № 46. DOI: 10.17223/20710410/46/5
Associative parallel algorithm for dynamic update of shortest paths tree after inserting an arc | Prikladnaya Diskretnaya Matematika - Applied Discrete Mathematics. 2019. № 46. DOI: 10.17223/20710410/46/5
Download full-text version
Counter downloads: 434