Skip to main content

Advertisement

Log in

Parallelized mining of domain knowledge on GPGPU and Xeon Phi clusters

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The cognitively enhanced complex event processing (CECEP) architecture being developed at the US Air Force is an autonomous decision support tool that reasons and learns like humans and enables enhanced agent-based decision making. It has applications in both military and civilian domains. One of the most computationally challenging aspects of CECEP is mining domain knowledge captured in cognitive domain ontologies (CDOs). Real-time agents require massively linked knowledge databases to be searched using a large set of constraints to generate intelligent decisions in run time. This study examines how to parallelize and accelerate the CDO knowledge mining algorithm by converting it into a constraint network that can be solved using a parallelized generate and test exhaustive depth first search algorithm. Our results show that 1 GPGPU can provide speed-ups of 100 times over a Xeon CPU core and almost 8 times over a Xeon Phi processor for the search algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Anderson JR, Bothell Byrne MD, Douglass S, Lebiere C, Qin Y (2004) An integrated theory of the mind. Psychol Rev 111(4):1036

  2. Aiken A (1999) Introduction to set constraint-based program analysis. Sci Comput Program 35:79–111

    Article  MathSciNet  MATH  Google Scholar 

  3. Mackworth AK (1987) Constraint satisfaction. In: Shapiro SC (ed) Encyclopedia of artificial intelligence. Wiley, New York

    Google Scholar 

  4. Brailsford SC, Potts CN, Smith BM (1999) Constraint satisfaction roblems: algorithms and applications. Eur J Oper Res 119:557–581

    Article  MATH  Google Scholar 

  5. Russell S, Norvig P (2009) Artificial intelligence: a modern approach, 3rd edn. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

  6. Diaz D, Abreu S, Codognet P (2010) Parallel constraint-based local search on the Cell/BE multicore architecture. In: Intelligent distributed computing IV. Studies in computational intelligence, vol. 315. Springer, Heidelberg, pp 265–274

  7. Burtscher M, Rabeti H (2013) A scalable heterogeneous parallelization framework for iterative local searches. In: IEEE 27th International Symposium on Parallel & Distributed Processing (IPDPS)

  8. Caniou Y, Codognet P (2011) Communication in parallel algorithms for constraint-based local search. In: IEEE International Parallel & Distributed Processing Symposium

  9. Luong T, Melab N, Talbi E (2013) GPU Computing for Parallel Local Search Metaheuristic Algorithms. IEEE Trans Comput 62(1):173–185

  10. Fu Z, Dasari HK, Berzins M, Thompson B (2014) Parallel breadth first search on GPU clusters. In: IEEE International Conference on Big Data (Big Data), pp 110–118

  11. Wong LL, Wen-mei Hwu M (2010) An effective GPU implementation of breadth-first search. In: Design Automation Conference (DAC), pp 52–55

  12. Buluc A, Madduri K (2011) Parallel breadth first search on distributed memory systems. In: The International Conference for High Performance Computing, Networking, Storage and Analysis (SC11)

  13. Joshi SD, Inamdar VS (2010) Performance Improvement in Large Graph Algorithms on GPU using CUDA: an Overview. In: International Journal of Computer Applications

  14. Zhong J, He B (2014) Medusa: simplified graph processing on GPUs. Parallel Distrib Syst IEEE Trans 25(6):1543–1552 (ISSN: 1045-9219)

  15. Li D, Becchi M (2013) Deploying Graph Algorithms on GPUs: an Adaptive Solution. In: IEEE 27th International Symposium on Parallel & Distributed Processing (IPDPS)

  16. Attia OG, Johnson T, Townsend K, Jones P, Zambreno J (2014) CyGraph: a reconfigurable architecture for parallel breadth-first search. In: Parallel & Distributed Processing Symposium Workshops (IPDPSW), pp 228–235

  17. Shirahata K, Sato H, Matsuoka S (2014) Out-of-core GPU memory management for MapReduce-based large-scale graph processing. In: IEEE International Conference on Cluster Computing (CLUSTER), pp 221–229

  18. Gent IP, Jefferson C, Miguel I, Moore NCA, Nightingale P, Prosser P, Unsworth C (2011) A preliminary review of literature on parallel constraint solving. In: Workshop on Parallel Methods for Constraint Solving (PMCS’11)

  19. Rolf C (2011) Parallelism in constraint programming, Ph.D. Thesis

  20. Rolf C, Kuchinski K (2009) Parallel Consistency in Constraint Programming. In: The International Conference on Parallel and Distributed Processing Techniques and Applications: SDMAS Workshop

  21. Rolf C, Kuchinski K (2010) Parallel search and parallel consistency in Constraint Programming. In: International Conference on Principles and Practices of Constraint Programming

  22. GPU AI for Board Games. http://developer.nvidia.com/gpu-ai-board-games. Accessed 10 July (2012)

  23. Douglass S, Myers C (2010) Concurrent knowledge activation calculation in large declarative memories. In: Proceedings of the 10th International Conference on Cognitive Modeling, pp 55–60

  24. Douglass S, Mittal S (2011) Using domain specific languages to improve scale and integration of cognitive models. In: Proceedings of the Behavior Representation in Modeling and Simulation Conference. Utah

  25. Moln’ar Z, Balasubramanian D, L’edeczi A (2007) An introduction to the GenericModeling Environment. In: Proceedings of the TOOLS Europe 2007 Workshop on Model-Driven Development Tool Implementers Forum. Zurich

  26. Ledeczi A, Maroti M, Bakay A, Karsai G, Garrett J, Thomason C, Nordstrom G, Sprinkle J, Volgyesi P (2001) The generic modeling environment. In: Workshop on Intelligent Signal Processing, vol. 17. Budapest

  27. Ledeczi A, Volgyesi P, Karsai G (2001) Metamodel composition in the Generic Modeling Environment. In: Comm. at Workshop on Adaptive Object-Models and Metamodeling Techniques, Ecoop, vol. 1

  28. Esper. http://esper.codehaus.org/

  29. Siskind JM (1991) Screaming Yellow Zonkers. MIT Articial Intelligence Laboratory

  30. Sanders P (1995) Better algorithm for parallel backtracking. In: Workshop on Algorithms for Irregularly Structured Problems, number 980 in LNCS

  31. Freuder EC, Dechter R, Ginsberg ML, Selman B, Tsang EPK (1995) Systematic versus stochastic constraint satisfaction. In: Proceedings of the 14th International Joint Conference on Artificial Intelligence, vol. 2. Morgan-Kaufmann, pp 2027–2032

  32. Ginsberg M, McAllester D (1994) GSAT and dynamic backtracking. In: Proceedings of the Fourth Int’l Conf. Principles of Knowledge Representation and Reasoning, pp 226–237

  33. Lynce I, Baptista L, Marques-Silva JP (2001) Stochastic systematic search algorithms for satisfiability. In: the LICS Workshop on theory and apps of satisfiability testing

  34. Bitner JR, Reingold E (1975) Backtracking programming techniques. Commun ACM 18(11):651–656

    Article  MATH  Google Scholar 

  35. Cugolaa G, Margara A (August 2012) Complex event processing with T-rex. J Syst Softw 85(8):1709–1728

  36. NVIDIA Tesla C2070. http://www.nvidia.com/docs/IO/43395/BD-04983-001_v05.pdf

  37. Barnell M, Wu Q, Luley R (2012) Integration and development of the 500 TFLOPS Heterogeneous Cluster (Condor). In: IEEE High Performance Extreme Computing Conference

  38. Tsang E (1993) Foundations of constraint satisfaction. Academic Press, Cambridge

    Google Scholar 

  39. Liu Z. Algorithms for constraint satisfaction problems. Math thesis, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada

  40. Kumar V (1992) Algorithms for constraint satisfaction problems: a survey. AI Mag 13(1):32–44

    Google Scholar 

  41. Bordeaux L, Hamadi Y, Samulowitz H (2009) Experiments with massively parallel constraint solving. In: Boutilier C (ed.) IJCAI, pp 443–448

  42. Schulte C (2000) Parallel search made simple. In: Beldiceanu N, Harvey W, Henz M, Laburthe F, Monfroy E, Muller T, Perron L, Schulte C (eds.) Proceedings of TRICS: Techniques for Implementing Constraint programming Systems, a post-conference workshop of CP 2000. Singapore

  43. Rolf CC, Kuchcinski K (2008) State-copying and recomputation in parallel constraint programming with global constraints. In: PDP ’08: Proceedings of the 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008). IEEE Computer Society, Washington, DC, pp 311–317

  44. Chu G, Schulte C, Stuckey PJ (2009) Confidence-Based Work Stealing in Parallel Constraint Programming. In: Gent IP (ed.) CP 2009. LNCS, vol. 5732. Springer, Heidelberg, pp 226–241

  45. Michel L, See A, Van Hentenryck P (2009) Transparent parallelization of constraint programming. INFORMS J Comput 21(3):363–382

    Article  MATH  Google Scholar 

  46. Xie F, Davenport A (2010) Massively parallel constraint programming for supercomputers: challenges and initial results. In: Lodi A, Milano M, Toth P (eds.) CPAIOR 2010. LNCS, vol. 6140. Springer, Heidelberg, pp 334–338

  47. R’egin J, Rezgui Md, Malapert A (2013) Embarrassingly parallel search. In: Christian Schulte (ed) Principles and practice of constraint programming, vol 8124. Springer, Berlin, pp 596–610

    Chapter  Google Scholar 

  48. R’egin JC, Rezgui M, Malapert A (2014) Improvement of the embarrassingly parallel search for data centers. In: Principles and Practice of Constraint Programming. Springer, New York

  49. Michel L, See A, Hentenryck PV (2007) Parallelizing constraint programs transparently. In: Bessiere C (ed.) CP, ser. Lecture Notes in Computer Science, vol. 4741. Springer, New York, pp 514–528

  50. Yang J, Goodwin SD (2005) High performance constraint satisfaction problem solving: state-recomputation versus state-copying. In: 19th International Symposium on High Performance Computing Systems and Applications. HPCS, pp 117–123

  51. Rolf CC, Kuchcinski K (2008) Load-balancing methods for parallel and distributed constraint solving. In: Cluster Computing, IEEE International Conference on, pp 304–309

  52. Diaz D, Abreu S, Codognet P (2012) Targeting theCell BroadbandEngine for constraint-based local search. doi:10.1002/cpe

  53. Caniou Y, Codognet P, Diaz D, Abreu S (2011) Experiments in parallel constraint-based local search. In: EvoCOP’11, 11th European Conference on Evolutionary Computation in Combinatorial Optimisation, Lecture Notes in Computer Science. Springer, Torino

  54. Caniou Y, Codognet P, Richoux F, Diaz D, Abreu S (2014) Large-scale parallelism for constraint-based local search: the costas array case study. Constraints Springer Verlag 20(1):30–56 (Germany)

    Article  MATH  Google Scholar 

  55. Van Luong T, Melab N, Talbi EG (2010) Local search algorithms on graphics processing units. In: Evolutionary computation in combinatorial optimization, Lecture Notes in Computer Science, vol. 6022. Springer, New York, pp 264–275

  56. Michel L, See A, Van Hentenryck P (2006) Distributed constraint-based local search. In: Benhamou F (ed.) CP’06, 12th Int. Conf. on Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, vol 4204. Springer, New York, pp 344–358

  57. Michel L, See A, Van Hentenryck P (2009) Parallel and distributed local search in comet. Comput Oper Res 36:2357–2375

    Article  MATH  Google Scholar 

  58. Moisan T, Gaudreault J, Quimper CG (2013) Parallel discrepancy-based search. In: Schulte C (ed.) Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, vol. 8124. Springer, New York, pp 30–46

  59. Wang Y (2010) NVIDIA CUDA Architecture-based Parallel Incomplete SAT solver. Master Project Final Report, Rochester Institute of Technology

  60. Leong P, Sham C, Wong W, Yuen W, Leong M (2001) A Bitstream Reconfigurable FPGA Implementation of the WSAT Algorithm. IEEE Trans VLSI Syst 9(1):197–201

    Article  Google Scholar 

  61. Hamadi Y, Jabbour S, Sais L (2009) ManySAT: a parallel SAT solver. J Satisability Boolean Model Comput 6:245–262

    MATH  Google Scholar 

  62. Chu G, Stuckey P (2008) A parallelization of MiniSAT 2.0. In: Proceedings of SAT race

  63. Schubert T, Lewis M, Becker B (2009) PaMiraXT: parallel SAT solving with threads and message passing. JSAT 6:203–222

    MATH  Google Scholar 

  64. Martins R, Manquinho V, Lynce I (2012) An overview of parallel SAT solving. Constraints 17:304–347

    Article  MathSciNet  MATH  Google Scholar 

  65. Ohmura K, Ueda K (2009) c-SAT: A parallel SAT solver for clusters. In: proceedings of SAT’09. Springer, New York, pp 524–537

  66. Nguyen T, Deville Y (1995) A distributed arc-consistency algorithm. In: First International Workshop on Concurrent Constraint Satisfaction

  67. Nguyen T, Deville Y (1998) A distributed arc-consistency algorithm. Sci Comput Program 30:227–250

    Article  MathSciNet  MATH  Google Scholar 

  68. Hamadi Y (2002) Optimal distributed arc-consistency. Constraints 7(3–4):367–385

    Article  MathSciNet  MATH  Google Scholar 

  69. Ruiz-Andino A, Araujo L, Saenz F, Ruz JJ (1998) Parallel arc-consistency for functional constraints. In: Workshop on Implementation Technology for Programming Languages based on Logic, ICLP, pp 86–100

  70. Burton FW, Sleep MR (1981) Executing functional programs on a virtual tree of processors. In: Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture, FPCA ’81. New York, pp 187–194

  71. Halstead RH (1984) Implementation of multilisp: Lisp on a multiprocessor. In: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, LFP ’84. New York, pp 9–17

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tarek M. Taha.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Atahary, T., Taha, T.M. & Douglass, S. Parallelized mining of domain knowledge on GPGPU and Xeon Phi clusters. J Supercomput 72, 2132–2156 (2016). https://doi.org/10.1007/s11227-016-1712-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1712-0

Keywords

Navigation