~~NOTOC~~ ====== Software ====== Over the years I contributed to the development of many different projects. I currently maintain a couple of open source products. In this page some software I contributed in developing. ==== FastFlow ==== FastFlow is a multi-cores programming framework implemented as a C++ template library that offers a set of mechanisms to support low-latency and high-bandwidth data flows for the developent of streaming applications on a cache-coherent multi-cores architectures. More details and download at [[http://calvados.di.unipi.it/fastflow | FastFlow's Project Home]]. ==== uAL ==== uAL (from micro (**u**) engine **A**SSIST **L**ayer) is a uC library written for the Intel IXP2XXX Network Processor and the ASSIST environment. It provides all its functionalities by exploiting the IXP2XXX harware, hiding all the low-level architecture-dependent details of the Network Processor to the application programmer thus allowing the development and testing of NP's programs within the ASSIST environment. uAL has been developed within the FRINP project. uAL is described [[http://calvados.di.unipi.it/aigaion2/index.php/publications/show/193 |here]] ==== VirtuaLinux ==== VirtuaLinux is a Linux meta-distribution that allows the creation, deployment and administration of virtualized clusters with no single point of failure. VirtuaLinux architecture supports disk-less configurations and provides an efficient, iSCSI based abstraction of the SAN. Clusters running VirtuaLinux exhibit no master node to boost resilience and flexibity. More information and software download at [[http://virtualinux.sourceforge.net/|project's web site on Sourceforge]] ==== packetDumper ==== pktDumper is a network traffic disk recorder application. Source code and more information available upon request. ==== ASSIST ==== ASSIST (**A S**oftware development **S**ystem based on **I**ntegrated **S**keleton **T**echnology) is a parallel programming environment based on skeleton and coordination language technology. In the ASSIST environment, a parallel program can be structured as a generic graph, whose nodes are parallel or sequential modules, and arcs are the communication channels where streams of typed items are sent between modules. ASSiST's home page can be found [[http://www.di.unipi.it/groups/architetture/Assist.html | here]]. ==== runsv ==== runsv is a simple (yet useful) watchdog application that monitors active processes. It performs a restart of the monitored process if it crashes. In order to provide more control over the restarting process, it is possible to run another program upon process failures. [[http://sourceforge.net/projects/runsv/|Download]] runsv from Sourceforge. ==== Ad-HOC ==== AD-HOC (**A**daptive **D**istributed **H**erd of **O**bject **C**aches), is a fast and robust distributed object repository. It provides applications with a distributed storage manager that virtualise PC's memories into a unique common distributed storage space. Ad-HOC can effectively be used to implement DSMs as well as distributed cache subsystems. It has been developed within the SAIB and Grid.it projects. The libraries and applications developed on top of ADHOC include: * a parallel file system; * a distributed cache that can be plugged in the Apache web server; * a Distributed Shared Memory (DSM) for ASSIST . Source code available upon request. ==== SkIE ==== SkIE (**Sk**eleton-based **I**ntegrated **E**nvironment) is a skeleton-based parallel programming environment. More information about SkIE can be found [[http://calvados.di.unipi.it/aigaion2/index.php/publications/show/96 | here ]].