Beschreibung:
|
CPUs:
- Instruktionen, x86-64, ARM, CISC & RISC, Assembler und Compiler
- Latenzen und Bandbreite, Cache-Hierarchie und Memory-Anbindung
- Prefetcher, Branch-Predictor, Speculative Code Execution
- Memory Access Patterns (sequenziell, indirekt, zufällig), Data Oriented Programming
GPUs:
- Unterschied zu CPUs, Embarrassingly Parallel Workloads
- Design-Goals von GPUs und deren Folgen
- Kommunikation zwischen CPU und GPU (PCI-Express, DMA)
Betriebssystem-Funktionen:
- Scheduling von CPU Cores
- Virtual Memory
- Syscalls, User- und Kernel-Mode, Namespaces/Container
- File Systems
- Netzwerkzugriff, Addressierung, Socket-API
- Multithreadding, Mutexe, Deadlocks, Condition Variables, Semaphore, Producer-Consumer-Queues, Eventloops
- Inter-Process-Communication, Shared Memory, Pipes, Queues, Handles/FDs teilen
|