FastFlow is a parallel programming framework for multi-core platforms based upon non-blocking lock-free/fence-free synchronization mechanisms. The framework is composed of a stack of layers that progressively abstracts out the programming of shared- memory parallel applications. The goal of the stack is twofold: to ease the development of applications and make them very fast and scalable. FastFlow is particularly targeted to the development of streaming applications. ----- New features in v1.1: Now working on Linux (gcc/makefile), Mac OS X (gcc/makefile, gcc/Xcode), Windows XP and 7, 32/64 bit (visual Studio 2008 and 2010). MSqueue reworked and now in stable state. Slightly modified MPMC interface and usage. Added Quicksort algo implementation which uses MPMC queue (both in blocking and non-blocking version). Fixes return type error in node.hpp ubuffer.hpp and buffer.hpp. Added the method get_channel_id() in the emitter and collector class the method returns the id of the worker thread from which an input task is coming from. Added the fibonacci and the quicksort examples. Added basic interface for pinning threads to CPUs. Added multipush and mpush to SWSR buffer (experimental code). Added mpush to uSWSR queue (experimental code). More tests. Improved cmake test. Improved performance for fine grain D&C computation (farm+feedback) by changing the losetime_in method in the lb class. Added Multi-Producers/Multi-Consumers queue (MSqueue by Michael and Scott). Added abstraction_dcas from liblfds (www.liblfds.org). Fixed some bugs in the allocator. Posix_memalign implemented in the allocator. Ticket-spinlock from Linux kernel (EXPERIMENTAL code only for Linux). Added two lock-based methods in uSWSR queue (mp_push and mc_pop). Fixed deadlock situation when pipeline with feedback channel is created (torus pattern). Implemented a Deferred Reclamation strategy based on number of free in the allocator. Added the ff_queue implementation of a SPSC queue by Dmitry Vyukov (www.1024cores.net).

FastFlow (v1.1)

ALDINUCCI, MARCO;
2010-01-01

Abstract

FastFlow is a parallel programming framework for multi-core platforms based upon non-blocking lock-free/fence-free synchronization mechanisms. The framework is composed of a stack of layers that progressively abstracts out the programming of shared- memory parallel applications. The goal of the stack is twofold: to ease the development of applications and make them very fast and scalable. FastFlow is particularly targeted to the development of streaming applications. ----- New features in v1.1: Now working on Linux (gcc/makefile), Mac OS X (gcc/makefile, gcc/Xcode), Windows XP and 7, 32/64 bit (visual Studio 2008 and 2010). MSqueue reworked and now in stable state. Slightly modified MPMC interface and usage. Added Quicksort algo implementation which uses MPMC queue (both in blocking and non-blocking version). Fixes return type error in node.hpp ubuffer.hpp and buffer.hpp. Added the method get_channel_id() in the emitter and collector class the method returns the id of the worker thread from which an input task is coming from. Added the fibonacci and the quicksort examples. Added basic interface for pinning threads to CPUs. Added multipush and mpush to SWSR buffer (experimental code). Added mpush to uSWSR queue (experimental code). More tests. Improved cmake test. Improved performance for fine grain D&C computation (farm+feedback) by changing the losetime_in method in the lb class. Added Multi-Producers/Multi-Consumers queue (MSqueue by Michael and Scott). Added abstraction_dcas from liblfds (www.liblfds.org). Fixed some bugs in the allocator. Posix_memalign implemented in the allocator. Ticket-spinlock from Linux kernel (EXPERIMENTAL code only for Linux). Added two lock-based methods in uSWSR queue (mp_push and mc_pop). Fixed deadlock situation when pipeline with feedback channel is created (torus pattern). Implemented a Deferred Reclamation strategy based on number of free in the allocator. Added the ff_queue implementation of a SPSC queue by Dmitry Vyukov (www.1024cores.net).
2010
1.1
Università degli studi di Torino, Università di Pisa
http://di.unito.it/fastflow
http://mc-fastflow.sourceforge.net
http://sourceforge.net/projects/mc-fastflow/
Multi-core; parallel programming; streaming; skeletons; accelerator; non-blocking; synchronization; lock-free; function offload; self-offloading
Marco Aldinucci; Massimo Torquati
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/89857
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact