Scalable Parallel Solution Techniques for Data-Intensive Problems in Distributed Memory