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 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 FastFlow's Project Home.


uAL (from micro (u) engine ASSIST Layer) 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 here


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 project's web site on Sourceforge


pktDumper is a network traffic disk recorder application.

Source code and more information available upon request.


ASSIST (A Software development System based on Integrated Skeleton Technology) 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 here.


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.

Download runsv from Sourceforge.


AD-HOC (Adaptive Distributed Herd of Object Caches), 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 projects.

The libraries and applications developed on top of ADHOC include:

Source code available upon request.


SkIE (Skeleton-based Integrated Environment) is a skeleton-based parallel programming environment.

More information about SkIE can be found here .