[Back]


Diploma and Master Theses (authored and supervised):

T. Schnabl:
"Critical Links Detection using CUDA";
Supervisor: G. Raidl, B. Hu; Institut für Computergraphik and Algorithmen, 2013; final examination: 2013-04.



English abstract:
The Critical Links Detection (CLD) Problem consists of finding for the smallest set of edges in
a graph to be protected so that if a given number of unprotected edges are removed the diameter
does not exceed a given value. The diameter of a graph is defined as the length of the All-Pair-
Shortest-Path (APSP).
This thesis presents an algorithm that takes an instance of a graph and calculates the minimal
set of protected edges. For k simultaneously failing edges it checks all possible tuples of k edges
if after temporarily removing them the diameter of the graph exceeds the limit. Afterwards a
Integer Linear Programming (ILP) model is built up and solved, which is equivalent to choosing
the minimal amount of edges from these sets to get a feasible solution.
Since the calculation of diameters takes most of the process time, the thesis presents an improvement
on the performance of the algorithm. A massive parallel approach is implemented
using CUDA, a framework to run calculations on graphic cards, also called GPGPU. The chosen
algorithm solves one Single Start Shortest Paths (SSSP) algorithm on one GPU processor,
running one thread per vertex of the graph. The performance of the algorithm shows a speedup
of 30% using this approach on small instances and 70% improvement on large instances with
over 1000 edges.

German abstract:
In dieser Diplomarbeit wird ein Algorithmus entworfen, der das Critical Links Detection (CLD)
Problem mit mehreren simultan entfernten Kanten löst. Dieses Problem ist für mehr als 2 gleichzeitig
entfernten Kanten NP-vollständig. Im CLD Problem wird der Diameter eines Graphen
untersucht, wenn eine oder mehrere Kanten entfernt werden. Gesucht wird hierbei die kleinste
Menge von Kanten, die geschützt werden muss, damit der Diameter des Graphs einen bestimmten
Maximaldiameter nicht überschreitet. Der Diameter eines Graphen ist definiert als die Länge
des All-Pair-Shortest-Path (APSP).
Der präsentierte Algorithmus berechnet die CLD durch Aufbau und Lösens eines Integer
Linear Programming (ILP) Modells. Bei k gleichzeitig möglichen Kantenausfällen werden alle
Untermengen von k Kanten überprüft und all jene Gruppen von Kanten hinzugefügt, deren Entfernung
aus dem Graph dessen Diameter die erlaubte Grenze überschreiten lassen. Die Lösung
dieses Problems entspricht der Auswahl einer Menge Kanten aus diesen Gruppen, die möglichst
klein ist.
Die Diplomarbeit präsentiert außerdem zusätzliche Verbesserungen am Algorithmus um die
Laufzeit zu reduzieren. Da die Berechnung der Diameter einen großen Anteil der Prozesszeit
verbraucht, wird diese mithilfe von CUDA, einem Programmier-Framework, auf der Graphikkarte
berechnet. Im gewählten APSP Algorithmus werden hierzu auf jedem der GPU Prozessoren
ein Single-Start-Shortest-Path (SSSP) Algorithmus durchgeführt, der intern genau einen
Thread pro Knoten des Graphen behandelt. Je nach Instanzgroße rechnen so tausende oder Millionen
Threads gleichzeitig auf der Graphikkarte. So konnte die Laufzeit des Algorithmusses
bei kleinen Testinstanzen um 30%, bei großen Testinstanzen mit etwa 1000 Kanten um 70%
reduziert werden.


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_221214.pdf


Created from the Publication Database of the Vienna University of Technology.