12、利用最大割预测BDD操作的内存需求及改进交换性合成的研究

BDD内存预测与交换性合成研究

利用最大割预测BDD操作的内存需求及改进交换性合成的研究

1. BDD操作相关工作及现状

在大规模BDD(Binary Decision Diagram,二元决策图)操作方面,许多方法尝试使用分布式内存算法来实现,部分基于广度优先算法。然而,这些方法都未能取得令人满意的性能。例如,多核实现的加速依赖于使用并发哈希表的并行深度优先算法,但这种方法无法扩展到外部内存。

CAL是另一个用于在单台机器上处理大型BDD的工具,它基于广度优先方法,在假设单个BDD层能装入主内存的情况下具有较高的I/O效率,而Adiar的I/O效率并不依赖这一假设。不过,CAL和Adiar在处理小实例时性能都不佳。CAL在输入的BDD节点少于219个(15 MiB)时会切换到经典的递归深度优先算法,但其阈值仅基于性能实验结果,缺乏可靠性保证,可能导致输出超出主内存,从而因随机访问而显著减慢速度。对于小于CAL阈值的BDD,Adiar 1.2结合i - 层割可以使几乎所有实验的辅助数据结构完全在内部内存中运行。

但当处理节点少于44,000个(1 MiB)的决策图时,Adiar的性能与传统基于深度优先的BDD包之间仍存在显著差距。这表明对于外部内存的时间前向处理,BDD大小存在一个下限,要解决这个问题,需要一种能有效无缝结合内部和外部内存中BDD的新方法。

2. 决策图之外的适用性

时间前向处理算法具有一定的通用性。优先队列的内容在任何时间点都是相对于输入和/或输出DAG(Directed Acyclic Graph,有向无环图)的2 - 层割。因此,如果能计算输入的分层函数和1 - 层割,就可以限制算法的内存使用。分层函数可通过特定的预处理步骤推导得出,割的大小可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值