The solution of sparse linear systems constitutes the dominant computational bottleneck in interior point methods (IPMs), frequently consuming over 70% of the total solution time. As optimization problems scale to millions of variables, direct solvers encounter prohibitive fill-in, excessive memory consumption, and limited parallel scalability. We present SDSL-Solver, a scalable distributed sparse linear solver framework designed for IPMs. SDSL-Solver employs Krylov subspace methods, combined with numerics-based sparse filtering and diagonal correction techniques that produce high-quality preconditioners. To accommodate diverse problem characteristics, SDSL-Solver offers two complementary distributed parallel methods: Block Jacobi for diagonally dominant matrices, and Bordered Block Diagonal (BBD) for general or ill-conditioned matrices requiring globally coupled preconditioning via Schur complement techniques. A preconditioner reuse strategy further amortizes construction costs across consecutive IPMs iterations. We evaluate SDSL-Solver on benchmark problems with matrix dimensions ranging from tens of thousands to over five million on multi-node clusters equipped with X86 processors. The experimental results show that under the Block Jacobi and BBD distributed methods, SDSL-Solver on a four-node configuration achieves average speedups of 6.23 times and 7.77 times, respectively, compared to PETSc running on the same number of nodes. Relative to the single-node PARDISO, the average speedups reach 97.54 times and 5.85 times, respectively.
翻译:稀疏线性系统的求解是内点法(IPM)中占据主导地位的计算瓶颈,通常消耗总求解时间的70%以上。随着优化问题的规模扩展至数百万个变量,直接求解器面临严重的填充现象、过高的内存消耗以及有限的并行可扩展性。本文提出SDSL-Solver,一个面向IPM设计的可扩展分布式稀疏线性求解器框架。SDSL-Solver采用Krylov子空间方法,并结合基于数值的稀疏过滤与对角校正技术,以生成高质量预条件子。为适应不同问题特性,SDSL-Solver提供两种互补的分布式并行方法:针对对角占优矩阵的块雅可比方法,以及针对一般性或病态矩阵的边框块对角(BBD)方法,后者通过Schur补技术实现全局耦合预条件。此外,预条件子重用策略可跨IPM连续迭代分摊构建成本。我们在配备X86处理器的多节点集群上,针对矩阵维度从数万至超过五百万的基准问题评估了SDSL-Solver。实验结果表明,在四节点配置下,采用块雅可比与BBD分布式方法的SDSL-Solver,相比相同节点数的PETSc分别实现平均6.23倍和7.77倍的加速。相对于单节点的PARDISO,其平均加速分别达到97.54倍和5.85倍。