Angewandte Computer Architektur - Prüfungsfragen
Karteikarten auf Basis der Prüfungsfragen der Vorlesung Angewandte Computer Architektur
Karteikarten auf Basis der Prüfungsfragen der Vorlesung Angewandte Computer Architektur
-
- 1 / 72
-
Lernkarten
Ich will ein Gleichungssystem der Ordnung 100'000 mit meinem Laptop, der 1 GFLOPS hat berechnen. Wie lange geht das?
n = 105
Komplexität zum Lösen von Linearen Gleichungsystemen: 2/3 * n3 (Gauss Elimination)
-> n * O(n) / Performance = 2/3 * n^15 / 10^9 = 2/3 * 10^6 Sekunden
Wieviel Speicher wird für die Matrix eines LGS mit Ordnung 105 benötigt? (Datentyp: 8 Byte Float)
Eine Matrix hat n^2 Einträge.
-> 105*2 * 8 Byte = 80GB
Was ist der optimale Speedup für Parallel Processing mit p Prozessoren?
Optimal ist p-facher Speedup
Wie nennt man es man bei Parallelisierung eine Speedup hat der grösser ist als p (= Anzahl Prozessoren) ? Wie ist das möglich?
Das Ist Hyperspeedup.
Passiert, wenn die benötigten Daten in schnelleren Speichern platziert werden können, da mehr Platz da ist.
zBsp. Hauptspeicher statt swap / Cache statt Hauptspeicher.
Was führt dazu, dass man den optimalen Speedupfaktor meist nicht erreichen kann?
Dafür gibt es vier Hauptgründe:
- Serieller Anteil des Codes (Amdahl's Law)
- Kommunikationsanteil (Datentransfers zwischen Prozessoren oder Speicher zu Prozessor)
- Synchronisation und Koordination
- Verteilung des Rechenaufwands (Computation) (Balancieren des Jobs)
Vergleiche die Formel für Speedup mit der für den Effekt von Loadbalancing. Was sind die Unterschiede?
Die gesamte parallele Anteil wird durch die n0 Tasks geteilt, statt durch die Anzahl Prozessoren. Der Ceiling Term mit dem dann die Zeit pro Task multipliziert wird, ist für die Berücksichtigung der Tatsache, dass ein Task pro Prozessor gleichzeitig ausgeführt werden kann.
zBsp bei 10 Tasks und 7 Prozessoren wird es immer zweimal die zeit pro Task dauern, da in einem Durchgang nicht alle Tasks erledigt werden können. In dieser Situation ist ein System mit 5 Prozessoren gleich schnell.
Was für Netzwerkarten wurden in der Vorlesung behandelt?
Es wurden Standard LAN (Local Area Network) Technologien wie Ethernet und High-Speed SAN (System Area Network) Technologien angeschaut.
Was gibt es für Topologien für SAN Netzwerke?
- Mesh
- Torus
- 2-Dimensional 2-Torus («k-Ring»)
- Tree
- Fat Tree
- Fully Connected
- Bus
- Hypercube
- Multi Stage Network
- Omega/Shuffle Network
Wieviele Prozessoren kann ich mit einem Multistagenetzwerk von k Switches und L Layer verbinden?
k^L
Wieviele Switches braucht man in einem Multistagenetzwerk von k Switches und L Layer?
L* (k^(L-1))
Wieviele Kabel braucht man in einem Multistagenetzwerk von k Switches und L Layer?
(L+1) ꞏ k^L
Wie kommt ein Paket in einem Netzwerk an sein Ziel?
Das Paket beinhaltet die notwendigen Informationen, um es an sein Ziel "routen" zu können. In der Vorlesung haben wir Source-based und Destination-based Routing behandelt.
Bei Source-based Routing ist der gesamte Pfad zum Ziel in den Metadaten des Pakets enthalten. Die Switches verwenden diese Daten, um das Paket weiterzuleiten.
Bei Destination-based Routing enthält das Paket nur die Zielinformation und die Switches verwenden ihre eigenen Routing-Infos zum weiterleiten des Pakets.
Vor / Nachteile von Source-based Routing?
+ Simple switch hardware
+ Simple routing
+ No configuration necessary
- No broad- and multicasts
- No adaptive routing
- Source nodes must know the topology and the distribution of the nodes
- Faults force node reconfiguration
Vor / Nachteile von Destination-Based Routing?
+ Broad- and multicasts possible
+ Adaptive routing possible
+ Nodes must not know anything about the topology
+ Faults are handled by switch management only
+ No processing on source node
- Complex hardware with per-switch routing table
- Per-switch configuration
Welche Arten zum Lösen eines LGS gibt es?
Pivoting, Gauss-Verfahren, Jacobi-Verfahren (für dünn besetzte Matrizen)
Was sind die Laufzeiten von der Verfahren zur Lösung von LGS?
Pivoting: O (2*n3),
Gauss: O (2/3*n3),
Jacobi: O (2n2) pro Iteration
Wenn Sie ein LGS mit n = 10 ′ 000 Unbekannten haben, wie lange braucht ein Prozessor mit 10 GFlops, um dieses LGS mit dem Pivoting-Verfahren zu lösen?
2* (10^4)^3 / 10^10 = 2 * 10^2 = 200
Was ist die Funktion des Enable-Bits bei einer SIMD Architektur?
Das Enable-Bit wird verwendet um die Abläufe zu synchronisieren. Gibt dem Prozessor an, wann er weiter rechnen darf (z.B. bei einem If-Else Branch)
Bsp. Ray Tracing. Wenn alle Strahlen auf der Oberfläche angekommen sind, können wir Pixel berechnen.
Welche wichtigen Charakteristiken eines Netzwerkes interessieren Sie?
Bandbreite, Latenz, Kosten (Design/Implementation/Production), Fehleranfälligkeit, Skalierbarkeit, Bisectional Bandbreite, mögliche Topologien, Features und Qualität des Designs und Implementation.
Given a single processor computer, how to accelerate it?
Caches, Pipelining, Out of Order Execution, Branch Prediction, Increase Clock Frequency, Improve Architecture/Micro-Architecture
What are the three types of caches?
direct mapped, set-associative, fully associative
Which type of cache offers the highest hit rate? What are the drawbacks? (direct mapped, set-associative, fully associative)
Fully associative. Drawback: requires more comparators
How many comparators needed for type of cache? (direct mapped, set-associative, fully associative)
Same number as the number of entries per set
What strategies do we have to evict cache lines?
LRU, FIFO, random
Round-Robin - Nicht in VL behandelt.
https://ieeexplore.ieee.org/document/4484893
What strategy to adopt on a big fully associative cache? (LRU, FIFO, random)
One uses LRU (along with prefetching cache lines / exploit spacial locality and probably other improvements) but comparing plain LRU to Random yields almost the same hit rate.
What replacement strategy for a direct mapped cache?
Not needed, since only one spot is possible for each line of memory.
One can use: \(Replace\ Block = Memory\ Address\ mod\ Number\ of\ Blocks\)
What problems do we have with caches and how to solve them?
The problem is cache coherence (in multi processor or multi application systems).
Use Snoop Logic with Valid Bits
For what is snooping being used apart from CPU Cache Coherence in Multiprocesssor Systems ?
Also used for DMA
https://de.wikipedia.org/wiki/Bus_snooping
What does a switch do when receiving the packet?
The header contains the information how to handle the packet. The packet can either be forwarded before complete reception (wormhole routing) or must be received before forwarding (store-and-forward routing), depending on the switch design
Which one is being used in supercomputers and why? (wormhole routing / store-and-forward routing)
Wormhole because network is very reliable and we target low latency