This walkthrough is planned but not published yet. The transcript below covers the same material if you would rather read it now.
The most common performance mistake in distributed code, and the two-line habit that avoids it.
The common mistake is calling get inside a loop. That blocks on each task before starting the next, so the work runs one at a time and the cluster sits idle. Build the whole list of futures first, then call get once on the list. Every task is in flight before you wait on any of them. The fix is moving one line out of a loop, and it is often the difference between no speedup and near-linear speedup.