Verbessern der Reproduzierbarkeit von Experimenten im Parallelen Rechnen
Improving Reproducibility of Experiments in Parallel Computing
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Parallel Computing,
Reproducibility,
Computational Experiments,
Survey
Die Mehrheit der wissenschaftlichen Arbeiten in der Informatik, speziell im Bereich des parallelen Rechnens, verwenden experimentelle Ergebnisse, um ihre Verbesserungen und Beiträge zu belegen. Da parallele Hardware einem extrem schnellen Wandel unterliegt haben experimentelle Arbeiten eine besondere Bedeutung für die Parallelverarbeitung. Die Vielzahl von Parametern solcher Systeme (Anzahl an Prozessoren, Netzwerktopologie, Kommunikationsprotokolle) erlauben oft nicht den rein theoretischen Vergleich von Ansätzen. Das Problem besteht jedoch darin, dass im Gegensatz zur theoretischen Analyse, eine Vielzahl von Artikeln im Bereich der Parallelverarbeitung experimentelle Resultate beschreiben, welche schwer oder kaum nachvollziehbar sind. Gründe dafür sind die oft ungenügende Beschreibung der Experimente in den Artikeln sowie das Fehlen des Quellcodes der untersuchten Programme. Die Konsequenz ist, dass andere Wissenschaftler experimentelle Studien kaum oder gar nicht reproduzieren können. Die fehlende Reproduzierbarkeit von Experimenten hat u.a. den Nachteil, dass es oft unmöglich ist, auf Arbeiten anderer aufzubauen oder eigene Ansätze mit schon publizierten Verfahren zu vergleichen. Zusätzlich erschwert ein Fehlen von experimentellen Details den Begutachtungsprozess. Ein Gutachter hat heutzutage kaum die Möglichkeit, die Ergebnisse zu bestätigen oder die Datenanalyse zu verifizieren. Diese Praktik hat weitreichende Konsequenzen für den Bereich der Informatik, da reproduzierbare Arbeit kaum belohnt wird. Im Extremfall haben Artikel, welche ihren Ansatz experimentell untermauern, keinen wissenschaftlichen Mehrwert, falls diese Experimente nicht reproduzierbar sind. Das Problem der fehlenden Reproduzierbarkeit möchten wir im vorliegenden Projekt aufgreifen und Lösungsmöglichkeiten aufzeigen. Zuerst möchten wir eine Studie über die Reproduzierbarkeit aktueller wissenschaftlicher Artikel durchführen. Dazu werden wir versuchen, experimentelle Resultate aus angesehenen Artikeln in unserer eigenen Experimentierumgebung zu bestätigen. Die Ergebnisse dieser Studie soll uns dazu dienen, die Kriterien für eine Reproduzierbarkeit von wissenschaftlichen Artikeln zu ermitteln. Wir werden außerdem untersuchen, wie sich unsere Ergebnisse in die Praxis übertragen lassen. Dazu werden wir einen Prototypen einer Beschreibungssprache entwickeln, mit der sich einzelne Experimentierschritte und deren Abhängigkeiten definieren lassen. Auf Basis dieser Sprache sollen Tools entwickelt werden, die Wissenschaftlern im Bereich des parallelen Rechnens helfen sollen, Reproduzierbarkeit der eigenen Experimente zu ermöglichen. Wir werden unsere entwickelten Methoden überprüfen, indem wir einen neuen wissenschaftlichen Artikel zu einem unserer Forschungsthemen so gestalten, dass Leser die Experimente später reproduzieren können.
In vielen Forschungsgebieten, wie z.B. in der Informatik, ist die experimentelle, empirische Validierung von Hypothesen zentraler Gegenstand wissenschaftlicher Erkenntnisgewinnung. Hierbei werden experimentelle Resultate verwendet, um wissenschaftliche Thesen entweder zu unterstützen oder zu widerlegen. Ein Problem entsteht, wenn unabhängige Forscher Resultate anderer nicht reproduzieren können. In diesen Fällen ist ein Validieren oder Anfechten von wissenschaftlichen Erkenntnissen unmöglich.In diesem Projekt haben wir das Problem der Reproduzierbarkeit von Experimenten im Bereich des parallelen Rechnens untersucht, da sich unsere Forschung im Generellen auf den Bereich der Datenkommunikation innerhalb von Großrechnern (z.B. Rechner-Cluster) konzentriert. Der Datenaustausch auf diesen Rechnern wird häufig durch eine Implementierung des Message Passing Interface (MPI) sichergestellt, welches eine standardisierte Schnittstelle für Datenkommunikation bereitstellt. Deshalb war ein Ziel unseres Projekts, den Zustand wissenschaftlicher Publikationen in diesem Forschungsbereich auf ihre Reproduzierbarkeit hin zu untersuchen.Um dieses Ziel zu erreichen, haben wir zuerst Kriterien für wissenschaftliche Artikel in diesem Forschungsgebiet definiert, die zwingend notwendig sind, damit sich Resultate reproduzieren lassen. Im Anschluss haben wir mit Hilfe dieser Kriterien eine Studie der Reproduzierbarkeit von wissenschaftlichen Artikeln zum Thema MPI durchgeführt. Das Ergebnis war eher ernüchternd, da die meisten der publizierten Ergebnisse (in unserer Studie) nicht annähernd reproduzierbar waren.Da das Ergebnis der Studie nicht überraschend war, wollten wir außerdem die Situation der Reproduzierbarkeit in unserem Forschungsgebiet verbessern. Wir untersuchten deshalb, wie man Laufzeitmessungen von MPI-Kommunikationsoperationen möglichst gut reproduzieren kann. Dazu haben wir den Effekt diverser, experimenteller Faktoren auf die Laufzeit von parallelen Programmen hin umfassend untersucht. Durch diese Analyse konnte der Einfluss von bisher wenig beachteten Faktoren quantifiziert werden. Zum Beispiel ist es notwendig, Übersetzer-Einstellungen oder die Taktfrequenz der Prozessoren für jedes Experiment anzugeben, um eine Vergleichbarkeit der Ergebnisse zu gewährleisten. Unsere Faktorenanalyse war ebenso ein Grundstein, um eine neue Messmethodik für MPI-Operationen zu definieren. Wir konnten empirisch zeigen, dass unsere Messmethode die Varianz der Resultate zwischen verschiedenen Tests im Vergleich zu älteren Messverfahren deutlich reduziert, wodurch die Reproduzierbarkeit von MPI-Laufzeitmessungen entscheidend verbessert werden konnte.
- Technische Universität Wien - 100%
- Peter Sanders, Universität Karlsruhe - Deutschland
- Arnaud Legrand, INRIA Mescal - Frankreich
- Torsten Höfler, Eidgenössische Technische Hochschule Zürich - Schweiz
Research Output
- 80 Zitationen
- 8 Publikationen
-
2016
Titel PGMPI: Automatically Verifying Self-Consistent MPI Performance Guidelines DOI 10.48550/arxiv.1606.00215 Typ Preprint Autor Hunold S -
2015
Titel A Survey on Reproducibility in Parallel Computing DOI 10.48550/arxiv.1511.04217 Typ Preprint Autor Hunold S -
2015
Titel MPI Benchmarking Revisited: Experimental Design and Reproducibility DOI 10.48550/arxiv.1505.07734 Typ Preprint Autor Hunold S -
2015
Titel On the Impact of Synchronizing Clocks and Processes on Benchmarking MPI Collectives DOI 10.1145/2802658.2802662 Typ Conference Proceeding Abstract Autor Hunold S Seiten 1-10 -
2014
Titel Reproducible MPI Micro-Benchmarking Isn't As Easy As You Think DOI 10.1145/2642769.2642785 Typ Conference Proceeding Abstract Autor Hunold S Seiten 69-76 -
2014
Titel One step toward bridging the gap between theory and practice in moldable task scheduling with precedence constraints DOI 10.1002/cpe.3372 Typ Journal Article Autor Hunold S Journal Concurrency and Computation: Practice and Experience Seiten 1010-1026 -
2016
Titel Reproducible MPI Benchmarking is Still Not as Easy as You Think DOI 10.1109/tpds.2016.2539167 Typ Journal Article Autor Hunold S Journal IEEE Transactions on Parallel and Distributed Systems Seiten 3617-3630 -
2014
Titel Stepping Stones to Reproducible Research: A Study of Current Practices in Parallel Computing DOI 10.1007/978-3-319-14325-5_43 Typ Book Chapter Autor Carpen-Amarie A Verlag Springer Nature Seiten 499-510 Link Publikation