English

Probabilistic Graphical Models on Multi-Core CPUs using Java 8

Artificial Intelligence 2017-07-10 v1 Distributed, Parallel, and Cluster Computing Machine Learning

Abstract

In this paper, we discuss software design issues related to the development of parallel computational intelligence algorithms on multi-core CPUs, using the new Java 8 functional programming features. In particular, we focus on probabilistic graphical models (PGMs) and present the parallelisation of a collection of algorithms that deal with inference and learning of PGMs from data. Namely, maximum likelihood estimation, importance sampling, and greedy search for solving combinatorial optimisation problems. Through these concrete examples, we tackle the problem of defining efficient data structures for PGMs and parallel processing of same-size batches of data sets using Java 8 features. We also provide straightforward techniques to code parallel algorithms that seamlessly exploit multi-core processors. The experimental analysis, carried out using our open source AMIDST (Analysis of MassIve Data STreams) Java toolbox, shows the merits of the proposed solutions.

Keywords

Cite

@article{arxiv.1604.07990,
  title  = {Probabilistic Graphical Models on Multi-Core CPUs using Java 8},
  author = {Andres R. Masegosa and Ana M. Martinez and Hanen Borchani},
  journal= {arXiv preprint arXiv:1604.07990},
  year   = {2017}
}

Comments

Pre-print version of the paper presented in the special issue on Computational Intelligence Software at IEEE Computational Intelligence Magazine journal

R2 v1 2026-06-22T13:42:11.970Z