VLDB 2026 Research / reviewers in the wild / expert
Pierangelo di Sanzo
dblp:34/3175
· DBLP profile ↗
26ranked-venue papers
7as first author
7since 2021 · last 2025
0000-0001-6136-6303ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 16 · 6 first-author · 4 since 2021Software engineering, systems software and programming languages · 4 · 1 first-author · 3 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | A Bootstrapping Technique for Reducing the Costs of Machine Learning Models for Predicting Execution Times in IaaS CloudsabstractMachine Learning (ML) emerged as a powerful tool for predicting task execution times across the variety of VM types offered by Infrastructure-as-a-Service (IaaS) clouds. However, training ML models to ensure accurate predictions can often become uneconomical for users due to the high costs—in terms of both time and money—for collecting samples, especially when an IaaS cloud offers a wide choice of VM types. This paper investigates a ML model bootstrapping technique that leverages analytical modeling to reduce the cost of collecting training samples while maintaining robust performance predictions. Complementarily, the technique can be used to improve the accuracy of ML models in the case of limited availability of training samples. Experimental results highlighted the potential of the proposed technique with various workloads and with a large set of VM types, paving the way for more cost-effective ML-based performance prediction in IaaS clouds. Romolo Marotta, Gabriele Russo Russo, Francesco Quaglia, Pierangelo di Sanzo |
SoCC | 4 |
| 2023 | On the Effects of Transaction Data Access Patterns on Performance in Lock-Based Concurrency ControlabstractTransaction Processing (TP) plays a primary role in the design and implementation of IT applications and services. Many TP systems exploit lock-based concurrency control to guarantee atomicity and isolation of transactions that access shared data. In this article, we show that transaction data access patterns, in particular the order of data accesses along the transaction execution, have a noticeable impact on how lock-based concurrency control affects performance. We show that the performance can remarkably change depending on whether transactions, or a percentage of them, access data items following some common ordering rule or not. We investigate on this aspect and its root causes through an analytical modeling approach, and with the evidence of data gathered through both simulation and the execution of real transactional workloads. Finally, we show how the findings of our study can be easily exploited for improving the performance of common transactional workloads. Pierangelo di Sanzo, Francesco Quaglia |
IEEE Trans. Computers | 1 |
| 2022 | Design and implementation of the new Italian healthcare digital interoperable registry for implantable medical devicesabstractAbstract Nowadays, the role played by registries in monitoring and improving healthcare, including the quality of medical devices, is widely recognized. A well‐designed digital healthcare registry, in particular regarding data collection procedures and tools, can effectively support goals such as monitoring a (large) population subject to a specific condition, describing the natural history of diseases, supporting observational study methods, as well as evaluating the clinical effectiveness or cost effectiveness of healthcare products and services. This article describes the architecture of a new platform implementing a digital interoperable healthcare registry, the Italian Implantable Prostheses Registry (RIPI). One of the main goals of RIPI is to provide reliable and high‐quality data for monitoring surgery outcomes, performing survival analysis, assessing the safety of devices and procedures, and supporting the traceability of patients. The article focuses on the key aspects and choices that guided the design and implementation processes of the new platform. Most of the design choices came from specific requirements to fulfill, in particular concerning data quality, access policy, interoperability, extensibility and modularity. Overall, the article discusses the main challenges and the adopted solutions, proposing a design perspective and describing an experience of interest for computer scientists, engineers and practitioners, in particular in the area of healthcare information systems. Duilio Luca Bacocco, Eugenio Carrani, Bruno Ciciani, Pierangelo di Sanzo, Francesco Leotta, Marina Torre |
Softw. Pract. Exp. | 4 |
| 2022 | Design and implementation of a fully transparent partial abort support for software transactional memoryabstractAbstract Software transactional memory (STM) provides synchronization support to ensure atomicity and isolation when threads access shared data in concurrent applications. With STM, shared data accesses are encapsulated within transactions automatically handled by the STM layer. Hence, programmers are not requested to use code‐synchronization mechanisms explicitly, like locking. In this article, we present our experience in designing and implementing a partial abort scheme for STM. The objective of our work is threefold: (1) enabling STM to undo only part of the transaction execution in the case of conflict, (2) designing a scheme that is fully transparent to programmers, thus also allowing to run existing STM applications without modifications, and (3) providing a scheme that can be easily integrated within existing STM runtime environments without altering their internal structure. The scheme we designed is based on automated software instrumentation, which injects into the application capabilities to undo the required portions of transaction executions. Further, it can correctly undo also non‐transactional operations executed on the stack and the heap during a transaction. This capability allows programmers to write transactional code without concerns about the side effects of aborted transactions on both shared and thread‐private data. We integrated and evaluated our partial abort scheme within the TinySTM open‐source library. We analyze the experimental results we achieved with common STM benchmark applications, focusing on the advantages and disadvantages of the proposed solutions for implementing our scheme's different components. Hence, we highlight the appropriate choices and possible solutions to improve partial abort schemes further. Alessandro Pellegrini 0001, Pierangelo di Sanzo, Andrea Piccione, Francesco Quaglia |
Softw. Pract. Exp. | 2 |
| 2022 | Effective Runtime Management of Tasks and Priorities in GNU OpenMP ApplicationsabstractOpenMP has become a reference standard for the design of parallel applications. This standard is evolving quickly, thus offering new opportunities to the application programmers. However, OpenMP runtime environments are often not fully aligned with the actual requirements imposed by the evolution of such a standard. Among the main lacks, we find: (a) a limited capability to effectively cope with task priorities, and (b) the inadequacy in guaranteeing core properties while processing tasks such as the so-calledwork-conservativeness—the ability of the OpenMP runtime environment to fully exploit the underlying multi-processor/multi-core machine through the avoidance of thread-blocking phases. In this article, we present the design of extensions to the GNU OpenMP (GOMP) implementation, integrated intogcc, which allow the effective management of tasks and their priorities. Our proposal is based on a user-space library—modularly combined with the one already offered byGOMP—and an external kernel-level Linux module—offering the opportunity to exploit raising hardware facilities for task/priority management. We also provide experimental results showing the effectiveness of our proposal, achieved by running either OpenMP common benchmarks or a new benchmark application (Hashtag-Text) that we explicitly devised to stress the runtime environment in relation to the above-mentioned task/priority management aspects. Emiliano Silvestri, Alessandro Pellegrini 0001, Pierangelo di Sanzo, Francesco Quaglia |
IEEE Trans. Computers | 3 |
| 2021 | On power capping and performance optimization of multithreaded applicationsabstractSummary Multithreaded applications facilitate the exploitation of the computing power of multicore architectures. On the other hand, these applications can become extremely energy‐intensive, in contrast with the need for limiting the energy usage of computing systems. In this article, we explore the design of techniques enabling multithreaded applications to maximize their performance under a power cap. We consider two control parameters: the number of cores used by the application, and the core power state. We target the design of an autotuning power‐capping technique with minimal intrusiveness and high portability, which is agnostic about the workload profile of the application. We investigate two different approaches for building the strategy for selecting the best configuration of the parameters under control, namely a heuristic approach and a model‐based approach. Through an extensive experimental study, we evaluate the effectiveness of the proposed technique considering two different selection strategies, and we compare them with existing solutions. Stefano Conoci, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Bruno Ciciani, Francesco Quaglia |
Concurr. Comput. Pract. Exp. | 2 |
| 2021 | Autonomic rejuvenation of cloud applications as a countermeasure to software anomaliesabstractSummary Failures in computer systems can be often tracked down to software anomalies of various kinds. In many scenarios, it might be difficult, unfeasible, or unprofitable to carry out extensive debugging activity to spot the cause of anomalies and remove them. In other cases, taking corrective actions may led to undesirable service downtime. In this article, we propose an alternative approach to cope with the problem of software anomalies in cloud‐based applications, and we present the design of a distributed autonomic framework that implements our approach. It exploits the elastic capabilities of cloud infrastructures, and relies on machine learning models, proactive rejuvenation techniques, and a new load balancing approach. By putting together all these elements, we show that it is possible to improve both availability and performance of applications deployed to heterogeneous cloud regions and subject to frequent failures. Overall, our study demonstrates the viability of our approach, thus opening the way towards its adoption, and encouraging further studies and practical experiences to evaluate and improve it. Pierangelo di Sanzo, Dimiter R. Avresky, Alessandro Pellegrini 0001 |
Softw. Pract. Exp. | 1 |
| 2020 | Mutable locks: Combining the best of spin and sleep locksabstractSummary In this article, we present mutable locks, a synchronization construct with the same semantic of traditional locks (such as spin locks or sleep locks), but with a self‐tuned optimized trade‐off between responsiveness and CPU‐time usage during threads' wait phases. Mutable locks tackle the need for efficient synchronization supports in the era of multicore machines, where the run‐time performance should be optimized while reducing resource usage. This goal should be achieved with no intervention by the programmers. Our proposal is intended for exploitation in generic concurrent applications, where scarce or no knowledge is available about the underlying software/hardware stack and the workload. This is an adverse scenario for static choices between spinning and sleeping, which is tackled by our mutable locks thanks to their hybrid waiting phase and self‐tuning capabilities. Romolo Marotta, Davide Tiriticco, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Bruno Ciciani, Francesco Quaglia |
Concurr. Comput. Pract. Exp. | 3 |
| 2020 | Adaptive Model-Based Scheduling in Software Transactional MemoryabstractSoftware Transactional Memory (STM) stands as powerful concurrent programming paradigm, enabling atomicity, and isolation while accessing shared data. On the downside, STM may suffer from performance degradation due to excessive conflicts among concurrent transactions, which cause waste of CPU-cycles and energy because of transaction aborts. An approach to cope with this issue consists of putting in place smart scheduling strategies which temporarily suspend the execution of some transaction in order to reduce the transaction conflict rate. In this article, we present an adaptive model-based transaction scheduling technique relying on a Markov Chain-based performance model of STM systems. Our scheduling technique is adaptive in a twofold sense: (i) It controls the execution of transactions depending on throughput predictions by the model as a function of the current system state. (ii) It re-tunes on-line the Markov Chain-based model to adapt it-and the outcoming transaction scheduling decisions-to dynamic variations of the workload. We have been able to achieve the latter target thanks to the fact that our performance model is extremely lightweight. In fact, to be recomputed, it requires a reduced set of input parameters, whose values can be estimated via a few on-line samples related to the current workload dynamics. We also present a scheduler that implements our adaptive technique, which we integrated within the open source TinySTM package. Further, we report the results of an experimental study based on the STAMP benchmark suite, which has been aimed at assessing both the accuracy of our performance model in predicting the actual system throughput and the advantages of the adaptive scheduling policy over literature techniques. Pierangelo di Sanzo, Alessandro Pellegrini 0001, Marco Sannicandro, Bruno Ciciani, Francesco Quaglia |
IEEE Trans. Computers | 1 |
| 2018 | Model-Based Proactive Read-Validation in Transaction Processing SystemsabstractConcurrency control protocols based on read-validation schemes allow transactions which are doomed to abort to still run until a subsequent validation check reveals them as invalid. These late aborts do not favor the reduction of wasted computation and can penalize performance. To counteract this problem, we present an analytical model that predicts the abort probability of transactions handled via read-validation schemes. Our goal is to determine what are the suited points-along a transaction lifetime-to carry out a validation check. This may lead to early aborting doomed transactions, thus saving CPU time. We show how to exploit the abort probability predictions returned by the model in combination with a threshold-based scheme to trigger read-validations. We also show how this approach can definitely improve performance-leading up to 14 % better turnaround-as demonstrated by some experiments carried out with a port of the TPC-C benchmark to Software Transactional Memory. Simone Economo, Emiliano Silvestri, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Francesco Quaglia |
ICPADS | 3 |
| 2018 | A Power Cap Oriented Time Warp ArchitectureabstractControlling power usage has become a core objective in modern computing platforms. In this article we present an innovative Time Warp architecture oriented to efficiently run parallel simulations under a power cap. Our architectural organization considers power usage as a foundational design principle, as opposed to classical power-unaware Time Warp design. We provide early experimental results showing the potential of our proposal. Stefano Conoci, Davide Cingolani, Pierangelo di Sanzo, Bruno Ciciani, Alessandro Pellegrini 0001, Francesco Quaglia |
SIGSIM-PADS | 3 |
| 2018 | Adaptive Performance Optimization under Power Constraint in Multi-thread Applications with Diverse ScalabilityabstractEnergy consumption has become a core concern in computing systems. In this context, power capping is an approach that aims at ensuring that the power consumption of a system does not overcome a predefined threshold. Although various power capping techniques exist in the literature, they do not fit well the nature of multi-threaded workloads with shared data accesses and non-minimal thread-level concurrency. For these workloads, scalability may be limited by thread contention on hardware resources and/or data, to the point that performance may even decrease while increasing the thread-level parallelism, indicating scarce ability to exploit the actual computing power available in highly parallel hardware. In this paper, we consider the problem of maximizing the performance of multi-thread applications under a power cap by dynamically tuning the thread-level parallelism and the power state of CPU-cores in combination. Based on experimental observations, we design a technique that adaptively identifies, in linear time within a bi-dimensional space, the optimal parallelism and power state setting. We evaluated the proposed technique with different benchmark applications, and using different methods for synchronizing threads when accessing shared data, and we compared it with other state-of-the-art power capping techniques. Stefano Conoci, Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia |
ICPE | 2 |
| 2017 | Preemptive Software Transactional MemoryabstractIn state-of-the-art Software Transactional Memory (STM) systems, threads carry out the execution of transactions as non-interruptible tasks. Hence, a thread can react to the injection of a higher priority transactional task and take care of its processing only at the end of the currently executed transaction. In this article we pursue a paradigm shift where the execution of an in-memory transaction is carried out as a preemptable task, so that a thread can start processing a higher priority transactional task before finalizing its current transaction. We achieve this goal in an application-transparent manner, by only relying on Operating System facilities we include in our preemptive STM architecture. With our approach we are able to re-evaluate CPU assignment across transactions along a same thread every few tens of microseconds. This is mandatory for an effective priority-aware architecture given the typically finer-grain nature of in-memory transactions compared to their counterpart in database systems. We integrated our preemptive STM architecture with the TinySTM package, and released it as open source. We also provide the results of an experimental assessment of our proposal based on running a port of the TPC-C benchmark to the STM environment. Emiliano Silvestri, Simone Economo, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Francesco Quaglia |
CCGrid | 3 |
| 2017 | Machine learning-based management of cloud applications in hybrid clouds: A Hadoop case studyabstractThis paper illustrates the effort to integrate a machine learning-based framework which can predict the remaining time to failure of computing nodes with Hadoop applications. This work is part of a larger effort targeting the development of a cloud-oriented autonomic framework to increase the availability of applications subject to software anomalies, and to jointly improve their performance. The framework uses machine-learning, software rejuvenation, and load distribution techniques to proactively prevent failures. We believe that this work allows to set a possible path towards the definition of best practices for the development of systems to support autonomic management of cloud applications, illustrating what are the issues that should be addressed by the research community. Indeed, given the scale and the complexity of modern computing infrastructures, effective autonomic management approaches of cloud applications are becoming mandatory. Dimiter R. Avresky, Alessandro Pellegrini 0001, Pierangelo di Sanzo |
NCA | 3 |
| 2017 | Prompt application-transparent transaction revalidation in software transactional memoryabstractSoftware Transactional Memory (STM) allows encapsulating shared-data accesses within transactions, executed with atomicity and isolation guarantees. The assessment of the consistency of a running transaction is performed by the STM layer at specific points of its execution, such as when a read or write access to a shared object occurs, or upon a commit attempt. However, performance and energy efficiency issues may arise when no shared-data read/write operation occurs for a while along a thread running a transaction. In this scenario, the STM layer may not regain control for a considerable amount of time, thus not being able to early detect if such transaction has become inconsistent in the meantime. To tackle this problem we present an STM architecture that, thanks to a lightweight operating system support, is able to perform a fine-grain periodic (hence prompt) revalidation of running transactions. Our proposal targets Linux and x86 systems and has been integrated with the open source TinySTM package. Experimental results with a port of the TPC-C benchmark to STM environments show the effectiveness of our solution. Simone Economo, Emiliano Silvestri, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Francesco Quaglia |
NCA | 3 |
| 2017 | Machine learning-based thread-parallelism regulation in software transactional memory
Diego Rughetti, Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia |
J. Parallel Distributed Comput. | 2 |
| 2017 | Analysis, Classification and Comparison of Scheduling Techniques for Software Transactional MemoriesabstractTransactional Memory (TM) is a practical programming paradigm for developing concurrent applications. Performance is a critical factor for TM implementations, and various studies demonstrated that specialised transaction/thread scheduling support is essential for implementing performance-effective TM systems. After one decade of research, this article reviews the wide variety of scheduling techniques proposed for Software Transactional Memories. Based on peculiarities and differences of the adopted scheduling strategies, we propose a classification of the existing techniques, and we discuss the specific characteristics of each technique. Also, we analyse the results of previous evaluation and comparison studies, and we present the results of a new experimental study encompassing techniques based on different scheduling strategies. Finally, we identify potential strengths and weaknesses of the different techniques, as well as the issues that require to be further investigated. Pierangelo di Sanzo |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2016 | Markov Chain-Based Adaptive Scheduling in Software Transactional MemoryabstractSoftware Transactional Memory (STM) may suffer from performance degradation due to excessive conflicts among concurrent transactions. An approach to cope with this issue consists in putting in place smart scheduling policies which temporarily suspend the execution of some transaction in order to reduce the actual conflict rate. In this paper, we present an adaptive transaction scheduling policyrelying on a Markov Chain-based model of STM systems. The policy is adaptive in a twofold sense: (i) it schedules transactions depending on throughput predictions by the model as a function of the current system state, (ii) its underlying Markov Chain-based model is periodically re-instantiated at run-time to adapt it to dynamic variations of the workload. We also present an implementation of our adaptive transaction scheduler which has been integrated within the open source TinySTM package. The accuracy of our performance model in predicting the system throughput and the advantages of the adaptive scheduling policy over state-of-the-art approaches have been assessed via an experimental study based on the STAMP benchmark suite. Pierangelo di Sanzo, Marco Sannicandro, Bruno Ciciani, Francesco Quaglia |
IPDPS | 1 |
| 2016 | Message from the program chairsabstractIt is with great pleasure that we welcome you to the 15thedition of IEEE NCA. Over the years, NCA has become a successful series of conferences that serves as a large international forum for presenting and sharing recent research results and technological developments in the fields of Network and Cloud Computing. This edition of NCA features a lively, interesting, and stimulating program with a lot of opportunities for discussing new results, on-going projects, and the future trend in our fields. Aris Gkoulalas-Divanis, Alessandro Pellegrini 0001, Pierangelo di Sanzo |
NCA | 3 |
| 2015 | Proactive Scalability and Management of Resources in Hybrid Clouds via Machine LearningabstractIn this paper, we present a novel framework for supporting the management and optimization of application subject to software anomalies and deployed on large scale cloud architectures, composed of different geographically distributed cloud regions. The framework uses machine learning models for predicting failures caused by accumulation of anomalies. It introduces a novel workload balancing approach and a proactive system scale up/scale down technique. We developed a prototype of the framework and present some experiments for validating the applicability of the proposed approaches. Dimiter R. Avresky, Pierangelo di Sanzo, Alessandro Pellegrini 0001, Bruno Ciciani, Luca Forte |
NCA | 2 |
| 2014 | Analytical/ML Mixed Approach for Concurrency Regulation in Software Transactional MemoryabstractIn this article we exploit a combination of analytical and Machine Learning (ML) techniques in order to build a performance model allowing to dynamically tune the level of concurrency of applications based on Software Transactional Memory (STM). Our mixed approach has the advantage of reducing the training time of pure machine learning methods, and avoiding approximation errors typically affecting pure analytical approaches. Hence it allows very fast construction of highly reliable performance models, which can be promptly and effectively exploited for optimizing actual application runs. We also present a real implementation of a concurrency regulation architecture, based on the mixed modeling approach, which has been integrated with the open source Tiny STM package, together with experimental data related to runs of applications taken from the STAMP benchmark suite demonstrating the effectiveness of our proposal. Diego Rughetti, Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia |
CCGRID | 2 |
| 2014 | Dynamic Feature Selection for Machine-Learning Based Concurrency Regulation in STMabstractIn this paper we explore machine-learning approaches for dynamically selecting the well suited amount of concurrent threads in applications relying on Software Transactional Memory (STM). Specifically, we present a solution that dynamically shrinks or enlarges the set of input features to be exploited by the machine-learner. This allows for tuning the concurrency level while also minimizing the overhead for input-features sampling, given that the cardinality of the input-feature set is always tuned to the minimum value that still guarantees reliability of workload characterization. We also present a fully heedged implementation of our proposal within the TinySTM open source framework, and provide the results of an experimental study relying on the STAMP benchmark suite, which show significant reduction of the response time with respect to proposals based on static feature selection. Diego Rughetti, Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia |
PDP | 2 |
| 2013 | Transparent Support for Partial Rollback in Software Transactional Memories
Alice Porfirio, Alessandro Pellegrini 0001, Pierangelo di Sanzo, Francesco Quaglia |
Euro-Par | 3 |
| 2012 | Machine Learning-Based Self-Adjusting Concurrency in Software Transactional Memory SystemsabstractOne of the problems of Software-Transactional-Memory (STM) systems is the performance degradation that can be experienced when applications run with a non-optimal concurrency level, namely number of concurrent threads. When this level is too high a loss of performance may occur due to excessive data contention and consequent transaction aborts. Conversely, if concurrency is too low, the performance may be penalized due to limitation of both parallelism and exploitation of available resources. In this paper we propose a machine-learning based approach which enables STM systems to predict their performance as a function of the number of concurrent threads in order to dynamically select the optimal concurrency level during the whole lifetime of the application. In our approach, the STM is coupled with a neural network and an on-line control algorithm that activates or deactivates application threads in order to maximize performance via the selection of the most adequate concurrency level, as a function of the current data access profile. A real implementation of our proposal within the TinySTM open-source package and an experimental study relying on the STAMP benchmark suite are also presented. The experimental data confirm how our self-adjusting concurrency scheme constantly provides optimal performance, thus avoiding performance loss phases caused by non-suited selection of the amount of concurrent threads and associated with the above depicted phenomena. Diego Rughetti, Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia |
MASCOTS | 2 |
| 2012 | On the analytical modeling of concurrency control algorithms for Software Transactional Memories: The case of Commit-Time-Locking
Pierangelo di Sanzo, Bruno Ciciani, Roberto Palmieri, Francesco Quaglia, Paolo Romano 0002 |
Perform. Evaluation | 1 |
| 2008 | A Performance Model of Multi-Version Concurrency Control
Pierangelo di Sanzo, Bruno Ciciani, Francesco Quaglia, Paolo Romano 0002 |
MASCOTS | 1 |