This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
buzzword [2015/04/20 18:16] rachata |
buzzword [2015/04/27 18:20] rachata |
||
---|---|---|---|
Line 1359: | Line 1359: | ||
* Heterogeneous systems | * Heterogeneous systems | ||
- | * Assymmetric cores: different types of cores on the chip | + | * Asymmetric cores: different types of cores on the chip |
* Each of these cores are optimized for different workloads/requirements/goals | * Each of these cores are optimized for different workloads/requirements/goals | ||
* Multiple special purpose processors | * Multiple special purpose processors | ||
Line 1393: | Line 1393: | ||
| | ||
| | ||
+ | ===== Lecture 33 (4/27 Mon.) ===== | ||
+ | |||
+ | * Interconnects | ||
+ | * Connecting multiple components together | ||
+ | * Goal: Scalability, flexibility, performance and energy efficiency | ||
+ | * Metric: Performance, bandwidth, bisection bandwidth, cost, energy efficienct, system performance, contention, latency | ||
+ | * Saturation point | ||
+ | * Saturation throughput | ||
+ | * Topology | ||
+ | * How to wire components together, affects routing, throughput, latency | ||
+ | * Bus: All nodes connected to a single ring | ||
+ | * Hard to increase frequency, bandwidth, poor scalability but simple | ||
+ | * Point-to-point | ||
+ | * Low contention and potentially low latency. Costly, not scalable and hard to wire. | ||
+ | * Crossbar | ||
+ | * No contention. Concurrent request from different src/dest can be sent concurrently. Costly. | ||
+ | * Multistage logarithmic network | ||
+ | * Indirect network, low contention, multiple request can be sent concurrently. More scalable compared to crossbar. | ||
+ | * Circuit switch | ||
+ | * Omega network, delta network. | ||
+ | * Butterfly network | ||
+ | * Intermediate switch between sources and destinations | ||
+ | * Switching vs. topology | ||
+ | * Ring | ||
+ | * Each node connected to two other nodes, forming a ring | ||
+ | * Low overhead, high latency, not as scalable. | ||
+ | * Unidirectional ring and bi-directional ring | ||
+ | * Hierarchical Rings | ||
+ | * Layers of rings. More scalable, lower latency. | ||
+ | * Bridge router connect multiple rings together | ||
+ | * Mesh | ||
+ | * 4 input and output ports | ||
+ | * More bisection bandwidth and more scalable | ||
+ | * Easy to layout | ||
+ | * Path diversity | ||
+ | * Routers are more complex | ||
+ | * Tree | ||
+ | * Another hierarchical topology | ||
+ | * Specialized topology | ||
+ | * Good for local traffic | ||
+ | * Fat tree: higher level have more bandwidth | ||
+ | * CM-5 Fat tree | ||
+ | * Fat tree with 4x2 switches | ||
+ | * Hypercube | ||
+ | * N-Dimensional cubes | ||
+ | * Caltech cosmic cube | ||
+ | * Very complex | ||
+ | * Routing algorithm | ||
+ | * How does message get sent from source to destination | ||
+ | * Static or adaptive | ||
+ | * Handling contention | ||
+ | * Buffering helps handling contention, but adds complexity | ||
+ | * Three types of routing algorithms | ||
+ | * Deterministic: always takes the same path | ||
+ | * Oblivious: takes different paths without taking into account of the state of the network | ||
+ | * For example, Valiant algorithm | ||
+ | * Adaptive: takes different paths taking into account of the state of the network | ||
+ | * Non-minimal adaptive routing vs. minimal adaptive routing | ||
+ | * Minimal path: path that has minimum number of hops | ||
+ | * Buffering and flow control | ||
+ | * How to store within the network | ||
+ | * Handling oversubscription | ||
+ | * Source throttling | ||
+ | * Bufferless vs. buffered crossbars | ||
+ | * Buffer overflow | ||
+ | * Bufferless deflection routing | ||
+ | * Deflect packets when there is contention | ||
+ | * Hot-potato routing | ||
+ | |||
- | | ||
| |