Efficiency and Parallelism: The Challenges of Future Computing by William Dally