Newsletter

   Kontakt

Parallele Programmierung in Java

Effiziente Software für Multi-Core Systeme. 3-tägiger iX-Workshop.

(3-tägiger iX-Workshop)

In diesem praxisorientierten Seminar wird die parallele Programmierung in Java von Grund auf erschlossen. Sie werden in die Lage versetzt, effiziente, deterministische parallele Programme in Java eigenständig zu entwerfen, und Sie lernen, die richtigen Technologien und Architekturen für Ihren Anwendungsfall auszuwählen.

Im Laufe der Jahre sind stetig neue parallele APIs ins JDK aufgenommen worden, um Multicore-CPUs immer besser nutzbar zu machen. Sie lernen im Seminar alle wichtigen  APIs für die Parallelität in Java kennen, und Sie verstehen im Detail, welche technologischen Paradigmen diesen jeweils zugrunde liegen.

Sie programmieren im Seminar zahlreiche Übungen, um die Tricks und Schwierigkeiten der Parallelität praktisch zu erfahren. So sehen Sie, wie man mit Threads Algorithmen beschleunigt und lernen dabei auch die Fallstricke einer unüberlegten Parallelisierung kennen. Sie Setzen Fork-Join Tasks ein und erkennen an konkreten Beispielen, wo diese den klassischen Threads überlegen sind. Mit Java Parallel Streams lernen Sie ein elegantes API für die transparente parallele Datenverarbeitung einzusetzen.

Grundlagen der Parallelität, wie der sichere gegenseitige Ausschluss mit synchronized und mit expliziten Mutexen, die Koordination über das Monitor Pattern, der korrekte Einsatz von Condition Variablen und ein sicherer Umgang mit dem Java Memory Modell werden theoretisch erschlossen, und praktisch erfahrbar gemacht.

Um das Verhalten Ihrer parallelen Programme zu genau zu verstehen, erhalten Sie einen tiefen Einblick in die Realisierung von Threads und Synchronisation im Zusammenspiel der Java VM mit dem unterliegenden Betriebssystem und der Hardware.

Zielgruppe

Entwickler, Architekten und Entscheider, die parallele Systeme mit Java entwickeln.

Voraussetzungen

  • Java Grundlagen sind erforderlich.
  • Es ist kein Wissen über parallele Programmierung erforderlich.

Leistungen Ihres Workshoptickets

  • Workshopunterlagen
  • Tagungsgetränke & Verpflegung
  • Teilnahmebescheinigung


Der Workshop ist auf 15 Teilnehmer begrenzt!

Durchführung

Ist die Durchführung der Veranstaltung aufgrund höherer Gewalt, wegen Verhinderung eines Referenten, wegen Störungen am Veranstaltungsort oder aufgrund zu geringer Teilnehmerzahl (weniger als 50%) nicht möglich, werden die Teilnehmer spätestens 14 Tage vorher durch das heise Events-Team informiert.

Kontakt

Haben Sie Fragen zu der Organisation oder der Veranstaltung? Gern beantworten wir Ihre Fragen per E-Mail!

heise Events // events@heise.de

Termine & Preise

24. - 26.06.2019, Frankfurt am Main

DE-CIX Management GmbH, Lindleystraße 12, 60314 Frankfurt am Main

Tickets Frankfurt

09. - 11.12.2019, Hannover

Heise Medien GmbH & Co. KG, Karl-Wiechert-Allee 10, 30625 Hannover

Tickets Hannover

Preise

Frühbucherpreis: 1.831,00 € *

Standardpreis: 2.034,00 € €

Alle Preise inkl. MwSt.

* 10% Frühbucherrabatt bis 6 Wochen vor Veranstaltungsbeginn

Agenda & Trainer

Programm Tag 1

  • 08:30 - 09:00 Uhr Registrierung

  • 1 Grundlagen der parallelen Programmierung

  • 1.1 Parallelität mit Threads und Prozessen

  • 1.2 Effiziente Parallelisierung von Algorithmen

  • 1.3 Gegenseitiger Ausschluss in Software und Hardware

  • 1.4 Koordination mit Monitor und Condition Variable

  • 1.5 Task-Scheduler

  • Ende gegen 17:00 Uhr

Programm Tag 2

  • Beginn um 9:00 Uhr

  • 2. Java APIs für die Parallelität

  • 2.1 Java Threads

  • 2.2 Das synchronized Keyword und seine Anwendung

  • 2.3 Der Monitor in der Klasse Object und die Condition Variable

  • 2.4 Die util.concurrent Library: Containerklassen und Synchronisationsmittel

  • 2.5 Fork-Join Tasks: User-Mode Work-Stealing Scheduler in Java

  • 2.6 Java Parallel-Streams: Transparente parallele Datenverarbeitung

  • Ende gegen 17:00 Uhr

Programm Tag 3

  • Beginn um 9:00 Uhr

  • 3. Das Java Memory Modell

  • 3.1 Erlaubtes aber kontraintuitives Verhalten von Hardware und Software

  • 3.2 Vorhersagbares Verhalten: Die Garantie des Memory Modells

  • 3.3 Atomare Instruktionen und Spinlocks

  • 4 Parallele Architekturen und die richtige Technologiauswahl

  • 4.1 Wie wähle ich die richtige API für meinen Anwendungsfall aus?

  • 4.2 Welche Architekturen haben sich in Multicore Projekten bewährt?

  • Ende gegen 17:00 Uhr

Jeweils 15 Minuten Kaffeepause am Vormittag und am Nachmittag. Jeweils 60 MInuten Mittagspause von 12.30 Uhr bis 13:30 Uhr.

Marwan Abu-Khalil

Marwan Abu-Khalil ist Senior Software Architekt für parallele und verteilte Systeme im Forschungsbereich der Siemens AG. Er hält regelmäßig Konferenzvorträge und Seminare über Parallelisierung. Marwan Abu-Khalil ist Trainer für zertifizierte Softwarearchitekten in der Siemens AG.