Modul Inhalt

Die Taktfrequenz von Prozessoren erreicht eine technische Grenze. Nach dem vielfach zitierten Moore's Law verdoppelt sich die Komplexität von integrierten Schaltungen regelmäßig innerhalb eines Zeitraums von 1,5 bis 2 Jahren. Übertragen auf Prozessoren bedeutet dies, dass sich die Taktfrequenz regelmäßig verdoppelt. Ein Blick in die vergangenen Jahre zeigt, dass sich dieser Zusammenhang als richtig herausgestellt hat - bis jetzt!

Diese Entwicklung stößt an Grenzen, die allein mit der Ableitung der entstehenden Wärme zu tun haben. Um trotzdem leistungsfähigere Systeme zu produzieren, setzen die Hardwarehersteller auf den Einsatz mehrere Kerne bzw. mehrere Prozessoren. Dabei ist zu beobachten, dass sich die Taktfrequenz eines einzelnen Prozessors nicht mehr nach oben, sondern eher stabil bzw. leicht abfallend bewegt. Evtl. behält Moore's Law trotzdem Gültigkeit, z.B: durch eine regelmäßige Verdopplung der Anzahl an Kernen.

Was bedeutet das für die Software?

Damit eine Software die Leistungsfähigkeit von Systemen mit einer großen Anzahl an Kernen ausnutzen kann, ist bereits in der Designphase Nachhaltigkeit in der Softwarearchitektur gefragt. Doch was heißt das genau? Gibt es dafür unterschiedliche Ansätze? Wie kann man heutige Systeme voll ausnutzen und sich dabei gleichzeitig auf die Systeme der Zukunft vorbereiten?

Inhalte

  • Parallelprogrammierung allgemein
  • Technologische Grundlagen
  • Überblick über die verschiedenen Methoden der Parallelprogrammierung
  • .NET 4.0 Task Parallel Library 

Seminarziel

Der Workshop vermittelt neben einem grundsätzlichen Verständnis der Problematik auch die Basiswerkzeuge, die für die Programmierung in parallelen Umgebungen benötigt werden. Auf diesem Grundstock aufbauend werden verschiedene Techniken der Parallelprogrammierung erlernt. Dabei spielen Konzepte, die es bereits seit den Anfängen von .NET gibt ebenso eine Rolle, wie die neuesten .NET Erweiterungen. Insbesondere wird die Kompetenz vermittelt, die Techniken nicht nur einzusetzen sondern auch das richtige Werkzeug für den passenden Einsatzzweck auszuwählen.

Voraussetzungen

Grundlagen der Software-Entwicklung, Grundlagen in C#/.NET 

Methode

Wissensvermittlung, Präsentation, Vortrag, Live-Beispiele, Diskussion

Zielgruppe

.NET Entwickler
Software-Architekten)

Level

300

Dauer

1 Tag