Research

“Science is a way of thinking much more than it is a body of knowledge”. Carl Sagan

Research Topics

My research interests are centered around various aspects of distributed parallel computing with a particular focus on interdisciplinary solutions for basic and advanced research issues in this field. More specifically, I am interested in: 1) Parallel programming and parallel architectures; 2) Self-* parallel runtime systems; 3) High-performance data stream processing.

Parallel Programming and Parallel Architectures

With the advent of modern multi-/many-core CPUs and GPUs, parallel computing has become an active field of research. Parallel applications have become increasingly pervasive in our everyday lives: parallelism is available almost everywhere, from tiny devices such as smartphones to desktop CPUs and high-performance computing architectures such as servers and clusters. I am interested in every aspect of the design and implementation of parallel programs. From a methodological viewpoint, the definition of parallel patterns, their cost models (both analytical or empirical), and the evaluation of their expressive power to model real-world applications is a central research issue. Furthermore, designing efficient runtime supports for parallel computing is a crucial point of my research. I am interested in the design of highly efficient mechanisms enabling fine-grained parallelism on modern CPUs and hardware accelerators (GPUs and FPGAs). This aspect is challenging since it requires a deep understanding of the properties and the behavior of modern architectures: the exploitation of the memory hierarchy, cache coherence, interconnecting networks, the clever use of memory controllers, and hardware multi-threading are key points affecting the runtime support design and implementation.

parallel

Self-* Parallel Runtime Systems

I am interested in interdisciplinary research merging autonomic computing methodologies with parallel computing and distributed parallel applications executed on heterogeneous and dynamic environments like Data Centers, Clouds, and Cyber-Physical Systems. The problem of developing and programming self-adaptive and self-optimizing parallel applications is extremely attractive and presents several challenges. First of all, the autonomic behavior is enabled by: i) the definition of decision-making strategies that provide a correspondence between execution conditions and corrective actions to be applied on the system; ii) runtime supports properly designed to enable autonomic reconfigurations, e.g., dynamic modifications of the parallelism degree of a parallel computation, changes in the mapping between execution processes/threads onto the corresponding physical resources, and switching between alternative operating modes (parallel versions). The first point can be addressed by studying advanced techniques inspired by Control Theory and Artificial Intelligence. The goal is to define decision-making strategies able to achieve important properties of the autonomic process like the reconfiguration stability and accuracy. Complementary to these aspects, efficient reconfiguration mechanisms are extremely important to enable the autonomic behavior. Reconfigurations should be less intrusive as possible, minimizing the reconfiguration delay to apply the necessary change in the current configuration by preserving the computation consistency and correctness.

autonomic

High-Performance Data Stream Processing

I am investigating parallel approaches to Data Stream Processing problems (DSP). DSP is a hot research area that originated from the application of database queries on data streams (unlimited sequences of input values). Several important online and real-time applications can be modeled as DSP programs including network traffic analysis, financial trading, data mining, and many others. Streaming applications are usually modeled as directed graphs, in which arcs are data streams and vertices are operators transforming inputs into outputs. The efficient execution of such applications is a very challenging research issue. DSP introduces complex correlations between stream elements, windowing methods (tumbling/sliding and count-based/time-based semantics), and other typical computational patterns that require quite novel parallelism models and related design and implementation techniques on the emerging highly parallel architectures (multi-/many-core processing elements combined in large systems and heterogeneous clusters and potentially equipped with hardware accelerators). The problem is further complicated by the strong performance requirements of typical DSP scenarios: high throughput and low latency are unavoidable constraints that imply a careful parallelization. My work aims to study innovative parallel programming techniques and runtime supports enabling High-Performance Data Stream Processing. The results of my research activities on this topic are continuously integrated into the WindFlow parallel library for data streaming on multicores and GPUs.

windflow

