来源:Seven Challenges in Parallel SAT Solving
ParKissat(SC22并行#1):使用Painless框架,基于KissatMAB(SC21串行#1)
PRS(SC23并行#1):ParKissat-RS的改进,基于Kissat-Inc(SC22串行#2)
PRS-DIST(SC23分布#2)
MPI进程直接管理4个求解器线程修改为MPI进程下的一个子进程管理4个求解器线程:单个求解器的崩溃不会影响到MPI进程,但会带来一定的通信开销。
改进子句过滤机制:使用一个比特数组标记已经被分享过的子句,并与子句缓存一起共享。
针对极大规模任务:每个MPI至少负责1个任务改进为每台机器至少负责1个任务。
提交设置:
1个MPI进程管理4个物理线程修改为管理1台物理机器
LBD修改:当子句被共享到一个新任务中时,将LBD值修改到最大(子句长度),思想来源于TopoSAT2
共享频率:1次/s修改为0.33/s,但缓冲区修改为原先的1/3
完善子句过滤数据结构,添加垃圾回收机制,优化锁的实现