EDBT 2026 Demo / reviewers in the wild / expert
Diego Didona
dblp:89/11144
· DBLP profile ↗
23ranked-venue papers
11as first author
2since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 18 · 6 first-author · 2 since 2021Software engineering, systems software and programming languages · 3 · 3 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorComputer networks · 1 · 1 first-authorSecurity and privacy · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Storage systems · 64% Distributed systems · 26% Cloud and datacenter computing · 4% | |
| Databases, data mining, and information retrieval
1 paper |
Distributed and cloud data management · 50% Transaction processing and concurrency control · 50% | |
| Software engineering, system software, and programming languages
1 paper |
Concurrent programming · 100% |
Topics — the 22 heaviest of 24, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems
key-value storage |
1.9 | 5 | 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value Stores · IEEE Trans. Parallel Distributed Syst. 2021 SILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores · USENIX ATC 2019 Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores · NSDI 2019 |
Storage systems › key-value storage
LSM-tree key-value store |
1.0 | 3 | 2019 | SILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores · USENIX ATC 2019 SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous Workloads · ACM Trans. Comput. Syst. 2018 TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores · USENIX ATC 2017 |
Distributed systems
replication |
0.8 | 2 | 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value Stores · IEEE Trans. Parallel Distributed Syst. 2021 Causal Consistency and Latency Optimality: Friend or Foe? · Proc. VLDB Endow. 2018 |
Distributed systems › consistency models
causal consistency |
0.5 | 1 | 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value Stores · IEEE Trans. Parallel Distributed Syst. 2021 |
Distributed systems
consistency models |
0.5 | 1 | 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value Stores · IEEE Trans. Parallel Distributed Syst. 2021 |
Storage systems › distributed storage
geo-distributed storage |
0.5 | 1 | 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value Stores · IEEE Trans. Parallel Distributed Syst. 2021 |
Storage systems › indexing
b+-tree |
0.4 | 1 | 2020 | Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs · Proc. VLDB Endow. 2020 |
Storage systems
flash and SSD |
0.4 | 1 | 2020 | Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs · Proc. VLDB Endow. 2020 |
Storage systems › key-value storage
LSM-tree |
0.4 | 1 | 2020 | Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs · Proc. VLDB Endow. 2020 |
Storage systems › key-value storage
in-memory key-value store |
0.4 | 1 | 2019 | Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores · NSDI 2019 |
Distributed systems › distributed database
sharding |
0.4 | 1 | 2019 | Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores · NSDI 2019 |
Transaction processing and concurrency control › consistency
consistency models |
0.3 | 1 | 2018 | Causal Consistency and Latency Optimality: Friend or Foe? · Proc. VLDB Endow. 2018 |
Storage systems › key-value storage
compaction |
0.3 | 1 | 2018 | SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous Workloads · ACM Trans. Comput. Syst. 2018 |
Cloud and datacenter computing › quality of service
tail latency |
0.3 | 1 | 2018 | SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous Workloads · ACM Trans. Comput. Syst. 2018 |
Concurrent programming
synchronization |
0.2 | 1 | 2016 | ProteusTM: Abstraction Meets Performance in Transactional Memory · ASPLOS 2016 |
Concurrent programming
transactional memory |
0.2 | 1 | 2016 | ProteusTM: Abstraction Meets Performance in Transactional Memory · ASPLOS 2016 |
Parallel and multicore computing
transactional memory |
0.2 | 1 | 2016 | ProteusTM: Abstraction Meets Performance in Transactional Memory · ASPLOS 2016 |
Performance modeling and evaluation
benchmarking |
0.1 | 1 | 2020 | Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs · Proc. VLDB Endow. 2020 |
Performance modeling and evaluation › workload characterization
heterogeneous workloads |
0.1 | 1 | 2018 | SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous Workloads · ACM Trans. Comput. Syst. 2018 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2018 | SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous Workloads · ACM Trans. Comput. Syst. 2018 |
Storage systems › storage engine
storage engine design |
0.1 | 1 | 2017 | TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores · USENIX ATC 2017 |
Machine learning › Optimization for machine learning › model-based optimization
bayesian optimization |
0.1 | 1 | 2016 | ProteusTM: Abstraction Meets Performance in Transactional Memory · ASPLOS 2016 |
Methods — techniques the papers use, named apart from their topics
online optimization · 0.8collaborative filtering · 0.8bayesian optimization · 0.8theoretical analysis · 0.7protocol design · 0.7recovery mechanisms · 0.5pessimistic protocol · 0.5performance measurement · 0.4benchmarking · 0.4i/o scheduling · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Understanding modern storage APIs: a systematic study of libaio, SPDK, and io_uringabstractRecent high-performance storage devices have exposed software inefficiencies in existing storage stacks, leading to a new breed of I/O stacks. The newest storage API of the Linux kernel is io_uring. We perform one of the first in-depth studies of io_uring, and compare its performance and dis-/advantages with the established libaio and SPDK APIs. Our key findings reveal that (i) polling design significantly impacts performance; (ii) with enough CPU cores io_uring can deliver performance close to that of SPDK; and (iii) performance scalability over multiple CPU cores and devices requires careful consideration and necessitates a hybrid approach. Last, we provide design guidelines for developers of storage intensive applications. Diego Didona, Jonas Pfefferle, Nikolas Ioannou, Bernard Metzler, Animesh Trivedi |
SYSTOR | 1 |
| 2021 | Optimistic Causal Consistency for Geo-Replicated Key-Value StoresabstractCausal consistency (CC) is an attractive consistency model for geo-replicated data stores because it hits a sweet spot in the ease-of-programming versus performance trade-off. We present a new approach for implementing CC in geo-replicated data stores, which we call Optimistic Causal Consistency (OCC). OCC's main design goal is to maximize data freshness. The optimism in our approach lies in the fact that the updates replicated to a remote data center are made visible immediately, without checking if their causal dependencies have been received. Servers perform the dependency check needed to enforce CC only upon serving a client operation, rather than on receipt of a replicated data item as in existing systems. OCC offers a significant gain in data freshness, which is of crucial importance for various types of applications, such as real-time systems. OCC's potentially blocking behavior makes it vulnerable to network partitions. We therefore propose a recovery mechanism that allows an OCC system to fall back on a pessimistic protocol to continue operating during network partitions. We implement POCC, the first causally consistent geo-replicated multi-master key-value data store designed to maximize data freshness. We show that POCC improves data freshness, while offering comparable or better performance than its pessimistic counterparts. Kristina Spirovska, Diego Didona, Willy Zwaenepoel |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2020 | Lynceus: Cost-efficient Tuning and Provisioning of Data Analytic JobsabstractModern data analytic and machine learning jobs find in the cloud a natural deployment platform to satisfy their notoriously large resource requirements. Yet, to achieve cost efficiency, it is crucial to identify a deployment configuration that satisfies user-defined QoS constraints (e.g., on execution time), while avoiding unnecessary over-provisioning.This paper introduces Lynceus, a new approach for the optimization of cloud-based data analytic jobs that improves over state-of-the-art approaches by enabling significant cost savings both in terms of the final recommended configuration and of the optimization process used to recommend configurations.Unlike existing solutions, Lynceus optimizes in a joint fashion both the cloud-related (i.e., which and how many machines to provision) and the application-level (e.g. the hyper-parameters of a machine learning algorithm) parameters. This allows for a reduction of the cost of recommended configurations by up to 3.7× at the 90-th percentile with respect to existing approaches, which treat the optimization of cloud-related and application- level parameters as two independent problems.Further, Lynceus reduces the cost of the optimization process (i.e., the cloud cost incurred for testing configurations) by up to 11×. Such an improvement is achieved thanks to two mechanisms: i) a timeout approach which allows to abort the exploration of configurations that are deemed suboptimal, while still extracting useful information to guide future explorations and to improve its predictive model - differently from recent works, which either incur the full cost for testing suboptimal configurations or are unable to extract any knowledge from aborted runs; ii) a long-sighted and budget-aware technique that determines which configurations to test by predicting the long-term impact of each exploration - unlike state-of-the-art approaches for the optimization of cloud jobs, which adopt greedy optimization methods. Maria Casimiro, Diego Didona, Paolo Romano 0002, Luís E. T. Rodrigues, Willy Zwaenepoel, David Garlan |
ICDCS | 2 |
| 2020 | The Impossibility of Fast TransactionsabstractWe prove that transactions cannot be fast in an asynchronous fault-tolerant system. Our result holds in any system where we require transactions to ensure monotonic writes, or any stronger consistency model, such as, causal consistency. Thus, our result unveils an important, and so far unknown, limitation of fast transactions: they are impossible if we want to tolerate the failure of even one server. Karolos Antoniadis, Diego Didona, Rachid Guerraoui, Willy Zwaenepoel |
IPDPS | 2 |
| 2020 | Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDsabstractSolid-state drives (SSDs) are extensively used to deploy persistent data stores, as they provide low latency random access, high write throughput, high data density, and low cost. Tree-based data structures are widely used to build persistent data stores, and indeed they lie at the backbone of many of the data management systems used in production and research today. We show that benchmarking a persistent tree-based data structure on an SSD is a complex process, which may easily incur subtle pitfalls that can lead to an inaccurate performance assessment. At a high-level, these pitfalls stem from the interaction of complex software running on complex hardware. On the one hand, tree structures implement internal operations that have non-trivial effects on performance. On the other hand, SSDs employ firmware logic to deal with the idiosyncrasies of the underlying flash memory, which are well known to also lead to complex performance dynamics. We identify seven benchmarking pitfalls using RocksDB and WiredTiger, two widespread implementations of an LSM-Tree and a B+Tree, respectively. We show that such pitfalls can lead to incorrect measurements of key performance indicators, hinder the reproducibility and the representativeness of the results, and lead to suboptimal deployments in production environments. We also provide guidelines on how to avoid these pitfalls to obtain more reliable performance measurements, and to perform more thorough and fair comparisons among different design points. Diego Didona, Nikolas Ioannou, Radu Stoica, Kornilios Kourtis |
Proc. VLDB Endow. | 1 |
| 2019 | PaRiS: Causally Consistent Transactions with Non-blocking Reads and Partial ReplicationabstractGeo-replicated data platforms are the backbone of several large-scale online services. Transactional Causal Consistency (TCC) is an attractive consistency level for building such platforms. TCC avoids many anomalies of eventual consistency, eschews the synchronization costs of strong consistency, and supports interactive read-write transactions. Partial replication is another attractive design choice for building geo-replicated platforms, as it reduces storage requirements and update propagation costs. This paper presents PaRiS, the first TCC system that supports partial replication and implements non-blocking parallel read operations. The latter reduce read latency which is of paramount importance for the performance of read-intensive applications. PaRiS relies on a novel protocol to track dependencies, called Universal Stable Time (UST). By means of a lightweight background gossip process, UST identifies a snapshot of the data that has been installed by every data center (DC) in the system. Hence, transactions can consistently read from such a snapshot on any server in any replication site without having to block. Moreover, PaRiS requires only one timestamp to track dependencies and define transactional snapshots, thereby achieving resource efficiency and scalability. We evaluate PaRiS on an AWS deployment composed of up to 10 replication sites. We demonstrate a performance gain of non-blocking reads vs. a blocking alternative (up to 1.47x higher throughput with 5.91x lower latency for read-dominated workloads and up to 1.46x higher throughput with 20.56x lower latency for write-heavy workloads). We also show that the throughput penalty incurred to implement causal consistency, compared to variant without the causal consistency guarantees, is as low as 20% for read-heavy workloads and 37% for write-heavy workloads. We furthermore show that PaRiS scales well with the number of DCs and partitions, while being able to handle larger datasets than existing solutions that assume full replication. Kristina Spirovska, Diego Didona, Willy Zwaenepoel |
ICDCS | 2 |
| 2019 | Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores
Diego Didona, Willy Zwaenepoel |
NSDI | 1 |
| 2019 | Distributed Transactional Systems Cannot Be FastabstractWe prove that no fully transactional system can provide fast read transactions (including read-only ones that are considered the most frequent in practice). Specifically, to achieve fast read transactions, the system has to give up support of transactions that write more than one object. We prove this impossibility result for distributed storage systems that are causally consistent, i.e., they do not require to ensure any strong form of consistency. Therefore, our result holds also for any system that ensures a consistency level stronger than causal consistency, e.g., strict serializability. The impossibility result holds even for systems that store only two objects (and support at least two servers and at least four clients). It also holds for systems that are partially replicated. Our result justifies the design choices of state-of-the-art distributed transactional systems and insists that system designers should not put more effort to design fully-functional systems that support both fast read transactions and ensure causal or any stronger form of consistency. Diego Didona, Panagiota Fatourou, Rachid Guerraoui, Jingjing Wang 0007, Willy Zwaenepoel |
SPAA | 1 |
| 2019 | SILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores
Oana Balmau, Florin Dinu, Willy Zwaenepoel, Ravishankar Chandhiramoorthi, Diego Didona |
USENIX ATC | 6 |
| 2018 | Kairos: Preemptive Data Center Scheduling Without Runtime EstimatesabstractThe vast majority of data center schedulers use task runtime estimates to improve the quality of their scheduling decisions. Knowledge about runtimes allows the schedulers, among other things, to achieve better load balance and to avoid head-of-line blocking. Obtaining accurate runtime estimates is, however, far from trivial, and erroneous estimates lead to sub-optimal scheduling decisions. Techniques to mitigate the effect of inaccurate estimates have shown some success, but the fundamental problem remains. Pamela Delgado, Diego Didona, Florin Dinu, Willy Zwaenepoel |
SoCC | 2 |
| 2018 | Wren: Nonblocking Reads in a Partitioned Transactional Causally Consistent Data StoreabstractTransactional Causal Consistency (TCC) extends causal consistency, the strongest consistency model compatible with availability, with interactive read-write transactions, and is therefore particularly appealing for geo-replicated platforms. This paper presents Wren, the first TCC system that at the same time i) implements nonblocking read operations, thereby achieving low latency, and ii) allows an application to efficiently scale out within a replication site by sharding. Wren introduces new protocols for transaction execution, dependency tracking and stabilization. The transaction protocol supports nonblocking reads by providing a transaction with a snapshot that is the union of a fresh causal snapshot S installed by every partition in the local data center and a client-side cache for writes that are not yet included in S. The dependency tracking and stabilization protocols require only two scalar timestamps, resulting in efficient resource utilization and providing scalability in terms of replication sites. In return for these benefits, Wren slightly increases the visibility latency of updates. We evaluate Wren on an AWS deployment using up to 5 replication sites and 16 partitions per site. We show that Wren delivers up to 1.4x higher throughput and up to 3.6x lower latency when compared to the state-of-the-art design. The choice of an older snapshot increases local update visibility latency by a few milliseconds. The use of only two timestamps to track causality increases remote update visibility latency by less than 15%. Kristina Spirovska, Diego Didona, Willy Zwaenepoel |
DSN | 2 |
| 2018 | Causal Consistency and Latency Optimality: Friend or Foe?abstractCausal consistency is an attractive consistency model for geo-replicated data stores. It is provably the strongest model that tolerates network partitions. It avoids the long latencies associated with strong consistency, and, especially when using read-only transactions (ROTs), it prevents many of the anomalies of weaker consistency models. Recent work has shown that causal consistency allows "latency-optimal" ROTs, that are nonblocking, single-round and single-version in terms of communication. On the surface, this latency optimality is very appealing, as the vast majority of applications are assumed to have read-dominated workloads. In this paper, we show that such "latency-optimal" ROTs induce an extra overhead on writes that is so high that it actually jeopardizes performance even in read-dominated workloads. We show this result from a practical as well as from a theoretical angle. We present the Contrarian protocol that implements "almost latency-optimal" ROTs, but that does not impose on the writes any of the overheads incurred by latency-optimal protocols. In Contrarian, ROTs are nonblocking and single-version, but they require two rounds of client-server communication. We experimentally show that this protocol not only achieves higher throughput, but, surprisingly, also provides better latencies for all but the lowest loads and the most read-heavy workloads. We furthermore prove that the extra overhead imposed on writes by latency-optimal ROTs is inherent, i.e., it is not an artifact of the design we consider, and cannot be avoided by any implementation of latency-optimal ROTs. We show in particular that this overhead grows linearly with the number of clients. Diego Didona, Rachid Guerraoui, Jingjing Wang 0007, Willy Zwaenepoel |
Proc. VLDB Endow. | 1 |
| 2018 | SILK+ Preventing Latency Spikes in Log-Structured Merge Key-Value Stores Running Heterogeneous WorkloadsabstractLog-Structured Merge Key-Value stores (LSM KVs) are designed to offer good write performance, by capturing client writes in memory, and only later flushing them to storage. Writes are later compacted into a tree-like data structure on disk to improve read performance and to reduce storage space use. It has been widely documented that compactions severely hamper throughput. Various optimizations have successfully dealt with this problem. These techniques include, among others, rate-limiting flushes and compactions, selecting among compactions for maximum effect, and limiting compactions to the highest level by so-called fragmented LSMs. In this article, we focus on latencies rather than throughput. We first document the fact that LSM KVs exhibit high tail latencies. The techniques that have been proposed for optimizing throughput do not address this issue, and, in fact, in some cases, exacerbate it. The root cause of these high tail latencies is interference between client writes, flushes, and compactions. Another major cause for tail latency is the heterogeneous nature of the workloads in terms of operation mix and item sizes whereby a few more computationally heavy requests slow down the vast majority of smaller requests. We introduce the notion of an Input/Output (I/O) bandwidth scheduler for an LSM-based KV store to reduce tail latency caused by interference of flushing and compactions and by workload heterogeneity. We explore three techniques as part of this I/O scheduler: (1) opportunistically allocating more bandwidth to internal operations during periods of low load, (2) prioritizing flushes and compactions at the lower levels of the tree, and (3) separating client requests by size and by data access path. SILK+ is a new open-source LSM KV that incorporates this notion of an I/O scheduler. Oana Balmau, Florin Dinu, Willy Zwaenepoel, Ravishankar Chandhiramoorthi, Diego Didona |
ACM Trans. Comput. Syst. | 6 |
| 2017 | Optimistic Causal Consistency for Geo-Replicated Key-Value StoresabstractIn this paper we present a new approach to implementing causal consistency in geo-replicated data stores, which we call Optimistic Causal Consistency (OCC). The optimism in our approach lies in that updates from a remote data center are immediately made visible in the local data center, without checking if their causal dependencies have been received. Servers perform the dependency check needed to enforce causal consistency only upon serving a client operation, rather than on the receipt of a replicated data item as in existing systems. OCC explores a novel trade-off in the landscape of causal consistency protocols. The potentially blocking behavior of OCC makes it vulnerable to network partitions. Because network partitions are rare in practice, however, OCC chooses to trade availability to maximize data freshness and reduce the communication overhead. We further propose a recovery mechanism that allows an OCC system to fall back on a pessimistic protocol to continue operating even during network partitions. POCC is an implementation of OCC based on physical clocks. We show that OCC improves data freshness, while offering comparable or better performance than its pessimistic counterpart. Kristina Spirovska, Diego Didona, Willy Zwaenepoel |
ICDCS | 2 |
| 2017 | An Analytical Model of Hardware Transactional MemoryabstractThis paper investigates the problem of deriving a white box performance model of Hardware Transactional Memory (HTM) systems. The proposed model targets TSX, a popular implementation of HTM integrated in Intel processors starting with the Haswell family in 2013. An inherent difficulty with building white-box models of commercially available HTM systems is that their internals are either vaguely documented or undisclosed by their manufacturers. We tackle this challenge by designing a set of experiments that allow us to shed lights on the internal mechanisms used in TSX to manage conflicts among transactions and to track their readsets and writesets. We exploit the information inferred from this experimental study to build an analytical model of TSX focused on capturing the impact on performance of two key mechanisms: the concurrency control scheme and the management of transactional meta-data in the processor's caches. We validate the proposed model by means of an extensive experimental study encompassing a broad range of workloads executed on a real system. Daniel Castro 0004, Paolo Romano 0002, Diego Didona, Willy Zwaenepoel |
MASCOTS | 3 |
| 2017 | TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores
Oana Balmau, Diego Didona, Rachid Guerraoui, Willy Zwaenepoel, Huapeng Yuan, Aashray Arora, Pavan Konka |
USENIX ATC | 2 |
| 2016 | ProteusTM: Abstraction Meets Performance in Transactional MemoryabstractThe Transactional Memory (TM) paradigm promises to greatly simplify the development of concurrent applications. This led, over the years, to the creation of a plethora of TM implementations delivering wide ranges of performance across workloads. Yet, no universal implementation fits each and every workload. In fact, the best TM in a given workload can reveal to be disastrous for another one. This forces developers to face the complex task of tuning TM implementations, which significantly hampers their wide adoption. In this paper, we address the challenge of automatically identifying the best TM implementation for a given workload. Our proposed system, ProteusTM, hides behind the TM interface a large library of implementations. Underneath, it leverages a novel multi-dimensional online optimization scheme, combining two popular learning techniques: Collaborative Filtering and Bayesian Optimization. Diego Didona, Nuno Diegues, Anne-Marie Kermarrec, Rachid Guerraoui, Ricardo Neves, Paolo Romano 0002 |
ASPLOS | 1 |
| 2016 | Job-aware Scheduling in Eagle: Divide and Stick to Your ProbesabstractWe present Eagle, a new hybrid data center scheduler for data-parallel programs. Eagle dynamically divides the nodes of the data center in partitions for the execution of long and short jobs, thereby avoiding head-of-line blocking. Furthermore, it provides job awareness and avoids stragglers by a new technique, called Sticky Batch Probing (SBP). Pamela Delgado, Diego Didona, Florin Dinu, Willy Zwaenepoel |
SoCC | 2 |
| 2015 | Using Analytical Models to Bootstrap Machine Learning Performance PredictorsabstractPerformance modeling is a crucial technique to enable the vision of elastic computing in cloud environments. Conventional approaches to performance modeling rely on two antithetic methodologies: white box modeling, which exploits knowledge on system's internals and capture its dynamics using analytical approaches, and black box techniques, which infer relations among the input and output variables of a system based on the evidences gathered during an initial training phase. In this paper we investigate a technique, which we name Bootstrapping, which aims at reconciling these two methodologies and at compensating the cons of the one with the pros of the other. We analyze the design space of this gray box modeling technique, and identify a number of algorithmic and parametric trade-offs which we evaluate via two realistic case studies, a Key-Value Store and a Total Order Broadcast service. Diego Didona, Paolo Romano 0002 |
ICPADS | 1 |
| 2015 | Enhancing Performance Prediction Robustness by Combining Analytical Modeling and Machine LearningabstractClassical approaches to performance prediction rely on two, typically antithetic, techniques: Machine Learning (ML) and Analytical Modeling (AM). ML takes a black box approach, whose accuracy strongly depends on the representativeness of the dataset used during the initial training phase. Specifically, it can achieve very good accuracy in areas of the features' space that have been sufficiently explored during the training process. Conversely, AM techniques require no or minimal training, hence exhibiting the potential for supporting prompt instantiation of the performance model of the target system. However, in order to ensure their tractability, they typically rely on a set of simplifying assumptions. Consequently, AM's accuracy can be seriously challenged in scenarios (e.g., workload conditions) in which such assumptions are not matched. Diego Didona, Francesco Quaglia, Paolo Romano 0002, Ennio Torre |
ICPE | 1 |
| 2015 | Hybrid Machine Learning/Analytical Models for Performance Prediction: A TutorialabstractClassical approaches to performance prediction of computer systems rely on two, typically antithetic, techniques: Machine Learning (ML) and Analytical Modeling (AM). Diego Didona, Paolo Romano 0002 |
ICPE | 1 |
| 2014 | Performance Modelling of Partially Replicated In-Memory Transactional StoresabstractThis paper presents PROMPT, a PeRfOrmance Model for Partially replicated in-memory Transactional cloud stores. PROMPT combines white box Analytical Modelling and Machine Learning techniques, with the goal of achieving the best of the two methodologies: low training times, high extrapolation power, and portability across heterogeneous cloud infrastructures. We validate PROMPT via an extensive experimental study based on a popular open-source transactional in-memory data store (Red Hat's Infinispan), industry-standard benchmarks, and deployments on both public and private cloud infrastructures. Diego Didona, Paolo Romano 0002 |
MASCOTS | 1 |
| 2014 | Transactional Auto Scaler: Elastic Scaling of Replicated In-Memory Transactional Data GridsabstractIn this article, we introduce TAS (Transactional Auto Scaler), a system for automating the elastic scaling of replicated in-memory transactional data grids, such as NoSQL data stores or Distributed Transactional Memories. Applications of TAS range from online self-optimization of in-production applications to the automatic generation of QoS/cost-driven elastic scaling policies, as well as to support for what-if analysis on the scalability of transactional applications. In this article, we present the key innovation at the core of TAS, namely, a novel performance forecasting methodology that relies on the joint usage of analytical modeling and machine learning. By exploiting these two classically competing approaches in a synergic fashion, TAS achieves the best of the two worlds, namely, high extrapolation power and good accuracy, even when faced with complex workloads deployed over public cloud infrastructures. We demonstrate the accuracy and feasibility of TAS’s performance forecasting methodology via an extensive experimental study based on a fully fledged prototype implementation integrated with a popular open-source in-memory transactional data grid (Red Hat’s Infinispan) and industry-standard benchmarks generating a breadth of heterogeneous workloads. Diego Didona, Paolo Romano 0002, Sebastiano Peluso, Francesco Quaglia |
ACM Trans. Auton. Adapt. Syst. | 1 |