Parallel Systems

This page as PDF

Hardware-Entwurf von parallelen und verteilten Systemen

Vorlesung

ECTS: 4
Kategorie: K=V+Ü, 2 SWS
Veranstalter: Dr. Stefan Bosse
VAK: 03-ME-712.06
University of Bremen

Inhalt der Veranstaltung

Inhalt [PDF]

Diese Vertiefungsvorlesung soll die zunehmende Bedeutung der parallelen Datenverarbeitung in der Informatik und beim Hardware-Chip-Entwurf verdeutlichen. Parallele Verarbeitungskonzepte sind in der Algorithmik und Software-Technik schon seit einigen Jahrzehnten bekannt. Dabei wird ein Algorithmus in Teilprozesse partitioniert die auf mehreren Prozessoren nebenläufig ausgeführt werden. Anwendungen von parallelen und verteilten Algorithmen lagen bisher aber häufig im Bereich der rechenintensiven Numerik. Die Entwicklung tendiert zu immer leistungsfähigeren Mikroprozessoren, mit der Folge zunehmender Komplexität und viel bedeutender mit einer Zunahme der elektrischen Leistungsaufnahme. Dabei kann man zeigen, dass die Zerlegung eines komplexen Systems in ein System kooperierender weniger komplexer Systeme bei gleicher gesamter Rechenleistung deutliche Vorteile hat:

  • Geringere Komplexität der Einzelsysteme und reguläre Strukturen vereinfachen den Hardware-Entwurf.
  • Die Leistungsaufnahme des Gesamtsystems ist i.A. geringer als die eines monolithischen Einprozessor-Systems.
  • Bestehende System-Entwürfe können durch reguläre Struktur erweitert werden.

Die aus der klassischen Mehrprozessor-Technik bekannten Strukturen und Algorithmen können beim Entwurf von digitalen Logik-Systemen unter gewissen Randbedingungen übertragen werden, so daß ein Hardware-Entwurf mit Modellen aus der Software-Technik erfolgen kann, z.B. Mehrprozess-Modelle mit Interprozess-Kommunikations-Primitiven wie Semaphore oder Queues. Der Trend beim Hardware-Entwurf geht daher in Richtung der Sea-of-Processor Konzepte mit bis zu 1000 (einfachen) Prozessorkernen auf einem einzigen Chip. Bei diesem Hardware-Entwurf spielen daher Systempartitionierung und Kommunikation eine zentrale Rolle. Ein kombiniertes Hardware-Software-Co-design ist hier unumgänglich.

Überblick

  1. Motivation und Einführung

    • Einsatz und Grenzen von Einprozessor-Systemen
    • Architektur eines Einprozessor-Systems
    • Programmgesteuerter Ablauf
  2. Multiprozess-Modell
    • Mit generischen Prozessoren
    • Skalierung auf anwendungsspezifische Digitallogiksysteme
  3. Multiprozessor-Architekturen
    • Mit generischen Prozessoren
    • Skalierung auf anwendungsspezifische Digitallogiksysteme
  4. Interpozess-Kommunikation {Mutex, Semaphore, Event, Queue,Barrier}
    • Software
    • Hardware
  5. Parallele Algorithmen
    • Software
    • Hardware
  6. Parallele Architekturen
    • System-On-Chip-Architektur
    • Verwendung von FPGAs & ASICs
  7. Logik-Synthese und High-Level Synthese für die Verhaltensmodellierung des Systems
  8. Pipeline-Architekturen
    • in Funktionalen Systemen
    • in Reaktiven Systemen