Computer simulation is a powerful tool for exploring real-world processes. Special considerations need to be made at each point to ensure an accurate and efficient simulation. This thesis focuses on topics at different points in the simulation process. We present a finite element algorithm for solving the Stokes system based on the Scott-Vogelius technique together with the iterated penalty method. By projecting the Scott-Vogelius pressure onto a continuous function space, we can recover an accurate, continuous pressure solution while retaining a divergence-free velocity. This algorithm could be of particular interest when modeling incompressible complex fluids where there is a strong dependence on the pressure. Full details of our implementation in the automated finite element software FEniCS are described and numerical results are given. Next, we derive a stochastic performance model for traditional and pipelined Krylov linear solvers. By using a description that accounts for stochastic noise, modeled by an analytical probability distribution, we are able to clarify a folk theorem that pipelined methods can only result in a speedup of 2x over the naive implementation. Examining repeated runs, we are also able to study machine noise in depth. These results are particularly applicable in unpredictable computing environments, such as computing platforms with shared resources. Details of our experiments in the scientific computing software PETSc are given.