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 well-conditioned, diagonally dominant systems, and Bordered Block Diagonal (BBD) for ill-conditioned problems 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.
翻译:稀疏线性系统的求解是内点法(IPMs)中计算量最大的瓶颈,通常占据总求解时间的70%以上。随着优化问题规模扩展至数百万变量,直接求解器面临严重的填充现象、过高的内存消耗以及并行可扩展性受限等问题。本文提出SDSL-Solver,一个专为IPMs设计的可扩展分布式稀疏线性求解器框架。SDSL-Solver采用Krylov子空间方法,结合基于数值稀疏过滤和对角修正技术生成高质量预条件子。为适配不同问题特性,SDSL-Solver提供两种互补的分布式并行方法:针对良态、对角占优系统的Block Jacobi方法,以及针对需通过Schur补技术进行全局耦合预条件的病态问题的Bordered Block Diagonal(BBD)方法。预条件子重用策略进一步将构造成本分摊至连续的多轮IPM迭代中。我们在配备X86处理器的多节点集群上,针对矩阵维度从数万到超过五百万的基准问题进行了评估。实验结果表明,在Block Jacobi和BBD分布式方法下,SDSL-Solver在四节点配置上的平均加速比相较于同等节点数的PETSc分别达到$6.23\times$和$7.77\times$;相较于单节点PARDISO,平均加速比分别达到$97.54\times$和$5.85\times$。