
Why can't a computer thread be too busy?
Image: Da mocavi, CC BY-SA 4.0, via Wikimedia Commons
Why can't a computer thread be too busy?
Imagine you're trying to cook dinner for a family of six. If you try to cook everything at once without planning, you'll end up with a messy kitchen and a burnt meal.
A computer thread is like cooking dinner. If you have too many tasks (like too many people in the kitchen) trying to cook at the same time, you won't be efficient. Too many tasks can slow down the process, just like too many cooks in the kitchen.
Example
If you're cooking pasta, chicken, and vegetables for six people, but you try to cook everything at once without any order, you'll waste time and energy.
Remember this
Too many tasks in a computer thread can slow down processing, just like too many cooks can slow down cooking.
Text adapted from Wikipedia, licensed under CC BY-SA 4.0.
instruction-level parallelism (ILP) achieves: multiple operations per clock cycle
Ever wondered how computers can do so many tasks at once?
most transformer operations are memory-bound, not compute-bound
Why do computers sometimes get tired?
ReLU and Leaky ReLU
Why do computers sometimes struggle with simple decisions?
Von Neumann architecture
CPU must fetch both data and instructions from memory
loop unrolling does: trades code size for reduced loop overhead
Can we speed up our computer programs?
warp divergence kills performance
Warp divergence causes threads to execute non-uniformly, leading to idle cycles and reduced throughput
Swipe through 100 ML concepts daily
Open Pocket Polymath