Wintersemester 2021/2022

Parallelrechnersysteme

Inhalt

Für eine effiziente Programmierung paralleler Rechnersysteme ist eine detaillierte Kenntnis der zugrunde liegenden Hardwarearchitektur unerlässlich. Zwar ermöglichen moderne Compiler und Programmierschnittstellen eine weitgehende Abstraktion von der verwendeten Hardwarearchitektur, jedoch wird diese Abstraktion teilweise durch erhebliche Performanceeinschränkungen erkauft. So können beispielweise Grafikprozessoren (GPUs) ihre Leistungsfähigkeit nur ausspielen, wenn deren Programmierung unter explizierter Berücksichtigung der Speicherhierarchie, der Anzahl der Cores sowie des Funktionsumfangs einzelner Cores erfolgt. Die Vorlesung beschäftigt sich daher mit dem Hardwareaufbau aktueller paralleler Rechensysteme, insbesondere von Multicore- und Manycore-Architkturen und dessen Einfluss auf die Programmierung entsprechender Systeme. Ein besonderer Fokus wird dabei auf der Programmierung von GPUs mittels OpenCL liegen. Neben einer Betrachtung allgemeiner Aspekte der Parallelverarbeitung wird auch auf das Systemmanagement von Manycore-Systeme eingegangen, beispielsweise auf Verfahren zur dynamischen Anpassung der Taktrate und der Versorgungsspannung einzelner Kerne. Die Themen der Vorlesung sind im Einzelnen:

  • Motivation und Grenzen für Parallelverarbeitung
  • Modelle der Parallelverarbeitung
  • Klassifikation von Parallelrechnern
  • Multi/Manycore-Systeme
  • Grafikprozessoren (GPUs)
  • OpenCL
  • Programmierumgebungen für Parallelrechner
  • Hardwarearchitekturen
  • Systemmanagement von Manycore-Systemen

Literatur

  • M. McCool, J. Reinders, Aa. D. Robison : Structured Parallel Programming, Morgan Kaufman, 2012, ISBN  978-0124159938
  • M. Dubois, M. Annavaram, P. Stenström: Parallel Computer Organization and Design, University Press 2012, ISBN 978-0521886758
  • B. R. Gaster, L. Howes, D. R. Kaeli, P. Mistry, D. Schaa: Heterogeneous Computing with OpenCL, Elsevier/Morgan Kaufman 2013, ISBN 978-0-12-405894-1
  • B. Wilkinson; M. Allen: Parallel Programming, Englewood Cliffs: Pearson 2005, ISBN 978-0131405639
  • J. Jeffers, J. Reinders: Intel Xeon Phi Coprozessor High-Performance Programming - Elsevier/Morgan Kaufman 2013, ISBN 978-0-12-410414-
  • D. A. Patterson, J. L. Hennessy: Computer Organization and Design, Morgan Kaufmann, 2013, ISBN 978-0124077263