Multi-Core-Programmierung in Java

Marwan Abu-Khalil

Kurzinformationen

Auf Anfrage
Auf Anfrage

Detailinformationen

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.

 

Die Seminarinhalte

  1. Grundlagen der parallelen Programmierung
    1. Parallelität mit Threads und Prozessen
    2. Effiziente Parallelisierung von Algorithmen
    3. Gegenseitiger Ausschluss in Software und Hardware
    4. Koordination mit Monitor und Condition Variable
    5. Task-Scheduler
  2. Java APIs für die Parallelität
    1. Java Threads
    2. Das synchronized Keyword und seine Anwendung
    3. Der Monitor in der Klasse Object und die Condition Variable
    4. Die util.concurrent Library: Containerklassen und Synchronisationsmittel
    5. Fork-Join Tasks: User-Mode Work-Stealing Scheduler in Java
    6. Java Parallel-Streams: Transparente parallele Datenverarbeitung
  3. Das Java Memory Modell
    1. Erlaubtes aber kontraintuitives Verhalten von Hardware und Software
    2. Vorhersagbares Verhalten: Die Garantie des Memory Modells
    3. Atomare Instruktionen und Spinlocks
  4. Parallele Architekturen und die richtige Technologiauswahl
    1. Wie wähle ich die richtige API für meinen Anwendungsfall aus?
    2. Welche Architekturen haben sich in Multicore Projekten bewährt?

Abu-Khalil, Marwan

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 und ist Trainer für zertifizierte Softwarearchitekten in der Siemens AG

Seminarziel

Die Programmiersprache Java umfasst eine Vielzahl von APIs für die Parallele Programmierung. In diesem hands-on Seminar lernen Sie, die richtigen für Ihren Anwendungsfall auszuwählen und korrekt und sicher damit zu programmieren.

Wir schauen uns die Fork-Join Tasks, die Parallel Streams und die grundlegende Thread API an und sehen, was unter der Haube bei deren Anwendung passiert. Auf dieser Basis lernen Sie, die richtigen Architekturentscheidungen für Ihre spezifische parallele Anwendung zu treffen.

Das Java Memory Modell bietet die semantische Basis für korrekte Programme. Im Seminar wird dieses Modell einfach und präzise erklärt, und es werden Regeln abgeleitet, mit denen sich zuverlässige parallele Programme schreiben lassen.

Zielgruppe

Das Seminar richtet sich an Entwickler und Software-Architekten.

Voraussetzungen

 

 

Sprachen

Seminar: Deutsch

Unterlagen: Deutsch

Informationen

Unsere Leistungen - Sie erhalten:

  • Schulungsunterlagen als Printversion oder PDF (bei Seminaren mit Genehmigung durch den Referenten)
  • Ihr persönliches Teilnehmerzertifikat
  • Verpflegung während des Seminars
  • Ein 1-jähriges kostenloses Abonnement der Fachzeitschrift JavaSPEKTRUM oder OBJEKTspektrum
  • als Seminarteilnehmer sind Sie OOP-Alumni und erhalten 20% Rabatt auf den Teilnehmerpreis unserer jährlichen Fachkonferenz OOP!

Ihre Frühbucher-Vorteile gültig, bei einer Anmeldung bis 4 Wochen vor Seminarbeginn!

  • "sleep & training": 2 Übernachtungen + Frühstück im Tagungshotel inklusive!
    alternativ, wenn keine Hotelübernachtung benötigt wird:
  • "travel & training": 150 € Rabatt

Gruppenrabatt

Bei einer gleichzeitigen Anmeldung von 3-4 Mitarbeitern erhalten Sie 5% Gruppenrabatt, ab 5 Mitarbeitern erhöht sich der Gruppen-Rabatt auf 10%!

Inhouse-Seminare

Dieses Seminar ist auch als Inhouse-Schulung durchführbar. Schon ab einer kleinen Teilnehmerzahl von mind. 5 Mitarbeitern kalkulieren wir Ihnen gerne ein kostengünstiges Inhouse-Trainings-Angebot.

NRW-Bildungsscheck

SIGS-DATACOM ist zugelassener Bildungspartner des Landes NRW. Ihren NRW-Bildungsscheck für unsere Seminare einzulösen ist möglich! Weitere Informationen erhalten Sie unter:NRW Bildungsscheck!!

Disclaimer

Wir sind für die eigenen Inhalte, die wir zur Nutzung bereithalten, nach den allgemeinen Gesetzen verantwortlich. Von diesen eigenen Inhalten sind Querverweise (externe Links) auf die von anderen Anbietern bereit gehaltenen Inhalte zu unterscheiden. Diese fremden Inhalte stammen nicht von uns und spiegeln auch nicht unsere Meinung wider, sondern dienen lediglich der Information. Wir machen uns diese Inhalte nicht zu eigen und übernehmen trotz sorgfältiger inhaltlicher Kontrolle keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seite sind ausschließlich deren Betreiber verantwortlich.