SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
03. - 07. Februar 2020, München

Sessionsdetails

Vortrag: Do 8.1
Datum: Do, 06.02.2020
Uhrzeit: 09:00 - 10:30
cart

Parallelität in Java: Wie wähle ich das richtige Parallel-API für mein Projekt aus?

Uhrzeit: 09:00 - 10:30
Vortrag: Do 8.1

 

Die Vielzahl der APIs für die Parallelität in Java führt uns die Bedeutung der Parallelisierung in einer unbekannten performancehungrigen Zukunft vor Augen. Aber wie wähle ich daraus die richtige Technologie für mein Projekt aus?
Der Vortrag zeigt die Unterschiede hinsichtlich Performance, Skalierbarkeit und Usability zwischen den Paradigmen der Parallelität in Java und leitet Regeln für ihre Anwendbarkeit in spezifischen Use-Cases ab. Auf Basis dieser Analyse des Technologiestacks lernen Sie, tragfähige Architekturentscheidungen zu treffen.

Zielpublikum: Architekten, Entwickler, Entscheider, die sich mit Parallelität und Performance beschäftigen wollen
Voraussetzungen: Grundlagen in einer beliebigen  objektorientierten Sprache: Die Parallelisierungskonzepte sind allgemeingültig
Schwierigkeitsgrad: Anfänger

Extended Abstract
„Into the Unknown“: Um ins Reich der Multi-Cores und Many-Cores vorzustoßen, brauche ich eine Parallelisierung, die sich selbst implizit optimiert, die mir ein einfaches API an die Hand gibt, und die sowohl mit meinen Anforderungen als auch mit der Hardware skaliert. Welche Paradigmen der Parallelität können das? Wie sind sie realisiert? Was sind ihre Risiken?
Die Evolution der Java-Plattform führt uns das Ausmaß und das Tempo der Modernisierung im Bereich der Parallelität plastisch vor Augen, mit fast jedem Release finden neue APIs für unterschiedlichste Parallelisierungsparadigmen Eingang ins JDK. In diesem Vortrag lernen Sie, die relevanten Java-Parallel-APIs und die zugrunde liegenden Paradigmen der Parallelität einzuschätzen und einzusetzen. Sie sehen, wie diese Technologien aufeinander aufbauen und welche nichtfunktionalen Eigenschaften sie voneinander unterscheiden. Auf dieser Basis erlernen Sie Kriterien für die Auswahl der optimalen Parallelisierungstechnologie für Ihren spezifischen Use-Case.
Sie lernen, welche Charakteristika hinsichtlich Performance, Skalierbarkeit, Stabilität und Usability die verschiedenen Paradigmen ausmachen:

  • Wann benutze ich ForkJoinTasks, wann besser Threads?
  • Was leisten ParallelStream und CompletableFuture?
  • Wofür braucht man Coroutines oder das Flow-API?

Um das Verhalten und die Grenzen der verschiedenen Technologien einschätzen zu können, erhalten Sie einen Einblick in die Realisierungsstrategien für Parallelität innerhalb des JDK und in das Regelwerk des JMM.
Durch diese Analyse der heute relevanten Parallelisierungstechnologien erwerben Sie die Kompetenz, auch neue zukünftige Ansätze für die Parallelität einordnen und bewerten zu können: „Through the Unknown into the Predictable“