Four people sorting a deck should be four times faster than one. They never are. Today you find out what’s slowing them down — and it’s not the people.
No reading — this page is the reading. Bring your deck-sort times from the hook.
Internet region, systems side. So far the internet moved data between computers. Now: many processors working on one problem at the same time.
Faster — but not four times faster. Where did the time go?
Sequential computing: operations are done in order, one at a time. Parallel computing: the program is broken into smaller parts, and some of them run at the same time on different processors.
Some work splits cleanly — four people can each sort a pile at once. Some refuses to split. Dealing the deck out has to happen before anyone can sort, and combining the piles has to happen after. Those are the sequential portion: steps that must happen in order, no matter how many helpers you have.
Test for whether two steps can run in parallel: does one need the other’s result? If not, they’re independent and can run at once. If so, they’re sequential.
Part 1. Can the work be done in parallel, or must it be sequential?
Part 2. The deck sort: dealing and combining take 30 seconds no matter what; the sorting itself takes 120 seconds for one person and splits evenly. Add sorters.
Five questions. Ask “does this step need that one’s result?”
Most phones and laptops have several processor cores, plus a graphics processor with hundreds or thousands of tiny cores built for parallel work. That’s why they can play a video, download a file, and run a game at once — and why training modern AI, which is mostly parallel arithmetic, became possible.