264,655 research outputs found
Probabilistic Graphical Models on Multi-Core CPUs using Java 8
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.Comment: Pre-print version of the paper presented in the special issue on
Computational Intelligence Software at IEEE Computational Intelligence
Magazine journa
The Glasgow Parallel Reduction Machine: Programming Shared-memory Many-core Systems using Parallel Task Composition
We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible
framework for parallel task-composition based many-core programming. We allow
the programmer to structure programs into task code, written as C++ classes,
and communication code, written in a restricted subset of C++ with functional
semantics and parallel evaluation. In this paper we discuss the GPRM, the
virtual machine framework that enables the parallel task composition approach.
We focus the discussion on GPIR, the functional language used as the
intermediate representation of the bytecode running on the GPRM. Using examples
in this language we show the flexibility and power of our task composition
framework. We demonstrate the potential using an implementation of a merge sort
algorithm on a 64-core Tilera processor, as well as on a conventional Intel
quad-core processor and an AMD 48-core processor system. We also compare our
framework with OpenMP tasks in a parallel pointer chasing algorithm running on
the Tilera processor. Our results show that the GPRM programs outperform the
corresponding OpenMP codes on all test platforms, and can greatly facilitate
writing of parallel programs, in particular non-data parallel algorithms such
as reductions.Comment: In Proceedings PLACES 2013, arXiv:1312.221
String Matching Problems with Parallel Approaches An Evaluation for the Most Recent Studies
In recent years string matching plays a functional role in many application like information retrieval, gene analysis, pattern recognition, linguistics, bioinformatics etc. For understanding the functional requirements of string matching algorithms, we surveyed the real time parallel string matching patterns to handle the current trends. Primarily, in this paper, we focus on present developments of parallel string matching, and the central ideas of the algorithms and their complexities. We present the performance of the different algorithms and their effectiveness. Finally this analysis helps the researchers to develop the better techniques
Quantifying the Statistical Impact of GRAPPA in fcMRI Data with a Real-Valued Isomorphism
The interpolation of missing spatial frequencies through the generalized auto-calibrating partially parallel acquisitions (GRAPPA) parallel magnetic resonance imaging (MRI) model implies a correlation is induced between the acquired and reconstructed frequency measurements. As the parallel image reconstruction algorithms in many medical MRI scanners are based on the GRAPPA model, this study aims to quantify the statistical implications that the GRAPPA model has in functional connectivity studies. The linear mathematical framework derived in the work of Rowe , 2007, is adapted to represent the complex-valued GRAPPA image reconstruction operation in terms of a real-valued isomorphism, and a statistical analysis is performed on the effects that the GRAPPA operation has on reconstructed voxel means and correlations. The interpolation of missing spatial frequencies with the GRAPPA model is shown to result in an artificial correlation induced between voxels in the reconstructed images, and these artificial correlations are shown to reside in the low temporal frequency spectrum commonly associated with functional connectivity. Through a real-valued isomorphism, such as the one outlined in this manuscript, the exact artificial correlations induced by the GRAPPA model are not simply estimated, as they would be with simulations, but are precisely quantified. If these correlations are unaccounted for, they can incur an increase in false positives in functional connectivity studies
Method of Building Parallel Data Mining Algorithms by Thread-Safe Functional Blocks
In this article described method of constructing parallel data mining algorithms based on representation of an algorithm in the form of hierarchy of nested functional blocks. Offered method allows to build types of parallel structures of data mining algorithms with dispatcher and without, with parallelization by task and by data
Investigation of the applicability of a functional programming model to fault-tolerant parallel processing for knowledge-based systems
In a fault-tolerant parallel computer, a functional programming model can facilitate distributed checkpointing, error recovery, load balancing, and graceful degradation. Such a model has been implemented on the Draper Fault-Tolerant Parallel Processor (FTPP). When used in conjunction with the FTPP's fault detection and masking capabilities, this implementation results in a graceful degradation of system performance after faults. Three graceful degradation algorithms have been implemented and are presented. A user interface has been implemented which requires minimal cognitive overhead by the application programmer, masking such complexities as the system's redundancy, distributed nature, variable complement of processing resources, load balancing, fault occurrence and recovery. This user interface is described and its use demonstrated. The applicability of the functional programming style to the Activation Framework, a paradigm for intelligent systems, is then briefly described
A Multiprocessor System for Performing Mail Sorting in Real Time
This paper describes a special purpose embedded multiprocessor architecture and algorithms developed for performmg real time Multi-Line Optical Character Recognition (MLOCR). MLOCR is a computationally intensive real time application involving character image extraction, gray scale thresholding, rotation and scaling of individual characters, and character identification. The computational complexity of the algorithms implemented in the system required custom hardware in a parallel processing environment to meet the real time system requirements. The algorithms as well as the functional partitioning of the algorithms mto parallel processing subsystems are discussed
The paradigm compiler: Mapping a functional language for the connection machine
The Paradigm Compiler implements a new approach to compiling programs written in high level languages for execution on highly parallel computers. The general approach is to identify the principal data structures constructed by the program and to map these structures onto the processing elements of the target machine. The mapping is chosen to maximize performance as determined through compile time global analysis of the source program. The source language is Sisal, a functional language designed for scientific computations, and the target language is Paris, the published low level interface to the Connection Machine. The data structures considered are multidimensional arrays whose dimensions are known at compile time. Computations that build such arrays usually offer opportunities for highly parallel execution; they are data parallel. The Connection Machine is an attractive target for these computations, and the parallel for construct of the Sisal language is a convenient high level notation for data parallel algorithms. The principles and organization of the Paradigm Compiler are discussed
- …