Performance analysis and scalability studies are undertaken for a variety of challenging problems arising in Computational and Fluid Mechanics. In many cases we see that restructuring the algorityhm or thinking about overhead in a novel way allows scalability. In all cases performance models are used to ais our understanding of scalability. Consideration of dynamic algorthms including "impossible" problems from a scalability point of view such as adaptive mesh refinement is undertaken.