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. 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 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.
phalanx computes a digest of many buffers simultaneously, and produces a combined hash of them all. It is an initiative to provide a fast, simple, and portable alternative method to compute a checksum in a parallel fashion. It has options for I/O buffer size, hash width, number of threads, and more. It can be run single-threadedly for performance comparisons. It can check files against previously-saved sums, like "MD5sum" does. It also has a "demo" mode, to ascertain accurate operation. It is intended to be useful on large files and multicore/multiprocessor/multithreaded environments.
dabba is a set of distributed network monitoring tools for Linux. Its main use is to gather or scatter actions on a network such as traffic capture, replay, generation, or monitoring. It was inspired by the Dabba Walla system in Mumbai where meals are regrouped and dispatched throughout the city with a high efficiency rate, every day of the year. The project has three main components: libdabba, a low-level zero-copy network library, dabbad, a multi-threaded task manager and IPC query processor, and dabba, a CLI for communicating with dabbad and submitting tasks.
Opensort is general purpose sorting software that aims to be a fast and easy solution for the sorting of large or small data-sets and data manipulation in general. It is still in the early stages of development and lacks many of the advanced features its commercial counterparts have. For the moment, it only provides a simple command line interface and a C library other programs can use to cover some basic needs for data sorting.
Thread Weaver is a framework for writing multithreaded unit tests for Java classes. It lets you create breakpoints inside your code and to stop individual threads when they reach a breakpoint. This allows you to produce controlled repeatable tests that can help to verify thread safety and detect race conditions.