We propose a software architecture where SAT solvers act as a shared network resource for distributed business applications. There can be multiple parallel SAT solvers running either on dedicated hardware (a multi-processor system or a system with a specific GPU) or in the cloud. In order to avoid complex message passing between network nodes, we introduce a novel concept of the shared SAT memory, which can be accessed (in the read/write mode) from multiple different SAT solvers and modules implementing the business logic. As a result, our architecture allows for the easy generation, diversification, and solving of SAT instances from existing high-level programming languages without the need to think about the network. We demonstrate our architecture on the use case of transforming the integer factorization problem to SAT.
翻译:我们提出一个软件架构,使沙特德士古公司作为分布式商业应用程序的共享网络资源; 可能存在多个平行的沙特德士古公司解决方案,运行在专用硬件(多处理系统或带有特定GPU的系统)或云中; 为了避免网络节点之间传递复杂信息,我们引入了一个共享沙特德士古记忆的新概念,可以(以读/写模式)从多个不同的沙特德士古公司解决方案和模块中获取,实施商业逻辑。 因此,我们的架构允许从现有的高级编程语言中轻松生成、多样化和解决沙特德士古公司案例,而无需考虑网络。 我们展示了我们将整数因因子化问题转化为沙特德士古公司的架构。