分布式 Z3 和每个节点的最佳硬件
Distributed Z3 and best hardware for each node
我正在考虑启动一个 运行 专门用于 Z3 的服务器集群来解决 SMT 公式。
有什么办法可以将多台服务器集群起来,以分布式的方式加入计算能力并求解SMT公式吗?
运行 Z3 尽可能快的系统的推荐特征是什么(关于硬件)?
谢谢!!
SAT/SMT 由于缓存命中率低,求解器通常占用大量内存。因此,你不能在 CPU 上 运行 多个进程,否则它们很快就会开始降低彼此的性能(即 运行 每个核心一个进程不是一个好主意,如果你想要基准测试)。
我不能给出任何具体的建议,但我会选择 CPU 具有较少内核(例如 4 个)和高内存带宽的内核。现在 CPUs 有一个固定的 TDP,CPUs 越少,每个人就越强大——对内存的争用也越少。
您还想坚持使用小端架构。目前,Z3 不能很好地处理 big-endian archs(例如许多 ARM、MIPS、SPARC 等)。此外,就我所见,64 位通常有帮助。
我正在考虑启动一个 运行 专门用于 Z3 的服务器集群来解决 SMT 公式。
有什么办法可以将多台服务器集群起来,以分布式的方式加入计算能力并求解SMT公式吗? 运行 Z3 尽可能快的系统的推荐特征是什么(关于硬件)?
谢谢!!
SAT/SMT 由于缓存命中率低,求解器通常占用大量内存。因此,你不能在 CPU 上 运行 多个进程,否则它们很快就会开始降低彼此的性能(即 运行 每个核心一个进程不是一个好主意,如果你想要基准测试)。
我不能给出任何具体的建议,但我会选择 CPU 具有较少内核(例如 4 个)和高内存带宽的内核。现在 CPUs 有一个固定的 TDP,CPUs 越少,每个人就越强大——对内存的争用也越少。
您还想坚持使用小端架构。目前,Z3 不能很好地处理 big-endian archs(例如许多 ARM、MIPS、SPARC 等)。此外,就我所见,64 位通常有帮助。