Research Projects

  • OUTFIT (Italian PRIN 2022): “OUTFIT - crOwdsoUrced daTa Feeding noise maps in dIgital Twins Road traffic dynamic data modeling for urban noise representation in digital twins”. The OUTFIT project implements a DT of an urban area to deliver dynamic RTN estimation based on crowd-sourced data, developing a tool able to rely on live timing changes thanks to High Performance Computing (HPC) methods. HPC is able to study those changes in pollution models and hence it allows RTN maps in terms of small time intervals. A new method will be developed to derive noise correction factors to be applied to real time input data to provide RTN output.

  • NOUS (Horizon Europe): “Empowering Europe’s Data Future”. NOUS is a pioneering initiative that envisions, designs and implements cutting-edge Cloud Services in the era of data spaces, high-performance computing, and edge computing. As NOUS navigates through the dynamic landscape of the digital age, the project is dedicated to shaping the future of technology by harnessing the power of cloud services and pushing the boundaries of what is possible.

  • TEXTAROSSA (H2020, EuroHPC): “Towards EXtreme scale Technologies and Accelerators for euROhpc hw/Sw Supercomputing Applications for exascale”, (2021-2024). TEXTAROSSA is a research project addressing the urgent need of exascale computing infrastructures: energy efficiency and thermal control; extreme computation efficiency via HW acceleration and new arithmetic; methods and tools for seamless integration of reconfigurable accelerators in heterogeneous HPC multi-node platforms. TEXTAROSSA addresses these gaps through a co-design approach to heterogeneous HPC solutions, supported by the integration and extension of HW and SW IPs, programming models, and tools derived from European research.

  • ADMIRE (H2020): “Adaptive multi-tier intelligent data manager for Exascale”, (2021-2024). One of the main drivers for building exascale HPC systems today is the growing need to process extremely large data sets. However, the flat storage hierarchies found in classic HPC architectures no longer satisfy the performance requirements of data-processing applications. The ADMIRE project is aimed at investigating new storage systems for exascale HPC infrastructures by creating an active I/O stack that dynamically adjusts computation and storage requirements through intelligent global coordination, malleability of computation and I/O, and the scheduling of storage resources along all levels of the storage hierarchy.

  • EUPEX (H2020, EuroHPC): “European Pilot for Exascale”, (2022-2025). The EU-funded EUPEX will support the creation of a sustainable European scientific and industrial high-performance computing (HPC) ecosystem, and help lay the foundations for Europe’s digital sovereignty. Specifically, EUPEX will pave the way for the upcoming European Exascale systems. EUPEX will build a production-grade prototype that will be the EU’s first HPC platform integrating the full spectrum of European technologies, from architecture and processors to system software. The EUPEX prototype will be open and flexible thanks to its modular OpenSequana compliant platform and the corresponding HPC software ecosystem for the Modular Supercomputing Architecture. EUPEX’s ambition is also to prepare applications and users to efficiently exploit future European exascale supercomputers.

  • TEACHING (H2020): “A computing Toolkit for building Efficient Autonomous appliCations leveraging Humanistic INtelliGence”, (01-01-2020, 36 months). The TEACHING project is aimed at developing a human-aware CPSoS (Cyber-Physical System of Systems) for autonomous safety-critical applications, based on a distributed, energy-efficient and dependable AI, leveraging innovative edge computing platforms integrating specialized computing fabric for AI and in-silico support for intelligent cyber-security solutions.

    RePhrase (H2020): “Refactoring Parallel Heterogeneous Resource-Aware Applications - a Software Engineering Approach”, (01-04-2015, 36 months). The RePhrase project was aimed at producing new software engineering tools that help software developers tackle the ongoing problem with multi-core computing.

  • REPARA (EU STREP FP7): “Reengineering and Enabling Performance and Power of Applications”, (01-09-2013, 36 months). The REPARA project aimed at helping the transformation and deployment of new and legacy applications in parallel heterogeneous computing architectures while maintaining a balance between application performance, energy efficiency and source code maintainability.

  • GBG-Lab (Industrial Collaboration): Joint laboratory between the Department of Computer Science, University of Pisa, and the Italian company List-group S.p.A, (01-01-2012, 18 months). The collaboration was focused on the research of new architectural supports and run-time mechanisms for the development of streaming computing (High Frequency Trading) on heterogeneous and special-purpose architectures.

  • In.Sy.Eme (Italian MIUR, FIRB): “Integrated System for Emergency”, (10-10-2007, 36 months). The goal of the research project In.Sy.Eme was to define an efficient integrated system able to support the emergency operations in different scenarios (e.g., earthquakes, floods, avalanches).

  • Parallel FastFluid Project (Industrial Collaboration): Research collaboration with the international company AutoDesk Canada CO. (reference Dr. Francesco Iorio, Director of Computational Science Research) for the project titled “Analysis and implementation of a multi-platform distributed, parallel implementation of Jos Stam’s Fast Fluid Dynamics simulator for distributed systems running x86-64 processor” (01/07/2011, 8 months). Gabriele Mencagli was a co-PI (Principal Investigator) for the scientific part of the project. The collaboration was funded with 36.000 CAD (equivalent to about 24.000 Euros).

Editorial Board

I am serving as an editor for the following journals

  • Elsevier Future Generation Computer Systems (FGCS)

  • Springer Cluster Computing

  • Plos ONE

  • Computing and Informatics (CAI)

  • Inderscience International Journal of Computer Applications in Technology (IJCAT)

  • Taylor & Francis International Journal of Computers and Applications (IJCA)

  • Springer International Journal of Networked and Distributed Computing

Conference/Workshop Organization

I was involved in the organization of the following scientific events

  • General Co-Chair of the international conference HPDC 2024 (33rd International Symposium on High-Performance Parallel and Distributed Computing), Pisa, Italy.

  • Co-Chair of the international workshop WSCC 2023 (1st Workshop on Workshop on Scalable Compute Continuum), held in conjuction with Euro-Par 2023 (29th European Conference on Parallel Processing), Limassol, Cyprus.

  • Co-Chair of the international workshop WAMCA 2023 (14th Workshop on Applications for Multi-Core Architectures), held in conjuction with SBAC-PAD 2024 (35th International Symposium on Computer Architecture and High Performance Computing), Porto Alegre, Brazil.

  • Co-Chair of the international workshop WAMCA 2022 (13th Workshop on Applications for Multi-Core Architectures), held in conjuction with SBAC-PAD 2022 (34th International Symposium on Computer Architecture and High Performance Computing), Bordeaux, France.

  • Co-Chair of the international workshop WAMCA 2021 (12th Workshop on Applications for Multi-Core Architectures), held in conjuction with SBAC-PAD 2021 (33rd International Symposium on Computer Architecture and High Performance Computing), Belo Horizonte, Brazil.

  • Co-Chair of the international workshop Auto-DaSP 2021 (4th International Workshop on Autonomic Solutions for Parallel and Distributed Data Stream Processing), held in conjuction with ICPE 2021 (12th ACM/SPEC International Conference on Performance Engineering), Rennes, France.

  • Program Co-Chair of the international workshop MPP 2020 (9th International Workshop on Parallel Programming Models — Special Edition on Edge/Fog Computing: Machine Learning and Security), held in conjuction with IPDPS 2020 (34th IEEE International Parallel and Distributed Processing Symposium), New Orleans, USA.

  • Co-Chair of the special session HPC-Ed 2020 (Special Session on High Performance Computing and Modeling & Simulation Education), held in conjuction with HPCS 2020 (18th International Conference on High Performance Computing & Simulation), Barcelona, Spain.

  • Co-Chair of the international workshop WAMCA 2020 (11th Workshop on Applications for Multi-Core Architectures), held in conjuction with SBAC-PAD 2020 (32nd International Symposium on Computer Architecture and High Performance Computing), Porto, Portugal.

  • Program Co-Chair of the international conference BDIOT 2019 (3rd International Conference on Big Data and Internet of Things), La Trobe University, Melbourne, Australia.

  • Co-Chair of the special session HPC-Ed 2019 (Special Session on High Performance Computing and Modeling & Simulation Education), held in conjuction with HPCS 2019 (17th International Conference on High Performance Computing & Simulation), Dublin, Ireland.

  • Co-Chair of the international workshop Auto-DaSP 2019 (3rd International Workshop on Autonomic Solutions for Parallel and Distributed Data Stream Processing), held in conjuction with Euro-Par 2019 (25th International European Conference on Parallel and Distributed Computing), Göttingen, Germany.

  • Program Co-Chair of the international workshop MPP 2019 (8th International Workshop on Parallel Programming Models — Special Edition on IoT and Machine Learning), held in conjuction with IPDPS 2019 (33rd IEEE International Parallel and Distributed Processing Symposium), Rio de Janeiro, Brazil.

  • Co-Chair of the international workshop WAMCA 2019 (10th Workshop on Applications for Multi-Core Architectures), held in conjuction with SBAC-PAD 2018 (31st International Symposium on Computer Architecture and High Performance Computing), Campo Grande, Brazil.

  • General Workshops Co-Chair of the international conference Euro-Par 2018 (24th International European Conference on Parallel and Distributed Computing), Turin, Italy. The role consists in the scientific and organizational responsibility of all the Euro-Par workshops.

  • Co-Chair of the artifact evaluation panel at the conference Euro-Par 2018 (24th International European Conference on Parallel and Distributed Computing), Turin, Italy. The role consists in the supervision of the committee responsible for the evaluation of the submitted artifacts.

  • Co-Chair of the international workshop Auto-DaSP 2018 (2nd International Workshop on Autonomic Solutions for Parallel and Distributed Data Stream Processing), held in conjuction with Euro-Par 2018 (24th International European Conference on Parallel and Distributed Computing), Turin, Italy.

  • Program Co-Chair of the international workshop MPP 2018 (7th International Workshop on Parallel Programming Models — Special Edition on Fog and In-Situ Computing), held in conjuction with IPDPS 2018 (32nd IEEE International Parallel and Distributed Processing Symposium), Vancouver, Canada.

  • Co-Chair of the track “Networked Data Centers, IT Virtualization Technologies and Clouds” of the international conference EIDWT 2018 (6th International Conference on Emerging Internet, Data and Web Technologies), Tirana, Albania.

  • Co-Chair of the international workshop MPP 2017 (6th International Workshop on Parallel Programming Models — Special Edition on Fog and In-Situ Computing), held in conjuction with SBAC-PAD 2017 (29th International Symposium on Computer Architecture and High Performance Computing), Campinas, Brazil.

  • Co-Chair of the international workshop Auto-DaSP 2017 (International Workshop on Autonomic Solutions for Parallel and Distributed Data Stream Processing), held in conjuction with Euro-Par 2017 (23rd International European Conference on Parallel and Distributed Computing), Santiago de Compostela, Spain.

  • Co-Chair of the international workshop APPMM 2017 (International Workshop on Advancements in Parallel Programming Models and Frameworks for the Multi-/Many-core Era), held in conjuction with HPCS 2017 (International Conference on High Performance Computing & Simulations), Genova, Italy.

  • Publicity Chair of the international conference ScalCom 2017 (17th IEEE International Conference on Scalable Computing and Communications), San Franscisco, USA.