Parallelrechner Flashcards
Schnellere Rechner … aber wie?
Wie erhöhe ich die CPU Frequenz?
Durch Abwärme, Energieverbrauch und Leckströme
Schnellere Rechner … aber wie?
Wenn ich 2 CPUs auf einen Chip habe, ist die Chipfläche 2x. Welche Auswirkungen hat es auf den Leistungsgewinn?
Der Leistungsgewinn ist deutlich weniger
Schnellere Rechner … aber wie?
Warum werden für schnellere Rechner Coprozessoren benötigt?
Da man spezielle Prozessoren für spezielle Aufgaben braucht
Schnellere Rechner … aber wie?
Für schnellere Rechner werden noch mehr Units fürs Rechnen gebraucht. Was muss die CPU können?
Die CPU muss alle Units parallel mit Arbeit versorgen können
Schnellere Rechner aber wie?
Bei längeren Pipelines werden falsch vorhergesagte Sprünge immer schlimmer. Wann machen längere Pipelines Sinn?
Wenn man gleichzeitig die CPU Frequenz erhöht
Schnellere Rechner aber wie?
Durch Multhreading kann die CPU sich einem anderen Thread zu wenden, wenn der eine Thread nicht mehr kann. Was bedeutet das für die Units?
Das die Units besser ausgelastet sind
Architekturen für Parallelrechner
Welche Architekturen gibt es für den Parallelrechner?
- On-chip parallelism
- A coprocessor
- A multiprocessor
- A multicomputer
- A grid
Grafiken sind auf Folie 3
Taxonomie für Parallelrechner
Welcher Parallelrechner passt zu Instruction streams = 1 und Data streams = 1? Gebe auch ein Beispiel an
- SISD
- Beispiel: Classical Von Neumann machine
Mehr dazu auf Folie 6
On-Chip Multithreading (Hyperthreading)
Liste die Multithreading Methoden auf
- Threads mit einigen Wartezyklen
- Feingranulares Multithreading
- Grobgranulares Multithreading
Mehr dazu auf Folie 4
Taxonomie für Parallelrechner
Welcher Parallelrechner passt zu Instruction streams = 1 und Data streams = Multiple? Gebe auch ein Beispiel an
- SIMD
- Vektorrechner, Array-Prozessor
Mehr dazu auf Folie 6
Taxonomie für Parallelrechner
Welcher Parallelrechner passt zu Instruction streams = Multiple und Data streams = 1? Gebe auch ein Beispiel an
- MISD
- Wohl keine Beispiele
Mehr dazu auf Folie 6
Taxonomie für Parallelrechner
Welcher Parallelrechner passt zu Instruction streams = Multiple und Data streams = Multiple? Gebe auch ein Beispiel an
- MIMD
- Multiprocessor, multicomputer
Mehr dazu auf Folie 6
Multiprozessorsysteme
Worauf greifen alle Prozesse zu?
Die Prozesse greifen alle auf denselben Hauptspeicher zu
Multiprozessorsysteme
Wer verwaltet alle Prozessoren?
Sie werden von einer Betriebssysteminstanz verwaltet
Multiprozessorsysteme
Was sind die Vorteile von Multiprozessorsysteme?
Sind einfach zu programmieren und für den Hausgebrauch geeignet
Multiprozessorsysteme
Was ist ein Nachteil von Multiprozessorsystemen?
Skaliert nicht besonders gut
Multiprozessorsysteme
Wann ist der Hauptspeicher zu langsam?
Der Hauptspeicher ist schon bei einer CPU langsam
Multiprozessorsysteme
Viele CPUs an einem Hauptspeicherbus ist kompliziert. Ab welchem Wert wird es langsam eng?
Bei 64 CPU’s oder 128 CPU’s wird es langsam eng
Multiprozessorsysteme
Bei Multiprozessorsystemen sind verschiedene Varianten möglich. Die Anzahl der Chips ist unterschiedlich. Liste auf welche Möglichkeiten es gibt.
- Jeder Prozessor auf einem eigenen Chip
- Alle Prozessoren auf einem Chip
Multiprozessorsysteme
Es gibt zwei Arten von Prozessoren. Was ist ein homogener PC?
Ein PC mit mehreren Prozessoren
Multiprozessorsysteme
Es gibt zwei Arten von Prozessoren. Was ist ein heterogener PC?
Zum Beispiel eine Sony Playstation 3 mit Cell Prozessor
Homogene Multiprozessorsysteme (auf einem Chip)
Welche Art von Chips gibt es bei homogenen Multiprozessorsystemen?
- Ein Chip mit mehreren Pipelines
- Ein Chip mit mehreren Cores
Multicomputersysteme
Gibt es einen gemeinsamen Speicher?
Nein ist gibt keinen gemeinsamen Speicher
Multicomputersysteme
Wie erfolgt die Kommunikation?
Über Nachrichtenaustausch
Multicomputersysteme
Wie wird jede CPU gesteuert?
Sie werden von einer eigenen Betriebssysteminstanz gesteuert
Multicomputersysteme
Was sind die Vorteile von Multicomputersystemen?
- Skaliert bis zu vielen tausend CPUs
- Anwendung im wissenschaftlichen Rechnen
Multicomputersysteme
Warum ist die Programmierung anspruchsvoller?
Weil die Kommunikation nur über Nachrichtenaustausch läuft
Multicomputersystem
Was ist ein weiterer Nachteil von Multicomputersystemen neben der schwierigen Kommunikation?
Die Administration ist schwieriger
Gemeinsamer Hauptspeicher - Konsistenz
Da mehrere Prozessoren dasselbe Byte schreiben, weiß man nicht welcher Prozessor zuletzt schreibt und man wird sich nicht einig welcher Prozesser das Byte zuletzt geschrieben hat. Wie wird dieses Problem behandelt?
Durch strikte Konsistenz passieren alle Schreib/Leseoperationen zu einem Zeitpunkt
Gemeinsamer Hauptspeicher
Da mehrere Prozessoren dasselbe Byte schreiben, weiß man nicht welcher Prozessor zuletzt schreibt und man wird sich nicht einig welcher Prozesser das Byte zuletzt geschrieben hat. Durch strikte Konsistenz passieren alle Schreib/Leseoperationen zu einem Zeitpunkt. Was passiert danach?
Die Operationen werden nach diesen Zeitpunkten organisiert
Gemeinsamer Hauptspeicher
Da mehrere Prozessoren dasselbe Byte schreiben, weiß man nicht welcher Prozessor zuletzt schreibt und man wird sich nicht einig welcher Prozesser das Byte zuletzt geschrieben hat.
Durch strikte Konsistenz passieren alle Schreib/Leseoperationen zu einem Zeitpunkt.
Die Operationen werden nach diesen Zeitpunkten organisiert.
Was sehen die Prozessoren dann?
Alle Prozessoren sehen die gleiche Reihenfolge der Operationen
Gemeinsamer Hauptspeicher
Die strikte Konsistenz ist schwierig zu implementieren. Wie bestimmt man den Zeitpunkt?
Man benötigt eine genaue Uhr
Gemeinsamer Hauptspeicher - Strikte Konsistenz
Bei der strikten Konsistenz müssen alle Operationen geordnet und nacheinander ausgeführt werden. Welche Auswirkung hat es auf die Parallelisierung?
Es zerstört einen Großteil der Parallelisierung
Gemeinsamer Hauptspeicher - Strikte Konsistenz
Befehle dauern mehrere Takt und können sich überholen. Welche Fragen entstehen deswegen?
- Zeitpunkt: Eintritt in die Pipeline?
- Austritt aus der Pipeline?
Gemeinsamer Hauptspeicher - Sequentielle Konsistenz
Bei der sequentiellen Konsistenz ist es schwer den Zeitpunkt einer Operation zu bestimmen, jedoch ist es leicht die Reihenfolge von Operationen einer einzelnen CPU zu bestimmen.
Wie wird die Reihenfolge aller Befehle behandelt?
Die Reihenfolge aller Befehle einer einzelnen CPU wird bewahrt
Gemeinsamer Hauptspeicher - Sequentielle Konsistenz
Bei der sequentiellen Konsistenz ist es schwer den Zeitpunkt einer Operation zu bestimmen, jedoch ist es leicht die Reihenfolge von Operationen einer einzelnen CPU zu bestimmen.
Wie werden die Zeitpunkte einer Operation festgelegt?
Die Wahl des Zeitpunktes einer Operation ist zufällig
Gemeinsamer Hauptspeicher - Sequentielle Konsistenz
Was sehen die CPUs global?
Alle CPUs sehen global dieselbe Reihenfolge
Gemeinsamer Hauptspeicher - Sequentielle Konsistenz
Wie führen die CPUs ihre lokalen Befehle aus?
Sie führen ihre lokalen Befehle in strikter Reihenfolge aus
Gemeinsamer Hauptspeicher - Sequentielle Konsistenz
Was ist die einzige Einschränkung bei der sequenziellen Konsistenz?
Das Verzahnen einer lokalen Reihenfolge zu einer globalen Reihenfolge ist zufällig
Gemeinsamer Hauptspeicher - Prozessor-Konsistenz
Das Problem der sequentiellen Konsistenz ist das alle CPUs dieselbe globale Reihenfolge haben. Welche Lösungsidee gibt es?
Die lokale Reihenfolge bleibt erhalten aber die CPUs sehen andere globale Reihenfolgen
Gemeinsamer Hauptspeicher - Prozessor-Konsistenz
Wie werden die Operationen eines Prozessor bei der Prozessor-Konsistenz von anderen Prozessoren gesehen?
Die Operationen eines Prozessors werden von allen anderen Prozessoren in derselben Reihenfolge gesehen
Gemeinsamer Hauptspeicher - Prozessor-Konsistenz
Was muss man trotzdem beachten bezüglich der globalen Verzahnung der lokalen Reihenfolgen?
Jeder Prozessor kann eine andere globale Verzahnung der lokalen Reihenfolge sehen
Gemeinsamer Hauptspeicher - Schwache Konsistenz
Was ist die Grundidee der schwachen Konsistenz?
Keine Garantien, es sei denn man wünscht es
Gemeinsamer Hauptspeicher - Schwache Konsistenz
Was kann jede CPU bei der schwachen Konsistenz?
Jede CPU kann eine andere Reihenfolge von Operationen beobachten
Gemeinsamer Hauptspeicher - Schwache Konsistenz
Gibt es Einschränkungen für diese Reihenfolge?
Nein, es ist alles möglich
Gemeinsamer Hauptspeicher - Schwache Konsistenz
Kann eine Synchronisation erzwungen werden?
Ja, die kann erzwungen werden
Gemeinsamer Hauptspeicher - Schwacher Konsistenz
Bei der Synchronisation werden alle laufenden und ausstehenden Speicherzugriffe durchgeführt und bis dahin werden keine neuen Zugriffe durchgeführt.
Was sehen die CPUs direkt nach der Synchronisation?
Sie sehen alle denselben Speicherzustand
MPPs - Massively Parallel Processors
MPPs ist eine Architektur die für Superrechner geeignet ist. Was ist damit möglich?
- Wissenschaftliche Simulationen
- Schach auf Großmeisterniveau
MPPs - Massively Parallel Processors
Welche Prozessoren werden benutzt?
Standard PC Prozessoren wie Pentium, Xeon, UltraSPARC und PowerPC
MPPs - Massively Parallel Processors
Welche Technologie wird für die Kommunikation benutzt?
Spezielle proprietäre Technologie
MPPs - Massively Parallel Processors
Was wird für die Nachrichtenübertragung benutzt?
Spezielle Softwarebibliotheken
MPPs - Massively Parallel Processors
Die Kommunikation bei MPPs ist schneller als bei normalen Netzwerken aber vergleichsweise…?
teuer
Topologien für Computernetze
Welche Topologien gibt es? Liste alle Topologien aus der Vorlesungen auf
- Star
- Complete interconnect
- Tree
- Ring
- Grid
- Double torus
- Cube
- 4D Hypercube
Cluster
Cluster sind Multicomputer aber haben einen wichtigen Unterschied zu MPPs. Welche Unterschiede gibt es?
- Cluster bestehen aus vielen PCs
- PCs werden über ein Netzwerk miteinander verbunden
Cluster
Welche Vorteile gibt es?
- Alles Standardteile
- Geringe Kosten
- Vergleichsweise einfacher Aufbau
- Spezielle Linux-Versionen verfügbar
Cluster - Nachteile
Welchen Unterschied gibt es zwischen den PCs und Netzwerken und den MPP Bauteilen?
PCs und Netzwerke sind nicht so effizient wie die speziell entwickelten MPP Bauteile
Cluster
Welcher Nachteil entsteht durch die fehlende Effizienz der PCs und Netzwerke im Vergleich zu MPP Bauteilen?
Die PCs und Netzwerke sind etwas langsamer