Effective Parallel Preconditioning with Sparse Approximate Inverses