FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core, GPGPUs, and clusters of them. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven comparable or faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
libLunchbox facilitates the development and deployment of multi-threaded applications. It provides OS Abstraction, using utility classes abstracting common operating system features (such as threads, locks, memory maps, shared library loading, and condition variables), high-performance primitives (including thread-safe utilities tuned for performance, such as atomic variables, spin locks, and lock-free containers), and utility classes (including helper primitives which are not in the standard library, such as logging, pools, and random number generation).