Tutorial participation is free for PhD students. A certificate of attendance will be provided to all participants. Tutorials will run in three parallel sessions.

Reliability and Availability of Hardware-Software Systems

High reliability and availability are requirements for most technical systems including computer and communication systems. Reliability and availability assurance methods based on probabilistic models is the topic addressed in this talk. Non-state-space solution methods are often used to solve models based on reliability block diagrams, fault trees and reliability graphs. Relatively efficient algorithms are known to handle systems with hundreds of components and have been implemented in many software packages. Nevertheless, many practical problems cannot be handled by such algorithms. Bounding algorithms are then used in such cases as was done for a major subsystem of Boeing 787. Non-state-space methods derive their efficiency from the independence assumption that is often violated in practice. State space methods based on Markov chains, stochastic Petri nets, semi-Markov and Markov regenerative processes can be used to model various kinds of dependencies among system components. Linux Operating System and WebSphere Application server are used as examples of Markov models. IBM research cloud is used as an example of stochastic Petri net model. However, the state space explosion of such models severely restricts the size of the problem that can be solved. Hierarchical and fixed-point iterative methods provide a scalable alternative that combines the strengths of state space and non-state-space methods and have been extensively used to solve real-life problems. Real-world examples of such multi-level models from IBM, Cisco and Sun Microsystems will be discussed. Hardware systems as well as software systems and their combinations will be addressed via these examples. Novel approaches to software fault tolerance will be discussed. These methods and applications are fully described in a recently completed book: Reliability and Availability Engineering: Modeling, Analysis and Applications, Cambridge University Press, 2017.


Prof. Kishor S. Trivedi, Duke University, North Carolina, USA

Kishor Trivedi holds the Fitzgerald Hudson Chair in the Department of Electrical and Computer Engineering at Duke University, Durham, NC. He has a 1968 B.Tech. (EE) from IIT Mumbai and MS’72/PhD’74 (CS) from the University of Illinois at Urbana-Champaign. He has been on the Duke faculty since 1975. He is the author of a well-known text entitled, Probability and Statistics with Reliability, Queuing and Computer Science Applications, originally published by Prentice-Hall; a thoroughly revised second edition of this book has been published by John Wiley. The book is recently translated into Chinese. He has also published two other books entitled, Performance and Reliability Analysis of Computer Systems, published by Kluwer Academic Publishers and Queueing Networks and Markov Chains, John Wiley. His latest book, Reliability and Availability Engineering is published by Cambridge University Press in 2017. He is a Life Fellow of the Institute of Electrical and Electronics Engineers and a Golden Core Member of IEEE Computer Society. He has published over 600 articles and has supervised 48 Ph.D. dissertations. He is the recipient of IEEE Computer Society’s Technical Achievement Award for his research on Software Aging and Rejuvenation. He is the recipient of IEEE Reliability Society’s Life Time Achievement Award. His h-index is 107. He has worked closely with industry in carrying our reliability/availability analysis, providing short courses on reliability, availability, and in the development and dissemination of software packages such as HARP, SHARPE, SREPT and SPNP.

Privacy-Preserving Data Processing

Big data have opened new opportunities to collect, store, process and, most of all, monetize data. This has created tension with privacy, especially when it comes to information about individuals. Researchers proposed approaches for anonymization to publish personal information – i.e., generalizing or removing data of the most sensitive fields. Privacy-preserving data processing allows companies, researchers and practitioners to share datasets carrying significant value while preserving at the same time the privacy of users. Several techniques were proposed over the years, with the most important ones being k-anonymity and differential privacy. In this tutorial, we will present the basic concepts of privacy-preserving data processing, introducing the main motivations, challenges and opportunities around anonymization techniques. We will focus on k-anonymity (and its variants) as the classical approach to anonymize tabular data, and we will provide an overview of differential privacy as a flexible technique for running privacy-preserving queries. During the tutorial, the students will put their hands on a real case-study and use Python code and state-of-the-art libraries to learn how to anonymize a dataset before publishing or querying it.


Martino Trevisan received his PhD in 2019 from Politecnico di Torino, Italy. He is currently an Assistant Professor at the Department of Electronics and Telecommunications in the same university. He has been collaborating in both Industry and European projects and spent six months in Telecom ParisTech, France working on High-Speed Traffic Monitoring during his M.Sc. He visited twice Cisco labs in San Jose in summer 2016 and 2017, as well as AT&T labs during fall 2018. He was Visiting Professor at the Federal University of Minas Gerais in Brazil in 2019. His research interests mainly focus on data analysis applied to the study of the Internet and the Web.

