5 research outputs found

    FastFlow tutorial

    Full text link
    FastFlow is a structured parallel programming framework targeting shared memory multicores. Its layered design and the optimized implementation of the communication mechanisms used to implement the FastFlow streaming networks provided to the application programmer as algorithmic skeletons support the development of efficient fine grain parallel applications. FastFlow is available (open source) at SourceForge (http://sourceforge.net/projects/mc-fastflow/). This work introduces FastFlow programming techniques and points out the different ways used to parallelize existing C/C++ code using FastFlow as a software accelerator. In short: this is a kind of tutorial on FastFlow.Comment: 49 pages + cove

    Autonomic Management of Performance in FastFlow Stream parallel patterns

    Get PDF
    The thesis introduces autonomic managers in Fasflow pipeline and Farm skeletons optimizing service times and efficiency. Implementation details are discussed and experimental results are shown that validate the the approach.Simple policies are implemented aiming at optimizing service time and efficiency by merging/splitting stages in pipelines and by adding/removing workers in Farm skeletons

    Usage of GPU Acceleration within FastFlow Stream Parallel Application

    Get PDF
    The emergence of stream applications such as multimedia processing and networking made Stream processing to become increasingly important. In a stream programming model, computations are decomposed into stages of sequential computations and input/output i partitioned into chunks where each chunk becomes a stream element. Input streams are then passed through stages of a pipeline, producing output streams. This has the advantage of effectively using the inherent parallelism in the pipeline, i.e., the execution of the stages can be overlapped with each other to exploit task parallelism. The objective of the thesis is to investigate the suitability of Graphics Processing Unit(GPU) for stream parallel applications and to find out an optimal number of streams so that the computation on a chunk fully utilizes the GPU resources and the completion time of the whole application is the minimum one that can be achieved due to the usage of CUDA streams

    Branch and Bound pattern in FastFlow

    Get PDF
    The thesis describes the development of a FastFlow skeleton implementing a Branch and Bound parallel framework that would be specialized by the user to solve all of the problems type solvable with a Branch and Bound approach. To achieve this scope the skeleton is worked out leaving to the users the task of specifying the application specific code and providing all the needed objects to implement the Branch and Bound framework

    Efficient multicore implementation of NAS benchmarks with FastFlow

    Get PDF
    The thesis describes an efficient implementation of a subset of the NPB algorithms for the multicore architecture with the FastFlow framework. The NPB is a specification of numeric benchmarks to compare different environments and implementations. FastFlow is a framework, targeted to shared memory systems, to sustain parallel algorithms based on structured parallel programming. Starting from the NPB specification, the thesis selects a subset of the NPB algorithms and discerns an efficient implementation for both the sequential and parallel algorithms, through FastFlow. Finally, experiments on state of the art multicore architectures compare the derived code with the reference implementation, provided by the NPB authors
    corecore