Sonia Campa
University of Pisa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Sonia Campa.
european conference on parallel processing | 2003
Marco Aldinucci; Sonia Campa; Pierpaolo Ciullo; Massimo Coppola; Silvia Magini; Paolo Pesciullesi; Laura Potiti; Roberto Ravazzolo; Massimo Torquati; Marco Vanneschi; Corrado Zoccolo
We describe the implementation of ASSIST, a programming environment for parallel and distributed programs. Its coordination language is based of the parallel skeleton model, extended with new features to enhance expressiveness, parallel software reuse, software component integration and interfacing to external resources. The compilation process and the structure of the run-time support of ASSIST are discussed with respect to the issues introduced by the new characteristics, presenting an analysis of the first test results.
the Intl. Workshop on Component Models and Systems for Grid Applications | 2005
Marco Aldinucci; Sonia Campa; Massimo Coppola; Marco Danelutto; Domenico Laforenza; Diego Puppin; Luca Scarponi; Marco Vanneschi; Corrado Zoccolo
This chapter 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 programming environment currently under development at our group, is a suitable basis to capture all the desired features of the component model in a flexible and efficient manner. For the sake of interoperability, ASSIST modules or programs are automatically encapsulated in standard frameworks; currently, we are experimenting Web Services and the CORBA Component Model. Grid applications, built as compositions of ASSIST components and possibly other existing (legacy) components, are supported by an innovative Grid Abstract Machine, that includes essential abstractions of standard middleware services and a hierarchical Application Manager (AM). AM supports static allocation and dynamic reallocation of adaptive applications according to a performance contract, a reconfiguration strategy, and a performance model.
international conference on parallel processing | 2012
Marco Aldinucci; Sonia Campa; Marco Danelutto; Peter Kilpatrick; Massimo Torquati
FastFlow is a structured parallel programming framework targeting shared memory multi-core architectures. In this paper we introduce a FastFlow extension aimed at supporting also a network of multi-core workstations. The extension supports the execution of FastFlow programs by coordinating---in a structured way---the fine grain parallel activities running on a single workstation. We discuss the design and the implementation of this extension presenting preliminary experimental results validating it on state-of-the-art networked multi-core nodes.
Future Generation Computer Systems | 2014
Sonia Campa; Marco Danelutto; Mehdi Goli; Horacio González-Vélez; Alina Madalina Popescu; Massimo Torquati
The widespread adoption of traditional heterogeneous systems has substantially improved the computing power available and, in the meantime, raised optimisation issues related to the processing of task streams across both CPU and GPU cores in heterogeneous systems. Similar to the heterogeneous improvement gained in traditional systems, cloud computing has started to add heterogeneity support, typically through GPU instances, to the conventional CPU-based cloud resources. This optimisation of cloud resources will arguably have a real impact when running on-demand computationally-intensive applications. In this work, we investigate the scaling of pattern-based parallel applications from physical, “local” mixed CPU/GPU clusters to a public cloud CPU/GPU infrastructure. Specifically, such parallel patterns are deployed via algorithmic skeletons to exploit a peculiar parallel behaviour while hiding implementation details. We propose a systematic methodology to exploit approximated analytical performance/cost models, and an integrated programming framework that is suitable for targeting both local and remote resources to support the offloading of computations from structured parallel applications to heterogeneous cloud resources, such that performance values not available on local resources may be actually achieved with the remote resources. The amount of remote resources necessary to achieve a given performance target is calculated through the performance models in order to allow any user to hire the amount of cloud resources needed to achieve a given target performance value. Thus, it is therefore expected that such models can be used to devise the optimal proportion of computations to be allocated on different remote nodes for Big Data computations. We present different experiments run with a proof of-concept implementation based on FastFlowon small departmental clusters as well as on a public cloud infrastructure with CPU and GPU using the Amazon Elastic Compute Cloud. In particular, we show how CPU-only and mixed CPU/GPU computations can be offloaded to remote cloud resources with predictable performances and how data intensive applications can be mapped to a mix of local and remote resources to guarantee optimal performances.
parallel computing | 2004
Marco Aldinucci; Sonia Campa; Pierpaolo Ciullo; Massimo Coppola; Marco Danelutto; Paolo Pesciullesi; Roberto Ravazzolo; Massimo Torquati; Marco Vanneschi; Corrado Zoccolo
Publisher Summary A software development system based on integrated skeleton technology (ASSIST) is a parallel programming environment aimed at providing programmers of complex parallel application with a suitable and effective programming tool. Being based on algorithmically skeletons and coordination languages technologies, the programming environment relieves the programmer from a number of cumbersome, error prone activities that are required when using traditional parallel programming environments. ASSIST has been specifically designed to be easily customizable in order to experiment different implementation techniques, solutions, algorithms or back-ends any time new features are required or new technologies become available. This chapter explains how the ASSIST programming environment can be used to experiment new implementation techniques, mechanisms, and solutions within the framework of structured parallel programming models. The ASSIST implementation structure is briefly outlined and some experiments performed aimed at extending the environment are discussed. Those experiments were aimed at modifying ASSIST environment in such a way that, it can be used to program GRID architectures, including existing libraries in the application code, target heterogeneous cluster architectures, etc.
european conference on parallel processing | 2004
Marco Aldinucci; Sonia Campa; Massimo Coppola; Silvia Magini; Paolo Pesciullesi; Laura Potiti; Roberto Ravazzolo; Massimo Torquati; Corrado Zoccolo
We describe how the ASSIST parallel programming environment can be used to run parallel programs on collections of heterogeneous workstations and evaluate the scalability of one task-farm real application and a data-parallel benchmark, comparing the actual performance figures measured when using homogeneous and heterogeneous workstation clusters. We describe also the ASSIST approach to heterogeneous distributed shared memory and provide preliminary performance figures of the current implementation.
Dagstuhl Seminar on Future Generation Grids | 2006
Marco Aldinucci; Massimo Coppola; Sonia Campa; Marco Danelutto; Marco Vanneschi; Corrado Zoccolo
The design, implementation and deployment of efficient high performance applications on Grids is usually a quite hard task, even in the case that modern and efficient grid middleware systems are used. We claim that most of the difficulties involved in such process can be moved away from programmer responsibility by following a structured programming model approach. The proposed approach relies on the development of a layered, component based execution environment. Each layer deals with distinct features and problems related to the implementation of GRID applications, exploiting the more appropriate techniques. Static optimizations are introduced in the compile layer, dynamic optimization are introduced in the run time layer, whereas modern grid middleware features are simply exploited using standard middleware systems as the final target architecture. We first discuss the general idea, then we discuss the peculiarities of the approach and eventually we discuss the preliminary results achieved in the GRID.it project, where a prototype high performance, component based, GRID programming environment is being developed using this approach.
International Journal of Parallel Programming | 2014
Marco Aldinucci; Sonia Campa; Marco Danelutto; Peter Kilpatrick; Massimo Torquati
Structured parallel programming is recognised as a viable and effective means of tackling parallel programming problems. Recently, a set of simple and powerful parallel building blocks (
International Journal of Parallel Programming | 2016
Marco Aldinucci; Sonia Campa; Marco Danelutto; Peter Kilpatrick; Massimo Torquati
CoreGRID Workshop | 2007
Jan Dünnweber; Sergei Gorlatch; Marco Aldinucci; Sonia Campa; Marco Danelutto
\mathsf{RISC\text{- }pb^2l}