Parallele Programmierung - Technologien und Architekturen für performante Softwaresysteme auf Multicore-Prozessoren

Marwan Abu-Khalil

Detailinformationen

 

Parallele Programmierung: Ein Beitrag zum Unternehmenserfolg

 

Parallele Programmierung ist heute eine Schlüsseltechnologie für die Performancesteigerung von Software. Moderne CPUs haben immer mehr Kerne jedoch steigen die Prozessorfrequenzen nicht mehr weiter an. Daher kann nur noch diejenige Software Performance-Steigerungen auf Grund von Hardware-Innovation realisieren, die immer weiter parallelisierbar ist. Architekturen für parallele Softwaresysteme müssen sowohl die Komplexität der Parallelverarbeitung kapseln als auch ein effizientes Laufzeitverhalten ermöglichen um Software langfristig skalierbar und wartbar zu halten.  Die Techniken der Parallelen Programmierung gehören daher zum unabdingbaren Handwerkszeug für Entwickler und Architekten.

 

Das Seminar

 

In diesem Seminar erschließt Ihnen der Experte Marwan Abu-Khalil die parallele Programmierung praxisnah und von Grund auf. Wir arbeiten uns von den theoretischen Grundlagen über die klassische Parallelisierung mit Threads hin zu den heute wichtigen Task-Schedulern. Dabei sehen wir, wie Synchronisationskonzepte für die Koordination paralleler Aufgaben am besten genutzt werden, und wir lernen mit den Memory-Modellen moderner Multicore-CPUs umzugehen. Die Unterrichtsinhalte werden durch konkrete Progammierübungen vertieft, die wahlweise in C#, Java, C++ 11 oder in C/C++ auf Basis der Windows-API oder P-Threads durchgeführt werden können.

 

Lernziele: 

  • Die richtigen Technologien für unterschiedliche Anwendungsfälle auswählen können (z.B. wann nutze ich Threads und wann besser einen Task-Scheduler)
  • Moderne APIs optimal nutzen und deren Features und Fallstricke kennenlernen (welche Kniffe gibt es z.B. bei der Benutzung der .Net TPL)
  • Softwarearchitekturen für parallele Systeme entwerfen können und geeignete Patterns kennen (z.B. wie muss ich Parallelität in der Planung einer Softwarearchitektur berücksichtigen)

Das Themenspektrum

  • Moderne Task-Scheduler (User-Mode / Work-Stealing)
    • Parallelisierung von Algorithmen mit Hilfe von Task-Schedulern
    • Tasks Parallel Library (C#), Java Fork-Join
  • Klassische Parallelisierung mit Threads und Prozessen
    • Parallelität und Synchronisation
    • Koordination, Monitor-Pattern, Producer-Consumer Szenarien
    • Beispiele und Programmierübungen in C#, Java und C++ 11
  • Memory-Modelle und Konsistenz
    • Deterministische Software für moderne Multicore-CPUs
    • Verbreitete Memory-Modelle (ARM, Intel x68, C++ 11, Java)

Warum Sie dieses Seminar nicht verpassen sollten:

  • Parallelisierung der Software ist die Voraussetzung für eine Performancesteigerung durch Multicore CPUs: Im Seminar werden Ihnen die erforderlichen Technologie-Kenntnisse vermittelt und der Transfer wird durch praktische Übungen den Transfer in die Praxis sichergestellt
  • Potentiale und Risiken einer Parallelisierung müssen erkannt und sorgfältig abgewogen werden: Im Seminar werden Kriterien und Erfahrungswerte vermittelt
  • Architekturen für parallele Systeme sollen Effizienz und Wartbarkeit sicherstellen: das Seminar führt in die dafür erforderlichen Patterns, Methoden und die theoretischen Grundlagen ein. 

Abu-Khalil, Marwan

ist Senior-Software-Architekt für parallele und verteilte Systeme im Forschungsbereich der Siemens AG. Seit über 10 Jahren parallelisiert er Systeme vom Embedded-Device bis zum Server-Cluster. Er unterrichtet parallele Programmierung für namhafte Anbieter (Heise, SIGS) und spricht auf Konferenzen über parallele Softwarearchitekturen. Marwan ist Ausbilder für zertifiziere Software-Architekten der Siemens AG.

Seminarziel

Die Teilnehmer erhalten eine umfassende Einführung in die praktische Anwendung moderner Parallelisierungstechnologien. Die zugehörigen theoretischen und technologischen Grundlagen werden gemeinsam erarbeitet und der Praxistransfer wird durch konkrete Anwendungsfälle und Programmierübungen sichergestellt. Die Teilnehmer lernen somit, wie aktuelle Parallelisierungs-Technologien effizient eingesetzt werden können und wie Softwarearchitekturen optimal darauf zugeschnitten werden können.

Zielgruppe

Zielgruppe des Seminars sind Entwickler und Softwarearchitekten, die in ihren Projekten parallele Software entwickeln oder dieses planen. Es werden sowohl die besonderen Herausforderungen der Parallelisierung vorhandener Software als auch die Konzeption und Realisierung komplett neuer Systeme behandelt.

Hard- Software Voraussetzungen

 

Die Seminarteilnehmer werden gebeten, einen eigenen Laptop mit Microsoft Visual Studio 2012 (oder neuer) oder mit einer Entwicklungsumgebung für Java 7 (oder neuer) zur Schulung mitzubringen.

 

 

 

Sprachen

Seminar: Deutsch

Unterlagen: Deutsch

Methode

  • Folienvorträge mit Codebeispielen (ca. 30 – 60 Min pro Thema)
  • Übungen auf dem Papier mit anschließendem Vortrag: Lösung von Aufgaben zu Architektur und Programmierung
  • Gruppenübungen (3 – 5 Personen pro Gruppe)
  • Programmierübungen in C#, Java, C++ 11 oder in C/C++ auf Basis der Windows-API oder P-Threads (2 – 3 Personen pro Gruppe)

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 Teilnehmerzahl von 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!!