Operating systems

Archipel is a multithreading framework for Java. Threads working together can be seen as a graph in which each thread is a node. That's exactly what Archipel does. The aim is to make multithreading easier. Simply define your data exchange structures and write the business code for each of your threads, and Archipel handles the rest.

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.

Pythonect is an experimental general-purpose dataflow programming language based on Python. It provides both a visual programming language and a text-based scripting language. The text-based scripting language aims to combine the quick and intuitive feel of shell scripting with the power of Python. The visual programming language is based on the idea of a diagram with “boxes and arrows”.

libdash provides generic, efficient multi-threaded data access. It allows data distribution and synchronization in heterogenous environments, implemented by the CoDASH library. The primary use case is the development of task-parallel multi-threaded applications.