Designing & Building Parallel Programs by Foster