Lecture 25: Strategies for Parallelism and Halo Exchange