Learn More
This paper presents a parallel programming methodology that ensures easy programming, eeciency, and portability of programs to diierent machines belonging to the class of the general-purpose, distributed memory, MIMD architectures. The methodology is based on the deenition of a new, high-level, explicitly parallel language, called P 3 L, and of a set of(More)
This article presents an extension of the Fractal component model targeted at programming applications to be run on computing grids: the Grid Component Model (GCM). First, to address the problem of deployment of components on the Grid, deployment strategies have been dened. Then, as Grid applications often result from the composition of a lot of parallel(More)
In this work we present Lithium, a pure Java structured parallel programming environment based on skeletons (common, reusable and efficient parallelism exploitation patterns). Lithium is implemented as a Java package and represents both the first skeleton based programming environment in Java and the first complete skeleton based Java environment exploiting(More)
We present CHIARA, the programming language used to program CODACS (a general purpose dataflow architecture exploiting FPGA technology), and describe the compiling strategies leading from CHIARA programs to the CODACS dataflow graphs. CHIARA is a functional programming language based on Backus'FP. We designed both the language and the compiling tools in(More)
Technological directions for innovative HPC software environments are discussed in this paper. We focus on industrial user requirements of heterogeneous multisci-plinary applications, performance portability, rapid prototyping and software reuse, integration and interoperability of standard tools. The various issues are demonstrated with reference to the(More)
This paper presents the main ideas of the high-performance component-based Grid programming environment of the Grid.it project. High-performance components are characterized by a programming model that integrates the concepts of structured parallelism, component interaction, compositionality, and adaptivity. We show that ASSIST, the prototype of parallel(More)
We present an evolution of the Lithium parallel programming environment (the muskel Java package) that implements new features suitable for handling problems arising in typical dynamic environments such as the grid ones. In particular, our environment provides a prototype application manager that takes completely care of maintaining a given quality of(More)
FastFlow is a programming framework specifically targeting cache-coherent shared-memory multi-cores. It is implemented as a stack of C++ template libraries built on top of lock-free (and memory fence free) synchronization mechanisms. Its philosophy is to combine programmability with performance. In this paper a new FastFlow programming methodology aimed at(More)