一种基于组合与问题分解的SMT分布式求解方法和系统技术方案

技术编号:43599132 阅读:32 留言:0更新日期:2024-12-11 14:48
本发明专利技术属于计算机技术领域,涉及一种基于组合与问题分解的SMT分布式求解方法和系统。该方法包括:Leader进程为待求解的SMT问题分配Worker进程;Leader进程将原问题作为根节点加入划分树,并在求解过程中持续更新划分树的信息;Leader进程中的任务生成器产生任务并加入任务缓存队列,任务调度器对队列中的任务进行调度,向Worker进程分配任务,包括预处理化简任务、子节点生成任务和组合求解任务;Worker进程根据Leader进程的控制信号执行相关任务;Leader进程监听并收集来自各个Worker进程的任务运行结果,进而得到SMT问题的求解结果。本发明专利技术实现了高性能的分布式SMT求解器,具备普适性和高可扩展性,能最大限度地利用计算资源,提高求解效率。

【技术实现步骤摘要】

本专利技术属于计算机技术、软件,具体涉及一种基于组合与问题分解的smt分布式求解方法和系统。


技术介绍

1、布尔可满足性问题(sat)是判定一个给定命题逻辑公式是否可满足的判定问题,而可满足性模理论(smt)是对sat问题的扩展,它结合了布尔逻辑和其他理论(如等式理论和无解释函数、数组理论、位向量、线性和非线性算术)来表达更复杂的逻辑公式,来研究在这些特定理论下的一阶逻辑公式可满足性的判定方法。smt是形式化方法与自动推理的一个重要方向,被广泛地应用于众多领域,例如程序验证、云计算与云存储、优化问题求解、访问控制、多核问题、程序缺陷检测验证、有界模型检测、rtl验证、静态分析等等。这些领域中待解决的实际问题都可以建模为约束可满足问题,smt在这类问题的表述和求解上有突出优势。

2、目前,大多数先进的smt求解器仍然保持着单线程串行求解,相关工作集中在如何改进串行smt求解器中的求解技术和启发式方法。随着工业样例难度和规模的增长,串行smt求解已逐渐无法满足业界的需求,并且考虑到计算资源的日益丰富,采用分布式方法来充分利用算力,以提升smt求解器本文档来自技高网...

【技术保护点】

1.一种基于组合与问题分解的SMT分布式求解方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述划分树为一棵有根树,包含若干个节点,根节点代表原问题,父子节点满足划分的定义;所述划分树中的每个节点代表求解过程中生成的一个子问题公式,节点中包含以下信息:该节点的父节点、子节点、求解状态以及分配给Worker进程的求解策略。

3.根据权利要求1所述的方法,其特征在于,所述任务生成器根据划分树的状态与求解信息,不断生成任务并加入任务缓存队列;对于所有子节点对应的子问题公式,所述任务生成器首先为其生成预处理化简任务,以提高后续求解以及子问题划分...

【技术特征摘要】

1.一种基于组合与问题分解的smt分布式求解方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述划分树为一棵有根树,包含若干个节点,根节点代表原问题,父子节点满足划分的定义;所述划分树中的每个节点代表求解过程中生成的一个子问题公式,节点中包含以下信息:该节点的父节点、子节点、求解状态以及分配给worker进程的求解策略。

3.根据权利要求1所述的方法,其特征在于,所述任务生成器根据划分树的状态与求解信息,不断生成任务并加入任务缓存队列;对于所有子节点对应的子问题公式,所述任务生成器首先为其生成预处理化简任务,以提高后续求解以及子问题划分的效率和质量;然后,所述任务生成器根据当前的leader进程的全局信息,为节点生成子节点生成任务和组合求解任务;所述子节点生成任务启发式地配置子节点生成数量和划分种类,所示组合求解任务启发式地配置串行求解器种类、参数和求解时长。

4.根据权利要求3所述的方法,其特征在于,在初始阶段,一个节点只生成一个组合求解任务,随着求解进行,若遇到任务不饱和及worker空闲率较高的情况,则适当增加同一个节点的组合求解任务数,以尽可能的避免计算资源的浪费。

5.根据权利要求1所述的方法,其特征在于,所述worker进程包含预处理器、划分器和串行求解器,按照以下步骤执行相关任务:

6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:赵梦宇蔡少伟
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1