FPGA acceleration of semantic tree reasoning algorithms

We design of a hardware unit to accelerate common-sense reasoning algorithms.The FPGA-based platform reduces significantly the execution times.Scalability is assured by means of a smart data mapping strategy. Semantic trees are a particular type of trees widely used in the representation of the concepts and their relations. Therefore, a computational model of the reality can be built and processed by Artificial Intelligence algorithms to infer knowledge, make decisions, etc. In this work, the design of a hardware component to accelerate reasoning operations on semantic trees by means of an FPGA based platform is presented. The target application is common-sense reasoning where marker-passing algorithms work on semantic tree structures; the core of the Scone Knowledge-Based system.On top of the functionality to be implemented, a strategy to deal with the implementation in reconfigurable hardware of dynamic and recursive data structures has been envisioned. Since lists, graphs or trees are the cornerstone in the modelling of computer friendly solutions for complex problems; this proposal contributes to reduce the breach between the software and silicon domains.As a result, an optimized micro-architecture of an FPGA accelerator for marker-passer algorithms integrated into a heterogeneous computing platform, and a smart data mapping procedure have been delivered. The design has been prototyped on a Xilinx ML507 board and compared to an equivalent software implementation, showing a significant reduction in execution times.

[1]  Shao-Yi Chien,et al.  Flexible Hardware Architecture of Hierarchical K-Means Clustering for Large Cluster Number , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[2]  Scott E. Fahlman,et al.  Marker-Passing Inference in the Scone Knowledge-Base System , 2006, KSEM.

[3]  Alok N. Choudhary,et al.  An FPGA Implementation of Decision Tree Classification , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[4]  Alok Choudhary,et al.  Interactive presentation: An FPGA implementation of decision tree classification , 2007 .

[5]  Ladislav A. Novak,et al.  Evolving Decision Trees in Hardware , 2009, J. Circuits Syst. Comput..

[6]  Peter S. Sapaty,et al.  A parallel network wave machine , 1987 .

[7]  Scott E. Fahlman,et al.  NETL: A System for Representing and Using Real-World Knowledge , 1979, CL.

[8]  Naftaly H. Minsky Representation of Binary Trees on Associative Memories , 1973, Inf. Process. Lett..

[9]  Marios S. Pattichis,et al.  Pipelined Decision Tree Classification Accelerator Implementation in FPGA (DT-CAIF) , 2015, IEEE Transactions on Computers.

[10]  George A. Constantinides,et al.  FPGA-based K-means clustering using tree-based data structures , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[11]  Oliver Sinnen,et al.  Improving application performance with hardware data structures , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[12]  Wayne Luk,et al.  A framework for FPGA acceleration of large graph problems: Graphlet counting case study , 2011, 2011 International Conference on Field-Programmable Technology.

[13]  Nachiket Kapre,et al.  GraphStep: A System Architecture for Sparse-Graph Algorithms , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[14]  Amine Bermak,et al.  A Low-Power Hardware-Friendly Binary Decision Tree Classifier for Gas Identification , 2011 .

[15]  Sanguthevar Rajasekaran,et al.  Distributed Path-Based Inference in Semantic Networks , 2004, 7th International Symposium on Parallel Architectures, Algorithms and Networks, 2004. Proceedings..

[16]  Dan I. Moldovan,et al.  Modeling Semantic Networks on the Connection Machine , 1993, J. Parallel Distributed Comput..

[17]  Francisco Moya,et al.  Dynamic objects: Supporting fast and easy run-time reconfiguration in FPGAs , 2013, J. Syst. Archit..

[18]  A. Bermak,et al.  A reconfigurable hardware implementation of tree classifiers based on a custom chip and a CPLD for gas sensors applications , 2004, 2004 IEEE Region 10 Conference TENCON 2004..

[19]  Ken Eguro,et al.  Random decision tree body part recognition using FPGAs , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[20]  Imtiaj Ahmed,et al.  Implementation of Graph Algorithms in Reconfigurable Hardware (FPGAs) to Speeding Up the Execution , 2009, 2009 Fourth International Conference on Computer Sciences and Convergence Information Technology.

[21]  Hiroaki Kitano,et al.  Semantic Network Array Processor as a Massively Parallel Computing Platform for High Performance and Large-Scale Natural Language Processing , 1992, COLING.

[22]  Maya Gokhale,et al.  Accelerating a Random Forest Classifier: Multi-Core, GP-GPU, or FPGA? , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[23]  Francisco Moya,et al.  A comprehensive integration infrastructure for embedded system design , 2012, Microprocess. Microsystems.

[24]  Christos-Savvas Bouganis,et al.  Accelerating Random Forest training process using FPGA , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[25]  Hiroaki Kitano,et al.  The IXM2 parallel associative processor for AI , 1994, Computer.

[26]  Viktor K. Prasanna,et al.  Large-scale wire-speed packet classification on FPGAs , 2009, FPGA '09.

[27]  Lorenz Huelsbergen,et al.  A representation for dynamic graphs in reconfigurable hardware and its application to fundamental graph algorithms , 2000, FPGA '00.