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.
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.
Flac2All is a multi-threaded script that will convert your collection of FLAC files into either Ogg Vorbis, MP3 (with the Lame encoder), or FLAC, complete with any tags and identical file/folder structure. The script has been stable for about a year now, and it has been known to saturate 8-core machines with parallel conversions. It is useful for people with with large FLAC collections who also want a lossy version for portable media players. If wanted, the script can perform updates by skipping already converted files. It has only been tested on Linux, but it should work without alteration on the other Unix systems with bash and the required dependencies.
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.
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.
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.