Previous efforts on making Satisfiability (SAT) solving fit for high performance computing (HPC) have lead to super-linear speedups on particular formulae, but for most inputs cannot make efficient use of a large number of processors. Moreover, long latencies (minutes to days) of job scheduling make large-scale SAT solving on demand impractical for most applications. We address both issues with Mallob, a framework for job scheduling in the context of SAT solving which exploits malleability, i.e., the ability to add or remove processing power from a job during its computation. Mallob includes a massively parallel, distributed, and malleable SAT solving engine based on Hordesat with a more succinct and communication-efficient approach to clause sharing and numerous further improvements over its precursor. For example, Mallob on 640 cores outperforms an updated and improved configuration of Hordesat on 2560 cores. Moreover, Mallob can also solve many formulae in parallel while dynamically adapting the assigned resources, and jobs arriving in the system are usually initiated within a fraction of a second.
翻译:以往为使满足性(SAT)解决方案适合高性能计算(HPC)而进行的努力导致某些公式的超线性加速,但大多数投入无法有效使用大量处理器;此外,由于工作排期过长(分数至日),大规模沙特德士(SAT)解决方案对大多数应用来说不切实际;我们与Mallob(一个利用可操作性,即在计算过程中增加或取消某一工作处理能力的工作时间安排框架)解决了这两个问题;Mallob(Mallob)包括一个以Hordesat为基础的大规模平行、分布和可移动的沙特德(SAT)解决方案引擎,以更加简洁和通信高效的方式分享条款,并对其前体进行了许多进一步的改进;例如,Mallob(Mallob)在640核心上超越了Hordesat在2560核心上的更新和改进配置;此外,Mallob(Mallob)还能够同时解决许多公式,同时动态调整分配的资源,而到达系统的工作通常在第二位内启动。