Charm++ is a portable adaptive runtime system for parallel applications. Application developers create an object-based decomposition of the problem of interest, and the runtime system manages issues of communication, mapping, load balancing, fault tolerance, and more. Sequential code implementing the methods of these parallel objects is written in C++. Calls to libraries in C++, C, and Fortran are common and straightforward. Charm++ is portable across individual workstations, clusters, accelerators (Cell SPEs and GPUs), and supercomputers such as those sold by IBM (Blue Gene, POWER) and Cray (XT3/4/5/6). Applications based on Charm++ are used on at least 5 of the 20 most powerful computers in the world.
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.
Shard-Query uses partitioning and sharding to add query parallelism and grid computing capabilities to MySQL. Multiple interfaces are included, from a commandline client to an object oriented interface to a MySQL proxy interface for nearly-completely transparent access to a sharded data set.
libjmmcg is a basic, low-level library with pretensions to implementing features above and beyond (but not necessarily better than!) those implemented within the Standard C++ Library and the Boost Library. It features a library for multi-core or multi-chip SMP parallelism, a suite of hashing algorithms, functions for raising numbers to integer powers, a generic factory wrapper and a generic, multi-threaded, read-only cache (which uses PPD), arguably the world's worst sorting technique, trace output, exceptions that have the file, line, revision, function, and argument details, string utilities, logging, simple command line processing, and much more.
prll is a utility for parallelizing the execution of shell functions. It provides a convenient interface for parallelizing the execution of a single task over multiple data files or any other kind of data that you can pass as a shell function argument. It is meant to make it simple to fully utilize a multicore/multiprocessor machine. prll is designed to be used not just in shell scripts, but also in interactive shells. To make the latter convenient, it is implemented as a shell function. Shells are not very good at automatic job management, so prll uses helper programs, written in C. To prevent race conditions, System V Message Queues are used to signal job completion. Standard output is buffered and Semaphores are used to prevent interleaving.
A tool for chatting and exchanging anonymous email and files securely.
A no-cost version of the Arkeia Virtual Appliance for use in VMWare environments.