Beschleunigung und Parallelität Flashcards

1
Q

Klassifikation von Speichern

A
  • Volatilität:
    • flüchtig: Betriebsspannung weg = Datenweg
    • nicht flüchtig: Speicher weg = Daten noch da
  • Zugriffsart:
    • wahlfrei: Festplatte - man kann an beliebige Stelle im Speicher gehen
    • sequentiell: Magnetband - Spulen nötig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Speicherorganisation

Klassifikationsparameter

A
  • Zugriffszeit: Zeit zwischen Anforderung eines Lesezugriffs und Eintreffen des Inhalts der adressierten Speicherzelle am Speicherausgang
  • Kosten pro Bit

► sind gegenläufig → Optimierungsproblem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cache

Lokalitätsprinzip

A

= heuristisches Prinzip, das sich mit einiger Wahrscheinlichkeit aus abgelaufenen Programmteil auf den folgenden schließen lässt, da komplexe Datenstrukturen im Speicher dicht hintereinander gespeichert sind und sequentiell aufeinanderfolgende Befehle dicht sequentiell gespeichert sind

  1. Zeitliche Lokalität:
    • Betrachtung einer Zelle
    • Zugriff auf eine Speicherzelle lässt es erwarten, dass bald wieder auf sie zugegriffen wird → im Zwischenspeicher behalten
  2. Räumliche Lokalität
    • Betrachtung benachbarter Zellen
    • Zugriff auf eine Speicherzelle lässt baldigen Zugriff auf benachbarte Speicherzellen erwarten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Speicherhierarchien

A

Optimierungskriterien:

  • minimale Zugriffszeit
  • minimale Kosten pro gespeicherten Bit

je teurer der Speicher, desto weniger ist davon im Rechner → Speicherhierarchie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cache

Weitere Verwendung des Cache-Prinzips

A
  • Hardware
    • Pufferspeicher der MMU (Memory Management Unit)
      • übersetzt von virtuellen Adressen zu physischen Adressen
      • ermöglicht Zugriff auf gesamten virtuellen Adressraum
    • lokaler Pufferspeicher bei peripheren Geräten (Netzwerkschnittstelle, Festplatte)
    • Sprungvorhersage in der Pipelinesteuerlogik der CPU
  • Software
    • Pufferspeicher des Betriebssystems
    • Pufferspeicher für Datenbanken
    • Browser laden (Unter-)Seiten vor ihrer Anforderung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cacheleistung

A
  • Zugriffszeiten geringer als auf Hauptspeicher
  • h = hit rate (Trefferrate in %): Anteil aller Speicherzugriffe, bei denen die gewünschte Information im Cache verfügbar ist
  • Niete (miss): Information im Cache nicht gefunden
  • Teff = effektive Zugriffszeit
  • TC = Zugriffszeit des Cache
  • TM = Zugriffszeit des Hauptspeichers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Amdahls Gesetz

A
  • Modell über die Beschleunigung von Programmen durch parallele Ausführung
  • zu parallelisierendes Programm = parallelisierbarer + nicht parallelisierbarer/sequentieller Code
  • P = Anteil der Laufzeit der parallelen Teilstücke eine Programms
  • (1 - P) = sequentieller Anteil
  • Gesamtlaufzeit: 1 = (1 - P) + P
    • mehr Prozessoren: t = (1 - P) + P/n
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Amdahls Gesetz

Schlussfolgerungen

A
  • Beschleunigung wird vor allem durch sequentiellen Teil beschränkt
    • Maximum: 1 / (1 - P)
  • Mindeslaufzeit eines Programms:
    • (Laufzeit bei einem Prozessor) / Maximum des SpeedUp)
  • umso mehr Prozessoren
    • desto kleiner (1 - P) + P/n
    • desto größer SpeedUp
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Erweiterung von Amdahls Gesetz

A
  • zusätzliche Kosten o(N) steigen monoton mit Prozessorenzahl
    • Aufwand durch Aufteilung auf mehrere Prozessoren
    • zusätzlicher Aufwand durch Kommunikation/Datentransfer
  • die Funktion konvergiert nicht mehr gegen (1 / (1 - P)), sondern erreicht ein Maximum, um dahinter wieder abzufallen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Amdahls Gesetz

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Amdahls Gesetz bei Prozessanpassungen

A

Gesetz kann auch für potentielle Verbesserung durch Teilanpassungen in Systemen angewandt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Parallelität

2 Arten

A
  1. zeitliche Parallelität
    • Aufgabe wird in mehrere Unteraufgaben unterteilt
    • Unteraufgaben werden parallel ausgeführt
    • auch genannt: Pipelining
  2. räumliche Parallelität
    • vervielfachte Hardware bearbeitet mehrere Aufgaben gleichzeitig
    • Zusammenschalten mehrerer kleinerer Computer realisiert leistungsfähigeren Computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