Luca Vassio is an Assistant Professor at Politecnico di Torino and member of SmartData@Polito research center for Big Data technologies. He holds a Ph.D. ‘cum laude’ in Electronics and Communication Engineering and a M.Sc. in Mathematical Engineering. In the last years he was hosted and worked for Bell Labs, MIT, UFMG, EPFL and GE Aviation. He is interested in many fields of data science, from big data analytics problems to the usage of statistical, machine learning and data mining approaches. He is an expert in creating analytical and data-driven models of real phenomena and optimizing performances in different scenarios. His main applications are in the fields of internet measurements, mobility and human behaviour

Reinforcement Learning for Run-Time Performance Management in the Cloud/Edge

Because of the inherent complexity and heterogeneity of distributed computing environments, which possibly comprise multi-Cloud platforms and Edge-located resources, effective application and performance management represents an increasingly challenging task. Supporting performance guarantees is particularly difficult because of the uncertainty that often characterizes today environments, due to unpredictable workloads, black-box specifications of the controlled applications, possibly unstable network conditions and variable performance of virtualized, multi-tenant computing nodes.
As the scale of the platforms rules out hand-operated performance tuning, machine learning (ML) techniques have attracted growing interest to develop automated management solutions able to cope with uncertainty.

Within the broad family of ML techniques, in this tutorial we will focus our attention on reinforcement learning (RL), a class of methods for on-line control that naturally suit run-time performance optimization problems.
RL comprises a collection of techniques revolving around the basic idea of learning to make optimal decisions through interaction with the controlled system.
We will introduce the main concepts underpinning the RL framework and the modeling steps required for its adoption, from the definition of state and action spaces (and the associated scalability concerns) to the selection of suitable reward functions. We will first present baseline model-free approaches, e.g., Q-learning and SARSA, and then move to more advanced concepts such as post-decision states and model-based RL, which accelerate the learning process exploiting available knowledge about the system.

To deal with large state spaces, we will then show how Function Approximation and Deep Learning techniques can be integrated in RL algorithms, to build approximate representations of the state space and achieve near-optimal solutions with reduced memory demand. Throughout the tutorial we will blend theory with practical examples, demonstrating the use of RL for auto-scaling Cloud/edge applications.


Francesco Lo Presti is an associate professor at the University of Rome Tor Vergata since 2007. He received the M.Sc. in Electrical Engineering and the Ph.D. in Computer Science and Automation Engineering from the University of Rome Tor Vergata in 1993 and 1997, respectively. From 1998 to 2001, he held a joint post-doc position at the University of Massachusetts at Amherst (MA) and the AT&T Research Labs in Florham Park (NJ).  In 2012 he received the Sigmetrics Test of Time Award. His general research interests are in the fields of distributed computing systems and computer networks with focus on performance measurements modelling, analysis and optimization of computer systems and computer networks.  Within this general framework, he has recently conducted research in the field of self-adaptive systems resource provisioning in cloud/edge computing systems. 

Gabriele Russo Russo is a research associate and Ph.D. candidate at the University of Rome Tor Vergata, where he received the M.Sc. in Computer Engineering in 2017. His research interests are in the field of distributed computing systems, with emphasis on performance optimization. During his doctoral studies, Gabriele has focused on model-based run-time adaptation of distributed data stream processing applications.

Fabiana Rossi graduated cum laude in Computer Engineering in 2018 at the University of Rome Tor Vergata. She is currently a third-year Ph.D. student at the University of Rome Tor Vergata. Her research interests span the area of cloud computing with emphasis on distributed self-adaptive systems.

Valeria Cardellini is an associate professor of computer science and engineering at the University of Rome Tor Vergata since 2015. She earned her M.Sc. in Computer Engineering and Ph.D. degree in Computer Science and Automation Engineering from the University of Rome Tor Vergata in 1997 and 2001, respectively. Her research interests are in the field of distributed computing systems, with a focus on Web and Cloud systems and services. In the last 10 years, she has been mainly working on resource provisioning and deployment in Cloud systems and deployment and run-time adaptation of data stream processing. She is an associated editor of IEEE Transactions on Parallel and Distributed Systems.