Abstract
For various kinds of Internet of Things (IoT) systems whose control rules can be expressed in a Satisfiability (SAT) problem, this work aims at realizing an IoT-oriented FPGA-based SAT solver leveraging a bio-inspired algorithm, AmoebaSAT, using a hardware/software co-design approach. With regard to the software component, we extended the baseline algorithm to escape from local minima more quickly and achieve significant reduction in iteration count. With regard to hardware, we fully extracted the fine-grained parallelism of the algorithm to further accelerate the solution search. Through our evaluations using several benchmarks of varying variable count and complexity, we demonstrated the efficiency of our solver, especially for larger practical SAT instances. Compared with three state-of-the-art solvers (i.e., one software implementation of the original AmoebaSAT algorithm and two FPGA-based hardware solvers), we achieved an average of $15.9\times $ and up to $48\times $ reduction in iteration count. Furthermore, through in-depth analyses of the experimental results, we provided the essential findings on the relationship between the problem’s complexity and the SAT algorithm that can be leveraged for extensions of both the hardware and software designs.
Highlights
Internet of Things (IoT) is an ever-growing technology in which a huge number of edge devices are connected in order to share information with each other and/or control a target object in their own applications
As more and more IoT applications seek for solutions to achieve their purposes, an increasing number of problems are dealt with as combinatorial optimization problems – for example, finding the best route or best combination from a known list [1], [2] can be handled as travelling salesman problems, minimum spanning tree problems, etc
Those solutions/decisions should be resolved on-site for self-sustainability due to the network congestion and the need for real-time processing in IoT applications. Considering such environmental issues and application requirements, it is crucial to develop problem solvers that can run on the edge devices while exhibiting the following features: The associate editor coordinating the review of this manuscript and approving it for publication was Zhenliang Zhang
Summary
Internet of Things (IoT) is an ever-growing technology in which a huge number of edge devices are connected in order to share information with each other and/or control a target object in their own applications. As more and more IoT applications seek for solutions to achieve their purposes, an increasing number of problems are dealt with as combinatorial optimization problems – for example, finding the best route or best combination from a known list [1], [2] can be handled as travelling salesman problems, minimum spanning tree problems, etc. Those solutions/decisions should be resolved on-site for self-sustainability (i.e., at the edge devices, not in the cloud) due to the network congestion and the need for real-time processing in IoT applications. In many IoT applications, nearoptimal solutions are often appreciated in lieu of a true optimal solution if searching time to obtain the optimal solution is expensive [3]
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have