Integer Linear Programming (ILP) is widely used for solving real-world optimization problems, including network routing, map routing, and traffic scheduling. However, ILP algorithms are sparse and branch-intensive, making them inefficient on conventional CPUs and GPUs. Prior work has shown that large-scale ILP problems can require tens of hours of execution time even on massively parallel systems, limiting their applicability to time-sensitive decision-making workloads. Existing ILP solvers such as Gurobi employ software-level optimizations to handle sparsity on CPUs, but still face throughput limitations. GPU-based ILP solvers are also constrained because GPUs are not well suited for sparse and branch-heavy workloads, leading to thread divergence, under-utilization of streaming multiprocessors, and frequent host-device interactions. This paper presents SPARK, a sparsity-aware, reuse-aware, energy-efficient, reconfigurable near-cache ILP accelerator. SPARK repurposes the existing L1 cache in CPUs to provide near-cache acceleration with minimal hardware overhead of approximately 1.4\% of the CPU area. The architecture performs near-cache sparsity detection and sparsity-aware computation to reduce insignificant computations and data movement energy. SPARK also exploits computational reuse patterns in ILP algorithms to improve parallelism and efficiency. The proposed design supports both sparse and dense ILPs as well as Linear Programs (LPs). Evaluations on real-world workloads from MIPLIB 2017 show that SPARK achieves up to 15x and 20x performance improvement, and up to 152x and 740x energy reduction compared to AMD Zen3 CPUs and NVIDIA Tesla V100 GPUs, respectively, for sparse ILPs. For sparse LPs, SPARK achieves 7-17x performance improvement and 103-250x energy reduction over CPU and GPU baselines, demonstrating the broad applicability of the proposed architecture.
翻译:整数线性规划(ILP)被广泛应用于解决网络路由、地图路线规划及交通调度等实际优化问题。然而,ILP算法具有稀疏性和分支密集型特征,使得其在传统CPU和GPU上效率低下。已有研究表明,即便在大规模并行系统上,大型ILP问题的执行时间可能长达数十小时,严重制约了其在时序敏感型决策任务中的应用。现有ILP求解器(如Gurobi)虽采用软件级优化应对CPU上的稀疏性,仍面临吞吐量瓶颈。基于GPU的ILP求解器同样受限,因为GPU难以适配稀疏且分支密集的工作负载,导致线程束发散、流式多处理器利用率不足以及频繁的主机-设备交互。本文提出SPARK——一种稀疏感知、复用感知、高能效可重构近缓存ILP加速器。SPARK复用CPU中现有的L1缓存,以约1.4%的CPU面积硬件开销实现近缓存加速。该架构通过近缓存的稀疏性检测与稀疏感知计算,减少无效计算与数据搬运能耗,同时挖掘ILP算法中的计算复用模式以提升并行性与效率。所提设计同时支持稀疏与稠密ILP及线性规划(LP)问题。基于MIPLIB 2017实际工作负载的评估表明:针对稀疏ILP,与AMD Zen3 CPU和NVIDIA Tesla V100 GPU相比,SPARK分别实现了最高15倍和20倍的性能提升,以及最高152倍和740倍的能耗降低;针对稀疏LP,SPARK相比CPU和GPU基线实现了7-17倍性能提升与103-250倍能耗降低,充分展现了所提架构的广泛适用性。