Recent architectural advances in the computer industry focus on the numerical solution of intensive flows, such as in oil reservoirs, on several processors simultaneously. Different computer architectures evolved from connection of these processors: shared memory with a few processors, distributed memory with up to a few hundred processors, and massively parallel with several thousand processors. Oil industry researchers are developing efficient techniques to improve hydrocarbon recovery in reservoirs by use of these computers. In this work, a generic approach is developed to solve the large system of sparse linear equations that arises in reservoir simulation. This approach uses a combination of domain decomposition and multigrid techniques that results in efficient and robust algorithms for sequential computers with one processor and for parallel computers with few to several tens of processors. The efficiency and robustness of these methods is comparable with widely used sequential solvers for problems of practical interest, which include implicit wells and faults. In parallel, these methods prove to be an order of magnitude faster on a 32-node iPSC/S60 hypercube.