zeitliche Parallelität

A
  • durch Datenflussanalyse von Algorithmen
    • Steuerflussabhängigkeit
    • Datenflussabhängigkeit
  • jedes Programm hat Potential für Parallelität
  • Ziel: Operationen finden, die nicht zwingend in der Reihenfolge ausgeführt werden müssen, in der sie im Programmtext stehen
  • Kosten: Analyseaufwand
  • je nachdem wie viel parallel ausgeführt werden soll, so viel ALUs braucht man
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

zeitliche Parallelität

Steuerflussabhängigkeit

A

= control

v1 (x) →c v2 (y)

Ausführung von Zeile x entscheidet über Ausführung von Zeile y

z.B. IF - ELSE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

zeitliche Parallelität

Datenflussabhängigkeit

A

es gibt wenigstens eine Variable z, auf die in beiden Anweisungen x und y zugegriffen wird

  1. echte Datenflussabhängigkeit = true:
    • 1. schreibend → 2. lesend
    • v1 (x) →t v2 (y)
  2. Ausgangsdatenabhängigkeit = output:
    • 1. schreibend → 2. schreibend
    • v1 (x) →o v2 (y)
  3. Anti-Datenabhängigkeit = anti:
    • 1. lesend → 2. schreibend
    • v1 (x) →a v2 (y)
    • durch Pipelining ist bei gleichen Taktzyklus paralleles Ausführen möglich
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

zeitliche Parallelität

Beispiel

A
  1. echte Datenflussabhängigkeit:
    • v1 (1) →t v2 (2) Variable x
    • v1 (1) →t v2 (3) Variable x
    • v1 (4) →t v2 (5) Variable b
  2. Ausgangsdatenabhängigkeit:
    • v1 (4) →o v2 (6) Variable b
    • v1 (3) →o v2 (7) Variable a
  3. Anti-Datenabhängigkeit:
    • v1 (5) →a v2 (6) Variable b
    • durch Pipelining ist bei gleichen Taktzyklus paralleles Ausführen möglich
17
Q

räumliche Parallelität

A

Realisierung leistungsfähiger Computer durch das Zusammenschalten mehrerer kleinerer Computer

  1. Multiprozessor: parallele Prozessoren mit einem einzigen, gemeinsam genutzen Adressraum
  2. Cluster: kleine Anzahl von Rechnern, die nebeneinander stehen und eng miteinander arbeiten → Cluster wird angesprochen statt einzelner Rechner
  3. Grid: wie Cluster, aber Hunderte Rechner
  4. Cloud: Rechner arbeiten weltweit zusammen
18
Q

räumliche Parallelität

Klassifizierung nach Flynn

A
  • S - Single, M - Multiple
  • I - Instruction (Prozessoren), D - Data (Speicher)
  • SISD: klassischer Einprozessorenrechner, keine Parallelität
  • SIMD: Spezialrechner - ein Programm, alle Prozessoren machen das Gleiche (z.B. Graphikkarte, gleiche Berechnungen für jeden Pixel)
  • MISD: Spezialrechner - eine Variable, viele Prozessoren (z.B. Matrizenberechnung)
  • MIMD: heutiger Standard-Universalrechner
19
Q

räumliche Parallelität - MIMD

Klassifizierung

A
  1. logischer Ort des Speichers
    • Distributed Memory
    • Shared Memory
  2. Symmetrie des Prozessors
    • SMP: Symmetrische Multiprozessorsysteme
    • ASMP: Asymmetrische Multiprozessorsysteme
20
Q

räumliche Parallelität - MIMD
Shared Memory

A
  • globaler Adressraum → eine Variable immer auffindbar und gleich angesprochen
  • Vorteil:
    • einfaches Programmiermodell (wie Uniprozessorsystem)
    • ein Prozessor kann auf gesamten Adressraum zugreifen
  • Nachteil:
    • nur bei kleiner Prozessorenzahl leicht beherrschbar
    • skaliert nicht
21
Q

räumliche Parallelität - MIMD
Distributed Memory

A
  • nur lokale Adressräume
  • Kommunikation erfolgt durch Message Passing
  • Prozessoren arbeiten asynchron:
    • müssen nicht gleich getaktet sein
    • unterschiedliche Prozessoren mit unterschiedlicher Geschwindigkeit möglich
  • Vorteil: physikalisch einfach herstellbar, skalierbar
  • Nachteil: Message Passing muss explizit programmiert werden (zwischen Prozessoren übersetzen, wo man welche Variablen holen muss)
  • Nachteil umgangen von Distributed-Shared Memory = distributed memory + Abstraktionsschicht, die alles koordiniert
22
Q

