• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
For visually-impairedUser profile (HSE staff only)SearchMenu

Concurrent Algorithm for the Dynamic Connectivity Problem

Student: Aleksandr Fedorov

Supervisor: Denis Moskvin

Faculty: St. Petersburg School of Physics, Mathematics, and Computer Science

Educational Programme: Applied Mathematics and Information Science (Bachelor)

Final Grade: 10

Year of Graduation: 2020

The Dynamic Connectivity Problem is one of the fundamental problems in graph theory. A wide range of problems, such as the ones related to social or communication networks, have graph interpretations for which the problem of maintaining components of connectivity under graph modifications (edge additions or removals) arises naturally. The problem has been well-studied from both theoretical and practical perspectives in the classical case of sequential computations. However, efficient concurrent algorithms have yet to be researched, and this work addresses the gap. We propose a concurrent generalization of the state-of-art sequential algorithm, which preserves theoretical efficiency and is scalable at the same time. There are three key optimizations that help to achieve this. The first one is fine-grained locking for components of connectivity; that makes it possible to parallel work on different components straightforwardly. The second optimization makes connectivity queries, which usually dominate in real-world workloads, non-blocking. The last one expands the idea of non-blocking operations by making most of the queries (the ones that do not change internal components representation) non-blocking. After that, we evaluated the algorithm on a set of real and synthetic graphs as well as on various workloads. The results show the efficiency of each of the proposed optimizations, and the most efficient combination improves the performance of coarse-grained based implementation up to x8 on average and up to x40 when connectivity queries dominate. Keywords: concurrency, graph algorithms, dynamic connectivity, scalability, lock-freedom.

Full text (added May 28, 2020)

Student Theses at HSE must be completed in accordance with the University Rules and regulations specified by each educational programme.

Summaries of all theses must be published and made freely available on the HSE website.

The full text of a thesis can be published in open access on the HSE website only if the authoring student (copyright holder) agrees, or, if the thesis was written by a team of students, if all the co-authors (copyright holders) agree. After a thesis is published on the HSE website, it obtains the status of an online publication.

Student theses are objects of copyright and their use is subject to limitations in accordance with the Russian Federation’s law on intellectual property.

In the event that a thesis is quoted or otherwise used, reference to the author’s name and the source of quotation is required.

Search all student theses