Designing for parallel processing