264,655 research outputs found

    Probabilistic Graphical Models on Multi-Core CPUs using Java 8

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore