buzzword
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
buzzword [2018/11/28 14:24] – [Lecture 19b (28.11 Thu.)] yaglikca | buzzword [2019/09/20 11:09] (current) – juang | ||
---|---|---|---|
Line 63: | Line 63: | ||
* Error Correcting Codes (ECC) | * Error Correcting Codes (ECC) | ||
- | ===== Lecture 2 (20.09 | + | ===== Lecture 2 (20.09 |
* Rowhammer | * Rowhammer | ||
* Memory reliability | * Memory reliability | ||
Line 820: | Line 820: | ||
* Heterogeneity of CPU and GPUs | * Heterogeneity of CPU and GPUs | ||
* Predictability and robustness | * Predictability and robustness | ||
+ | |||
+ | ===== Lecture 20 (29.11 Thu.) ===== | ||
+ | * DRAM | ||
+ | * NVM | ||
+ | * Flash | ||
+ | * Processing in Memory | ||
+ | * Hardware Security | ||
+ | * Heterogeneous Multi-Core Systems | ||
+ | * Bottleneck Acceleration | ||
+ | * Heterogeneity (Asymmetry) | ||
+ | * Symmetric design | ||
+ | * One-size-fits-all | ||
+ | * Quality of Service (QoS) | ||
+ | * Hybrid Memory Controllers | ||
+ | * Heterogeneous agents (e.g., CPUs, GPUs, and HWAs) | ||
+ | * Heterogeneous memories: Fast vs. Slow DRAM | ||
+ | * Heterogeneous interconnects: | ||
+ | * Amdahl’s Law | ||
+ | * Synchronization overhead | ||
+ | * Load imbalance overhead | ||
+ | * Resource sharing overhead | ||
+ | * Sequential portions (Amdahl’s “serial part”) | ||
+ | * Critical sections | ||
+ | * Barriers | ||
+ | * Asymmetric Chip Multiprocessor (ACMP) | ||
+ | * Bottleneck Acceleration | ||
+ | * Staged Execution | ||
+ | * Data Marshaling | ||
+ | * Phase Change Memory | ||
+ | |||
+ | ===== Lecture 21 (05.12 Wed.) ===== | ||
+ | * GPU | ||
+ | * Programming model | ||
+ | * Sequential | ||
+ | * SIMD | ||
+ | * SPMD | ||
+ | * SIMT | ||
+ | * Warp (wavefront) | ||
+ | * Multithreading of warps | ||
+ | * Warp-level FGMT | ||
+ | * Latency-hiding | ||
+ | * Interleave warp execution | ||
+ | * Registers of thread ID | ||
+ | * Warp-based SIMD vs. Traditional SIMD | ||
+ | * GPGPU programming | ||
+ | * Inherent parallelism | ||
+ | * Data parallelism | ||
+ | * GPU main bottlenecks | ||
+ | * CPU-GPU data transfers | ||
+ | * DRAM memory | ||
+ | * Task offloading | ||
+ | * Serial code (host) | ||
+ | * Parallel code (device) | ||
+ | * Bulk synchronization | ||
+ | * Transparent scalability | ||
+ | * Memory hierarchy | ||
+ | * Indexing and memory access | ||
+ | * Streaming multiprocessor (SM) | ||
+ | * Streaming processor (Vector lane) | ||
+ | * Occupancy | ||
+ | * Memory coalescing | ||
+ | * Shared memory tiling | ||
+ | * Bank conflict | ||
+ | * Padding | ||
+ | * SIMD utilization | ||
+ | * Atomic operations | ||
+ | * Histogram calculation | ||
+ | * CUDA streams | ||
+ | * Asynchronous transfers | ||
+ | * Heterogeneous systems | ||
+ | * Unified memory | ||
+ | * System-wide atomic operations | ||
+ | * Collaborative computing | ||
+ | * CPU+GPU collaboration | ||
+ | * Collaborative patterns | ||
+ | * Data partitioning | ||
+ | * Task partitioning | ||
+ | * Coarse-grained | ||
+ | * Fine-grained | ||
+ | * Bézier surfaces | ||
+ | * NVIDIA Pascal | ||
+ | * NVIDIA Volta | ||
+ | * Padding | ||
+ | * Chai benchmark suite | ||
+ | |||
+ | ===== Lecture 22 (6.12 Thu.) ===== | ||
+ | * Persistent memory | ||
+ | * Crash consistency | ||
+ | * Checkpointing | ||
+ | * Flynn´s taxonomy of computers | ||
+ | * Parallelism | ||
+ | * Performance | ||
+ | * Power consumption | ||
+ | * Cost efficiency | ||
+ | * Dependability | ||
+ | * Instruction level parallelism | ||
+ | * Data parallelism | ||
+ | * Task level parallelism | ||
+ | * Multiprocessor | ||
+ | * Loosely coupled | ||
+ | * Tightly coupled | ||
+ | * Shared global memory address space | ||
+ | * Shared memory synchronization | ||
+ | * Cache coherence | ||
+ | * Memory consistency | ||
+ | * Shared resource management | ||
+ | * Interconnects | ||
+ | * Programming issues in tightly coupled multiprocessor | ||
+ | * Sublinear speedup | ||
+ | * Linear speedup | ||
+ | * Superlinear speedup | ||
+ | * Unfair comparison | ||
+ | * Cache/ | ||
+ | * Utilization | ||
+ | * Redundancy | ||
+ | * Efficiency | ||
+ | * Amdahl' | ||
+ | * Bottlenecks in parallel portion | ||
+ | * Ordering of operations | ||
+ | * Sequential consistency | ||
+ | * Weaker memory consistency | ||
+ | * Memory fence instructions | ||
+ | * Higher performance | ||
+ | * Burden on the programmer | ||
+ | * Coherence scheme | ||
+ | * Valid/ | ||
+ | * Write propagation | ||
+ | * Write serialization | ||
+ | * Update vs. Invalid | ||
+ | * Cache coherence | ||
+ | * Snoopy bus | ||
+ | * Directory | ||
+ | * Directory optimizations | ||
+ | * Directory bypassing | ||
+ | * Snoopy cache | ||
+ | * Shared bus | ||
+ | * VI protocol | ||
+ | * MSI (Modified, Shared, Invalid) | ||
+ | * Exclusive state | ||
+ | * MESI (Modified, Exclusive, Shared, Invalid) | ||
+ | * Illinois Protocol (MESI) | ||
+ | * Broadcast | ||
+ | * Bus request | ||
+ | * Downgrade | ||
+ | * Upgrade | ||
+ | * Snoopy invalidation | ||
+ | * Cache-to-cache transfer | ||
+ | * Writeback | ||
+ | * MOESI (Modified, Owned, Exclusive, Shared, Invalid) | ||
+ | * Directory coherence | ||
+ | * Race conditions | ||
+ | * Totally-ordered interconnect | ||
+ | * Directory-based protocols | ||
+ | * Set inclusion test | ||
+ | * Linked list | ||
+ | * Bloom filters | ||
+ | * Contention resolution | ||
+ | * Ping-ponging | ||
+ | * Synchronization | ||
+ | * Shared-data-structure | ||
+ | * Token Coherence | ||
+ | * Virtual bus | ||
+ | |||
+ | ===== Lecture 23 (12.12 Wed.) ===== | ||
+ | * Interconnection Network, Interconnect | ||
+ | * Topology | ||
+ | * Routing | ||
+ | * Buffering and Flow Control | ||
+ | * Switch/ | ||
+ | * Channel | ||
+ | * Wire | ||
+ | * Packet | ||
+ | * Path | ||
+ | * Bus | ||
+ | * Mesh, 2D Mesh | ||
+ | * Throttling | ||
+ | * Oversubscription | ||
+ | * Network Interface | ||
+ | * Link | ||
+ | * Node | ||
+ | * Message | ||
+ | * Flit | ||
+ | * Direct/ | ||
+ | * Radix | ||
+ | * Regular/ | ||
+ | * Routing Distance | ||
+ | * Diameter | ||
+ | * Bisection Bandwidth | ||
+ | * Congestion | ||
+ | * Blocking/ | ||
+ | * Crossbar | ||
+ | * Ring | ||
+ | * Tree | ||
+ | * Omega | ||
+ | * Hypercube | ||
+ | * Torus | ||
+ | * Butterfly | ||
+ | * Arbitration | ||
+ | * Point-to-Point | ||
+ | * Multistage Network | ||
+ | * Hop | ||
+ | * Circuit Switching | ||
+ | * Packet Switching | ||
+ | * Tree saturation | ||
+ | * Deadlock | ||
+ | * Circular dependency | ||
+ | * Oblivious Routing | ||
+ | * Adaptive Routing | ||
+ | * Packet Format | ||
+ | * Header | ||
+ | * Payload | ||
+ | * Error Code | ||
+ | * Virtual Channel Flow Control | ||
+ | |||
+ | ===== Lecture 24 (13.12 Thu.) ===== | ||
+ | * Load latency curve | ||
+ | * Performance of interconnection networks | ||
+ | * On-chip networks | ||
+ | * Difference between off-chip and on-chip networks | ||
+ | * Network buffers | ||
+ | * Efficient routing | ||
+ | * Advantages of on-chip interconnects | ||
+ | * Pin constraints | ||
+ | * Wiring resources | ||
+ | * Disadvantages of on-chip interconnects | ||
+ | * Energy/ | ||
+ | * Tradeoffs of interconnect design | ||
+ | * Buffers in NoC routers | ||
+ | * Bufferless routing | ||
+ | * Flit-level routing | ||
+ | * Deflection routing | ||
+ | * Buffer and link energy consumption | ||
+ | * Self-throttling | ||
+ | * Livelock freedom problem | ||
+ | * Golden packet for livelock freedom | ||
+ | * Reassembly buffers | ||
+ | * Packet retransmission | ||
+ | * Packet scheduling |
buzzword.1543415045.txt.gz · Last modified: 2019/02/12 16:33 (external edit)