ScholarGate
Assistent

Parallel- und Multicore-Architektur

Die Parallel- und Multicore-Architektur befasst sich mit Hardware, die viele Operationen gleichzeitig ausführt – mehrere Kerne auf einem Chip, Vektor- und SIMD-Einheiten sowie massiv parallele GPUs – zusammen mit den Speicher- und Kommunikationsstrukturen, die eine korrekte und effiziente parallele Arbeit ermöglichen.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Parallel- und Multicore-Architektur ist das Design von Computerhardware, die mehrere Berechnungen gleichzeitig durch replizierte Kerne, breite datenparallele Einheiten oder spezialisierte Beschleuniger durchführt, zusammen mit den Verbindungs- und Speichermechanismen, die diese koordinieren.

Scope

Dieser Bereich umfasst Hardware-Organisationen für Parallelität: Chip-Multiprozessoren und Many-Core-Designs, Shared-Memory-Systeme und die von ihnen benötigte Kohärenz und Konsistenz, SIMD- und Vektorprozessoren für Datenparallelität sowie GPU-Architekturen. Er behandelt, wie parallele Hardware gebaut wird und wie ihre Leistung skaliert. Ausgenommen sind die Softwareseite der parallelen und verteilten Programmierung und verteilte Systeme im Cluster-Maßstab, die unter „Verteiltes und paralleles Rechnen“ behandelt werden, sowie die Single-Core-Ausführungseinheit, die unter „Prozessor-Mikroarchitektur“ behandelt wird.

Sub-topics

Core questions

  • Wie skaliert parallele Hardware die Leistung, und was begrenzt diese Skalierung?
  • Wie werden mehrere Kerne auf einem Chip integriert und mit gemeinsamem Speicher verbunden?
  • Welche Speicherkonsistenz- und Kohärenzgarantien muss Shared-Memory-Hardware bieten?
  • Wie nutzen SIMD-, Vektor- und GPU-Designs die Datenparallelität aus?
  • Wie werden parallele Architekturen an Workloads angepasst, um den nützlichen Durchsatz pro Watt zu maximieren?

Key concepts

  • Chip-Multiprozessor
  • Thread-Level-Parallelität
  • Datenparallelität
  • SIMD- und Vektorverarbeitung
  • GPU und Many-Core
  • Shared Memory und Kohärenz
  • Speicherkonsistenz
  • Verbindungsnetzwerk
  • Amdahls Gesetz und Skalierbarkeit
  • Synchronisationshardware

Key theories

Amdahls Gesetz
Die Beschleunigung durch Parallelisierung einer Berechnung ist durch den Anteil begrenzt, der sequenziell ausgeführt werden muss: Selbst mit unbegrenzten Prozessoren begrenzt der serielle Anteil die Gesamtbeschleunigung, was die Gestaltung und Bewertung paralleler Architekturen prägt.
Flynn-Taxonomie der Parallelität
Parallele Hardware wird danach organisiert, wie Befehls- und Datenströme kombiniert werden – zum Beispiel Single-Instruction Multiple-Data (SIMD) für Datenparallelität und Multiple-Instruction Multiple-Data (MIMD) für Multicore- und Multiprozessorsysteme – eine Klassifikation, die architektonische Entscheidungen prägt.

Mechanisms

Multicore-Prozessoren platzieren mehrere Kerne auf einem Die, die eine oder mehrere Cache-Ebenen und eine Speicherschnittstelle gemeinsam nutzen und durch eine On-Chip-Verbindung verbunden sind. Kohärenzprotokolle halten ihre Caches konsistent, und ein Speicherkonsistenzmodell definiert die Reihenfolge der Speicheroperationen, die über die Kerne hinweg sichtbar sind. Datenparallele Hardware – Vektoreinheiten, SIMD-Lanes und GPUs mit vielen leichtgewichtigen Kernen – wendet eine Operation auf viele Datenelemente an, während Synchronisationsprimitive parallele Threads koordinieren.

Clinical relevance

Nachdem die Taktskalierung von Einzelkernen stagnierte, wurde die Parallel- und Multicore-Architektur zum primären Weg zu höherer Leistung, sodass praktisch alle modernen Prozessoren Multicore sind. GPUs und SIMD-Einheiten treiben heute Grafiken, wissenschaftliches Rechnen und die Matrixoperationen an, die das Herzstück des Deep Learning bilden, wodurch parallele Hardware für Hochleistungs- und Künstliche-Intelligenz-Workloads von zentraler Bedeutung ist.

History

Parallele Maschinen reichen bis zu Vektor-Supercomputern wie dem Cray-1 in den 1970er Jahren und zu Forschungs-Multiprozessoren der 1980er und 1990er Jahre zurück. Das Ende der Frequenzskalierung um die Mitte der 2000er Jahre drängte die Industrie zu Multicore-Chips als Standard. GPUs entwickelten sich von festfunktionalen Grafik-Pipelines zu programmierbaren Many-Core-Beschleunigern, und datenparallele Architekturen wurden grundlegend für modernes maschinelles Lernen.

Debates

Allzweck-Multicore versus spezialisierte Beschleuniger
Angesichts abnehmender Erträge von homogenen Multicores wird darüber diskutiert, wie stark domänenspezifische Beschleuniger (GPUs, Tensor-Einheiten) gegenüber Allzweckkernen bevorzugt werden sollten, wobei Programmierbarkeit und Flexibilität gegen Effizienz für bestimmte Workloads abgewogen werden.

Key figures

  • Gene Amdahl
  • Michael J. Flynn
  • John L. Hennessy
  • David A. Patterson
  • David E. Culler

Related topics

Seminal works

  • hennessy2019
  • amdahl1967
  • patterson2020

Frequently asked questions

Warum sind Prozessoren zu mehreren Kernen übergegangen?
Die Erhöhung der Taktfrequenz eines einzelnen Kerns stieß Mitte der 2000er Jahre an Leistungs- und Hitzegrenzen. Das Hinzufügen weiterer Kerne erhöhte den Gesamtdurchsatz innerhalb desselben Leistungsbudgets, sodass Multicore zum dominierenden Weg wurde, um die Leistungssteigerung fortzusetzen – obwohl dies die Last der Beschleunigung auf parallele Software verlagert.
Wie unterscheidet sich eine GPU von einer Multicore-CPU?
Eine CPU hat einige leistungsstarke Kerne, die für latenzarme, allgemeine Ausführung optimiert sind. Eine GPU hat viele einfachere Kerne, die für datenparallele Arbeiten mit hohem Durchsatz optimiert sind und dieselbe Operation auf viele Datenelemente anwenden, was für Grafiken und dichte numerische Berechnungen geeignet ist, aber nicht für alle Workloads.

Methods for this concept

Related concepts