Kontakt
Kompetentes und unabhängiges Wissen für IT-Profis.
Konferenzen, Workshops und Webinare.
Technologien und Architekturen für moderne parallele Softwaresysteme
(2-tägiger iX-Workshop mit optionalem 3. Tag zu Realtime Multi-Core)
Die parallele Programmierung ist heute eine Schlüsseltechnologie für die Performancesteigerung von Software. In diesem Workshop lernen Sie, die aktuellen Technologie-Paradigmen der parallelen Programmierung kennen. Sie lernen Vor- und Nachteile dieser Technologien zu bewerten, um auf dieser Basis Architekturen für Ihre Parallelisierungsprojekte zu konzipieren.
Der Workshop beantwortet Fragestellungen der folgenden Art: Wann sind User-Mode Task-Scheduler geeignet und wann sind Threads die bessere Alternative? Wo sollte man transparente Parallelisierungsansätze wie PLINQ oder Java Parallel Streams nutzen und worin besteht der Vorteil von Message Passing mit Channels in go? Was sind die Auswirkungen der Memory-Modelle moderner Multi-Core Hardware auf die Software, und wie geht man einfach und sicher mit diesen um?
Die praktische Anwendung der parallelen Programmierung steht im Mittelpunkt des Workshops. Wir arbeiten uns von den theoretischen Grundlagen über die Parallelisierung von Algorithmen mit Threads, hin zur Anwendung der heute wichtigen Task-Scheduler.
Neben Technologien stehen auch Architekturen im Fokus. Wir schauen uns erfolgreiche und gescheiterte Multi-Core Migrationsprojekte an, so dass sichtbar wird, welche Architektur-Entscheidungen zu tragfähigen Lösungen in der Praxis führen.
Am optionalen dritten Tag erschließen wir uns die Multi-Core Programmierung in Embedded Realtime Systemen, die aufgrund ihrer hardwarenahen Programmiertechniken durch die Multi-Core Revolution vor besondere Herausforderungen gestellt sind. Sie lernen, welche Features Realtime Systeme für eine erfolgreiche Multi-Core Parallelität benötigen und wie man mit den Fallstricken des Priority-Schedulings in SMP Umgebungen umgeht. Sie lernen Realtime Betriebssysteme (z.B. Realtime-Linux, VxWorks) und Realtime Programmierumgebungen (z.B. Realtime Java) kennen.
Praktische Übungen legen das Fundament für den erfolgreichen Transfer in die Praxis. Die Übungen, Musterlösungen und Beispiele liegen in C#, Java, C++ 11, Go, P-Threads, und in Win32 und vor, so dass jeder Teilnehmer in seiner realen Arbeitsumgebung üben kann.
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.
Voraussetzungen
Leistungen Ihres Workshoptickets
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 beantworte ich Ihre Fragen per E-Mail!
Jennifer Rypalla // jery@heise.de
Tag 1 - 2
Frühbucherpreis: 1.850,00 € *
Standardpreis: 2.035,00 €
Alle Preise inkl. MwSt.
Tag 3 (optional)
Frühbucherpreis: 400,00 € *
Standardpreis: 550,00 €
Alle Preise inkl. MwSt.
* 10% Frühbucherrabatt bis 6 Wochen vor Veranstaltungsbeginn
Programm Tag 1
08:30 - 09:00 Uhr Registrierung
09:00 - 10:30 Uhr TEIL 1: The State of The Art
Übersicht der aktuellen Parallelisierungs-Technologien
10:30 - 11:00 Uhr Kaffeepause
11:00 - 12:30 Uhr Fortsetzung TEIL 1: The State of The Art
12:30 - 13:30 Uhr Mittagspause
13:30 - 15:00 Uhr TEIL 2: Thread-Programmierung
Parallelität: Threads / Gegenseitiger Ausschluss: Synchronisation, Mutex und Lock / Koordination von Threads: Monitor und Procedur-Consumer
15:00 - 15:30 Uhr Kaffeepause
15:30 - 17:00 Uhr Fortsetzung TEIL 2: Thread-Programmierung
Programm Tag 2
09:00 - 10:30 Uhr TEIL 3: Task-Programmierung
Work-Stealing User-Mode Task-Scheduler in Theorie und Praxis
10:30 - 11:00 Uhr Kaffeepause
11:00 - 12:30 Uhr Fortsetzung TEIL 3: Task-Programmierung
12:30 - 13:30 Uhr Mittagspause
13:30 - 15:00 Uhr TEIL 4: Memory-Modelle in moderner Multicore-Hardware
Relaxed Consistancy / Atomare Instruktionen und Spinlocks
15:00 - 15:30 Uhr Kaffeepause
15:30 - 17:00 Uhr Fortsetzung TEIL 4: Memory-Modelle in moderner Multicore-Hardware
Programm Tag 3 (optional)
09:00 - 17:00 Uhr TEIL 5: Realtime-Multicore Programmierung
Realtime Betriebssysteme und Multi-Core CPUs / Realtime-Priority-Scheduling und Multi-Core Parallelität (SMP) / Single-Core zu Multi-Core Migration Best-Practices
12:30 - 13:30 Uhr Mittagspause
15 Minuten Kaffeepause am Vormittag.
Marwan Abu-Khalil
Senior Software Architekt (SSWA) in der Siemens AG und arbeitet seit über 10 Jahren an der Parallelisierung unterschiedlichster Systeme vom Server-Backend bis zum Embedded-Device. Er ist langjähriger Trainer für Software-Architektur und spricht auf Konferenzen über Parallelisierung.