Bewertung verschiedener Parallelisierungsstrategien im Hinblick auf Leistungsfähigkeit von paralleler Programmausführung

Aus SDQ-Institutsseminar
Vortragende(r) Lukas Greiner
Vortragstyp Bachelorarbeit
Betreuer(in) Angelika Kaplan
Termin Fr 14. Februar 2020
Vortragssprache
Vortragsmodus
Kurzfassung Moderne Prozessoren erreichen eine Leistungssteigerung durch Hinzufügen mehrerer Kerne. Dadurch muss bei der Softwareentwicklung darauf geachtet werden, die Programmabläufe zu parallelisieren. Einflussfaktoren, die die Leistungsfähigkeit paralleler Programmausführung beeinflussen können, wurden bereits kategorisiert. Der Einfluss der gewählten Parallelisierungsstrategie ist dabei unbekannt.

Im Rahmen der Bachelorarbeit wurde der Einfluss der gewählten Parallelisierungsstrategie auf die Leistungsfähigkeit von Software untersucht. Dazu wurden unterschiedliche Hardwareanforderungen genutzt. Mit ihnen wurden einzelne Arbeitspakete generiert. Diese wurden durch verschiedene Parallelisierungsstrategien ausgeführt. Die verwendeten Parallelisierungsstrategien sind: Java Threads, Java ParallelStreams, OpenMp und Akka Actor. Bei jeder Ausführung wurden die Laufzeit und das Cacheverhalten gemessen. Zudem wurden die Experimente auf verschiedenen dezidierten Servern und dem BwUniCluster durchgeführt. Die Auswertungen erfolgten mittels Beschleunigungskurven und der Cache Miss Rate. Die Ergebnisse zeigen, dass sich die Parallelisierungsstrategien bei den verwendeten Arbeitspaketen nur in geringem Maße unterscheiden.