Large scale scientific computing problems associated with the numerical simulation of physical processes such as those occurring in fluid flow and structural dynamics have greatly stimulated the recent evolution of numerical algorithms suitable for parallel computing architectures. The development of efficient parallel numerical simulation algorithms is particularly difficult since computer software and hardware are also evolving at a relatively rapid pace to satisfy the ever-increasing demand for floating point arithmetic performance. Even though a diverse (almost combinatorial) range of architectural possibilities must be carefully weighed by the software architect, the papers contained in this chapter discuss a number of important reoccuring themes in the development of efficient numerical simulation codes