The Limitations and Potential of Large Scale Parallelism