parallel 2012

Softwarekonferenz und Workshops für Parallel Programming, Concurrency und Multicore-Systeme - Karlsruhe, IHK, 23.-25. Mai 2012

Softwarekonferenz und Workshops für Parallel Programming, Concurrency und Multicore-Systeme. Karlsruhe, IHK, 23.-25. Mai 2012

Parallel 2012 » Agenda »

Jenseits von Thread und synchronized: Parallele Programmierung in Java 7 mit Tasks und anderen Entwurfsmustern

Viele Programmierer kennen inzwischen Threads und die Grundprobleme der Programmierung mit Threads wie den Schutz kritischer Abschnitte durch Sperren, z.B. mit synchronized in Java. Dieses Tutorial führt von dort aus weiter, denn die Programmierung mit "nackten" Threads ist zu fehlerträchtig, verbraucht zu viele Ressourcen und skaliert schlecht.

Besser unter diesen Aspekten sind oft Tasks: Nebenläufig ausführbare Programmabschnitte, deren Ausführung durch Threads nicht der Programmierer, sondern eine Bibliothek übernimmt. Java bietet seit Version 5 eine Task-Bibliothek, die mit Java 7 gerade eine wichtige Erweiterung erfahren hat. Das Tutorial führt das Task-Konzept ein und stellt Javas Task-Bibliothek schrittweise mit vielen Beispielen vor. Dazu kommen noch Tipps zur übersichtlichen und performanten Strukturierung paralleler Java-Anwendungen (und eigentlich nicht nur dieser) durch Entwurfsmuster wie Thread-lokaler Speicher, konstante Objekte, Master-Slave, Pipeline, Work Pile, Work Stealing und Verminderung von Konkurrenz an Sperren.

Um den Ablauf motivierend zu halten, werden neben häufigen Fragen ans Publikum gelegentlich Multiple-Choice-Fragen mit Abstimmgeräten (mit sofortiger Anzeige der Antwortverteilung als Säulendiagramm) zur Verständniskontrolle und drei Programmierübungen am Beamer (kein eigener Rechner nötig) eingestreut.

Referent

Holger Peine Holger Peine

ist seit 2008 Professor für Softwaretechnik und IT‐Sicherheit an der Fachhochschule Hannover und lehrt dort u.a. parallele Programmierung. Zuvor hat er sechs Jahre lang als Projektleiter am Fraunhofer‐Institut für Experimentelles Software Engineering (IESE) in Kaiserslautern Kunden rund um die IT‐Sicherheit beraten und Forschungsprojekte über Methoden und Werkzeuge zur Entwicklung sicherer Software konzipiert und geleitet. Sein theoretisches Rüstzeug stammt von der TU Kaiserslautern, wo er Informatik studiert und 2002 über Laufzeitunterstützung für die parallele und sichere Ausführung von mobilem Code promoviert hat.