Speicherhierarchie-optimale Matrixmultiplikations-Programme
Zusammenfassung der Projektergebnisse
Viele Berechnungsaufgaben, wie die Multiplikation mit einer dünn-besetzten Matrix, zeichnen sich dadurch aus, dass pro Eingabeelement relativ wenige algebraische Operationen ausgeführt werden. Dementsprechend bezieht sich Effizienz hier vor allem auf die Kommunikation der Daten zu den Rechenkernen. Diese kann Teil des Programms sein, etwa wenn explizit Nachrichten von Rechenknoten zu Rechenknoten eines Hochleistungsrechners geschickt werden, oder sie kann implizit geschehen, etwa wenn eine Cache-Zeile in den Cache geladen wird. In jedem Fall kommt es darauf an, die Berechnung so zu gestalten, dass zum einen mit Daten im lokale Speicher oder Cache möglichst viel sinnvoll gerechnet wird, und dass außerdem wenige Nachrichten geschickt bzw. Cache-Zeilen geladen werden müssen. Hier hat sich das Projekt auf zwei fundamentale Aufgabenstellungen konzentriert: SpMxV ("Sparse Matrix x Vector"): die Multiplikation einer dünn besetzten Matrix mit einem Vektor. Dies steht für eine Klasse von Aufgabenstellungen, die selbst dann schwierig sind, wenn die Struktur im vorhinein bekannt ist. List-Ranking ist eine der einfachsten Aufgabenstellungen auf einem Graphen. Hier ergibt sich der genaue Kommunikationsbedarf erst aus der Analyse der Eingabeinstanz, wodurch die Kommunikationsaufgabe im ganzen schwieriger wird. Außerdem haben wir im Kontext der so genannten dünnen Gitter, einer numerischen Diskretisierungsmethode, einen Teil dieser theoretischen Einsichten in einem konkreten Kontext genutzt. Ein wichtiger Aspekt dieser Forschung war das Konsolidieren, also Bekanntes geschickt zusammenzufügen, Parameterbereiche zu erweitern und so die Grenzen der bekannten Techniken auszuloten. Dies ist im Kontext von SpMxV, List-Ranking und Baumweite Algorithmen hervorragend gelungen. (Fast alle Ergebnisse sind für das parallele I/O-Modell PEM formuliert.) Auch ein Teil der unteren Schranken sind von dieser Gestalt, anspruchsvolle Arbeit sorgfaltig und präzise ausgeführt. Zum anderen ist uns an vielen Stellen gelungen, neuartige Lösungen zu formulieren: Etwa das Multiplizieren einer dichten und einer dünn besetzten Matrix, die Verbindung von SpMxV zu map-reduce, und die Algorithmen und Kommunikationsschema für dünne Gitter. Auch die im Rahmen der dünnen Gitter implementierten Programme sind neue und in ihrem Kontext die schnellsten im Moment bekannten. Außerdem konnten wir mehrere neue Fragestellungen als fundamental identifizieren: Wie sehen für SpMxV im I/O Modell schwierige Matrizen aus? Was ist die "richtige" untere Schranke und Modellbildung für List-Ranking?
Projektbezogene Publikationen (Auswahl)
-
On Computational Models for Flash Memory Devices. In: Experimental Algorithms, 8th International Symposium, SEA 2009, Dortmund, Germany, June 4-6, 2009. Proceedings, Band 5526 der Reihe Lecture Notes in Computer Science, Seiten 16–27. Springer-Verlag, 2009
Ajwani, Deepak, Andreas Beckmann, Riko Jacob, Ulrich Meyer und Gabriel Moruz
-
Evaluating Non-Square Sparse Bilinear Forms on Multiple Vector Pairs in the I/O-Model. In: Proceedings 35th International Symposium on Mathematical Foundations of Computer Science (MFCS’10), Band 6281 der Reihe Lecture Notes in Computer Science, Seiten 393–404. Springer-Verlag, 2010
Greiner, Gero und Riko Jacob
-
Optimal Sparse Matrix Dense Vector Multiplication in the I/O-Model. Theory of Computing Systems, 47(4):934–962, 2010
Bender, Michael A., Gerth Stølting Brodal, Rolf Fagerberg, Riko Jacob und Elias Vicari
-
The I/O Complexity of Sparse Matrix Dense Matrix Multiplication. In: Proceedings of 9th Latin American Theoretical Informatics Symposium, Band 6034 der Reihe Lecture Notes in Computer Science, Seiten 143–156. Springer-Verlag, 2010
Greiner, Gero und Riko Jacob
-
A Non-static Data Layout Enhancing Parallelism and Vectorization in Sparse Grid Algorithms. In: 11th International Symposium on Parallel and Distributed Computing, ISPDC 2012, Munich, Germany, June 25-29, 2012. Proceedings, Seiten 195–202. IEEE Computer Society, 2012
Buse, Gerrit, Dirk Pflüger, Alin Florindor Murarasu und Riko Jacob
-
The Efficiency of MapReduce in Parallel External Memory. In: Proceedings of 10th Latin American Theoretical Informatics Symposium, Band 7256 der Reihe Lecture Notes in Computer Science, Seiten 433–445. Springer-Verlag, 2012
Greiner, Gero und Riko Jacob
-
“Sparse Matrix Computations and their I/O Complexity”, Informatik TU München, 2012
Gero Greiner
-
Tight Bounds for Low Dimensional Star Stencils in the External Memory Model. In: Algorithms and Data Structures Symposium, WADS 2013, London, Canada, August 12-14, 2013. Proceedings, Band 8037 der Reihe Lecture Notes in Computer Science, Seiten 415–426. Springer-Verlag, 2013
Hupp, Philipp und Riko Jacob
-
Efficient Regular Sparse Grid Hierarchization by a Dynamic Memory Layout. In:Garcke, Jochen Und Dirk Pflüger (Herausgeber): Sparse Grids and Applications - Munich 2012, Band 97 der Reihe Lecture Notes in Computational Science and Engineering, Seiten 195–219. Springer International Publishing, 2014
Jacob, Riko
-
Global Communication Schemes for the Sparse Grid Combination Technique. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE), Advances of Parallel Computing, Seiten 564–573. IOS Press, 2014
Hupp, Philipp, Riko Jacob, Mario Heene, Dirk Pflüger und Markus Hegland
-
On the Complexity of List Ranking in the Parallel External Memory Model. In: Proceedings 39th International Symposium on Mathematical Foundations of Computer Science (MFCS’14), Band 8635 der Reihe Lecture Notes in Computer Science, Seiten 384–395. Springer-Verlag, 2014
Jacob, Riko; Lieber, Tobias & Sitchinava, Nodari
-
Performance of Unidirectional Hierarchization for Component Grids Virtually Maximized. In: 2014 International Conference on Computational Science, Band 29 der Reihe Procedia Computer Science, Seiten 2272–2283. Elsevier, 2014
Hupp, Philipp
-
Treewidth Computation and Kernelization in the Parallel External Memory Model. In: Theoretical Computer Science – 8th IFIP TC 1/WG 2.2 International Conference, TCS 2014, Rome, Italy, September 1-3, 2014. Proceedings, Band 8705 der Reihe Lecture Notes in Computer Science, Seiten 78–89. Springer-Verlag, 2014
Jacob, Riko; Lieber, Tobias & Mnich, Matthias
-
“Communication Efficient Algorithms for Numerical Problems on Full and Sparse Grids” ETH Zürich, 2014, Nr. 22206
Philipp Hupp
-
“On Optimal Algorithms for List Ranking in the Parallel External Memory Model with Applications to Treewidth and other Elementary Graph Problems” ETH Zürich, 2014, Nr. 22205
Tobias Lieber
