Analysis and Optimization Techniques for Massively Parallel Processors