On the design of parallel linear solvers for large scale problems