Algorithm design for computational fluid dynamics on parallel machines