räumliche Parallelität - MIMD

SMP - Symmetrische Multiprozessorsysteme

A
  • mehrere Prozessoren besitzen gemeinsamen Adressraum
  • jeder Prozessor adressiert mit derselben physikalischen Adresse die selber Speicherzelle oder dasselbe Peripherieregister → shared memory
  • wie natürliche Erweiterung eines Uniprozessorsystems
  • Problem: jeder Prozessor muss so gebaut sein, dass er alles kann - z.B. Interruptbehandlung sehr aufwendig
23
Q

räumliche Parallelität - MIMD

SMP: Aufbau

A
  • Bus kann zu einem Zeitpunkt nur von je einem Prozessor genutzt werden
    • n Prozessoren: Speicherbandbreite sinkt auf 1/n pro Prozessor
    • wirkt nicht leistungsbegrenzend, solange ein Prozessor ca. n Zugriffe im Cache und dann erst im Hauptspeicher vornimmt (hohe Hitrate)
  • durch Begrenzung der Busbandbreite und der Cache-Lokalität, “skalieren” MPs diese Architektur nur bis ca. 30 Prozessoren
24
Q

räumliche Parallelität - MIMD

SMP: Nutzung

A
  • alle Prozessoren sind gleich
  • alle können sowohl BS als auch Anwendercode abarbeiten
  • alle haben Zugriff auf Kernelimage im gemeinsamen Hauptspeicher und können im Kern parallel arbeiten
  • insb. I/O-Anforderungen und Gerätetreiber-Interrupts können parallel von verschiedenen Prozessoren bearbeitet werden
  • jedes Hauptspeicherdatum kann von jeder CPU und jedem I/O-Gerät referenziert werden
  • asynchrone Kommunikation zwischen den CPUs kann interruptgesteuert erfolgen
25
Q

räumliche Parallelität - MIMD

SMP: physikalische Sicht

A

Verbindung über Bus-/Interruptsystem

26
Q

räumliche Parallelität - MIMD

SMP: logische Sicht

A
  • Stapelbearbeitung: wenn 1 Prozessor Zeit hat, übernimmt er den nächsten Job
  • aufgeteilt in 2 Stapel:
    • Warten auf I/O und Interrupts
    • Sonstiges
  • bei zu großen Stapeln können Jobs verschoben werden, weil jeder Prozessor alles kann
27
Q

räumliche Parallelität - MIMD

ASMP - Asymmetrische Multiprozessorsysteme

Physikalische Sicht

A
  • MASTER: 1 Prozessor
    • verfügt über I/O-Anschlüsse inkl. der damit verbundenen Interruptleistungen
    • führt alle privilegierten Operationen wie I/O und Management des BS aus
    • kann Betriebscode ausführen
  • SLAVES: restliche Prozessoren
    • arbeiten Anwendercode ab und rufen Master zur Ausführung von Systemdiensten
  • skalieren sind schlecht, sind aber einfach zu implementieren
28
Q

räumliche Parallelität - MIMD

ASMP - logische Sicht

A
29
Q

Cache

Kohärenz

A
  • in MPs können von 1 Hauptspeichervariablen in mehreren Caches Kopien enthalten sein
    • typisch: Write-Back-Caches
    • wenn Variable in einem Cache geändert wird, greift anderer Prozessor viell. auf veraltete Variable aus Hauptspeicher zu
  • vorübergehende Inkonsistenzen zwischen- Cache und Hauptspeicherdaten
    • nicht-kohärente Mehrfachkopien möglich, wenn keine speziellen Cache-Kohärenzmechanismen zur Anwendung kommen
30
Q

Cache

Methoden zur Kohärenzerhaltung

A
  • Ziel: Leser einer Hauptspeicherzelle erhält aktuellen Wert
  • Systembus und Caches um geeignete Funktionen erweitert:
    • Systembus: zusätzliche Bustransaktionen
    • Cache: zusätzliche Statusbits, die in Abhängigkeit von den CPU- und Busaktionen gesteuert werden
  • Bus hat Wirkung eines Broadcast-Mediums
    • für Caches ist ständiges Mithören (Snooping) der Busaktivitäten möglich
    • Nutzung der Snoop Protocols
31
Q

Cache

Snooping Protokolle

A
  • Write invalidate: “ich habe a geändert”
    • schreibender Prozessor bewirkt, dass alle Kopien in anderen Caches ungültig gemacht werden bevor er seine lokale Kopie überschreibt
    • nur noch Kopie des Schreibers existiert
  • Write broadcast: “ich habe a auf 5 geändert”
    • Schreiber sendet neue Daten über den Bus
    • alle Kopien werden ständig aktualisiert
    • lohnt sich nur, wenn aktuelle Kopien auch verwendet werden (langsamer)