CdSCOMPUTER ENGINEERING
Codice592II
CFU9
PeriodoPrimo semestre
LinguaInglese
Gli studenti dovranno conoscere
- fondamenti di calcolo delle probabbilita', incluse le proprieta' di alcune distribuzioni comuni
- fondamenti di statistica, soprattutto la differenza tra campione e popolazione ed il concetto di intervallo di fiducia
- aspetti fondamentali della teoria della simulazione: come progettare un simulatore, quali sono le varie strutture dati, come generare numeri casuali, come portare a termine uno studio simulativo ben fatto, come gestire i dati in uscita.
- aspetti fondamentali della modellazione analitica tramite catene di Markov
Students are expected to know:
- fundamentals of probability calculus, including the properties of some common distributions
- fundamentals of statistics, especially the difference between a sample and a population, and the concept of confidence intervals
- Fundamentals of simulation theory: how to build a simulator, what the different data structures are, how to generate random numbers, how to carry out a sound simulation study, how to handle output simulation data.
- fundamentals of analytical modeling through Markov-chain mehods
Le conoscenze sopra indicate verranno verificate tramite esame orale.
The above knowledge will be verified through oral interview.
Gli studenti dovranno essere in grado di:
- padroneggiare tecniche di modellazione analitiche e simulative di sistemi informatici
- calcolare probabilita'
- inferire proprieta' di campioni (ad esempio, la distribuzione) ed associare misure di fiducia ai campioni
- estrarre le informazioni salienti da un campione e presentarle nel modo piu' efficace
- seguire il metodo scientifico per capire perche' le prestazioni di un sistema variano con alcuni fattori.
Students are expected to:
- master both analytical and simulation modeling of computer systems.
- compute probabilities
- infer properties of samples (e.g., a likely distribution) and associate confidence measures to sampled statistics
- be able to extract the salient features from a sample and to present them in the most effective way
- follow a scientific approach to understanding why the performance of a system varies with some factors
La padronanza del calcolo delle probabilita' e delle tecniche analitiche di modellazione sara' verificata attraverso esercizi scritti, che richiedono che uno studente modelli in modo appropriato una situzione descritta, che ricavi misure di prestazioni dai dati di ingresso, e che spieghi i risultati.
La padronanza nella simulazione sara' verificata analizzando il codice ed i risultati di un progetto di gruppo, che consiste nella modellazione e simulazione di un sistema semplice, e nell'analisi delle prestazioni di quest'ultimo.
La padronanza delle tecniche di analisi statistica verra' verificata attraverso esercizi individuali dati agli studenti durante le ore di esercitazione.
Proficiency in probability calculus and analytical modeling will be verified through written exercises that require a student to find a suitable model for the situation being described, to compute easily computable performance measures from the input data, and to explain their findings.
Proficiency in simulation modeling will be verified by analyzing the code and results of a group term project, consisting in modeling and simulating a simple system, and analyzing its performance.
Proficiency in statistics will be verified through individual exercises given to students during labs.
Gli studenti dovranno essere in grado di
- creare un modello di un sistema dalle sue specifiche o dall'osservazione di quest'ultimo, estraendone le caratteristiche salienti.
- capire le cause di variazione delle prestazioni di un sistema, e di progettare scenari che confermano le loro intuizioni.
- predire il funzionamento o le prestazioni di un sistema dal modello di quest'ultimo, e verificare se le predizioni sono corrette.
Students should learn to create a model of a system from its specification or observation, extracting its salient features. They should
Students should learn to understand the underlying causes of performance variation in a system, and to devise scenarios that confirm their intuitions about the latter.
Students should be able to make predictions about the behavior or performance of a system from its model, and to verify whether or not these predictions are correct.
I comportamenti sopra indicati verranno verificati tramite un progetto di gruppo dato agli studenti, nel quale dovranno analizzare e spiegare le prestazioni di un sistema come funzione di alcuni fattori, modellandolo e simulandolo. La valutazione del progetto vertera' non solo sulla correttezza del codice, ma anche sulla correttezza dell'approccio, la coerenza degli scenari utilizzati, il rigore scientifico e la chiarezza di presentazione.
The above behaviours will be verified by giving students a group project, in which they need to understand and explain the performance of a system as a function of some factors, by modeling and simulating the system. The evaluation of the project will check not only the correctness of the code, but also the soundness of the approach, the appropriateness of the evaluation scenarios, the scientific rigour of the findings and the clarity of presentation.
Gli studenti devono possedere conoscenze iniziali dettagliate di:
- calcolo: funzioni, limiti, derivate, integrali, serie.
- programmazione ad oggetti, incluso il linguaggio C++.
Students should possess a detailed background in:
- calculus: functions, limits, derivatives, integrals, infinite sums.
- object-oriented programming, including C++ coding.
- Lezioni frontali. La parte sulla simulazione ha delle slide di supporto
- Esercitazioni tenute settimanalmente. Durante le ore di esercitazione, gli studenti possono usare il proprio laptop o il PC del laboratorio per svolgere lavoro individuale.
- Il corso ha una apgina web (vedere sotto) che contiene tutto il materiale didattico
- C'e' un co-docente, che svolge le esercitazioni, alcune lezioni, e revisiona progetti
- I docenti ricevono settimanalmente gli studenti, e gli studenti possono interagire con i docenti via email.
- e' richiesto un progetto di gruppo
- Il corso e' tenuto in Inglese.
- Probability theory and statistics (~30 h):
- Fundamental definitions and theorems on probability. Uniform probability model. Discrete and continuous random variables. Notable RV distributions (exponential, uniform, Poissonian, normal, binomial, chi-square, student-t etc.). Central limit theorem.
- Sample and population: estimators and confidence intervals. Data analysis and summarization. Model fitting, experiment design.
- Simulation (~20 h):
- Principles of discrete event simulation: events, event queues, random number generation, structure of a simulator software.
- Description of the general-purpose OMNET++ simulation framework. Hands-on experiments with the OMNET++ framework.
- Simulation workflow: system modeling, experiment planning, factor reduction, independent replications, transient and steady-state behavior, output data analysis, experiment automation.
- Analytical System modeling and capacity planning (~30 h):
- Analysis techniques, workload characterization, Single-queue systems, queueing networks, mean value analysis
- Case studies in systems modeling: web servers, data centers, database services, networks
- Probability theory and statistics (~30 h):
- Fundamental definitions and theorems on probability. Uniform probability model. Discrete and continuous random variables. Notable RV distributions (exponential, uniform, Poissonian, normal, binomial, chi-square, student-t etc.). Central limit theorem.
- Sample and population: estimators and confidence intervals. Data analysis and summarization. Model fitting, experiment design.
- Simulation (~30 h):
- Principles of discrete event simulation: events, event queues, random number generation, structure of a simulator software.
- Description of the general-purpose OMNET++ simulation framework. Hands-on experiments with the OMNET++ framework.
- Simulation workflow: system modeling, experiment planning, factor reduction, independent replications, transient and steady-state behavior, output data analysis, experiment automation.
- Analytical System modeling (~30 h):
- Queueing Theory: definition of stochastic process. Markov processes. Continuous-tmie Markov Chains.
- Average measures: number of clients, waiting and queueing time. Little's theorem. PASTA theorem and the importance of the viewpoint.
- Single-queue systems: M/M/1, M/M/c, M/M/1/k, discouraged arrivals, finite populations, batch arrivals and services.
- Network of queues: open and closed networks. Jackson's networks. Gordon and Newell's networks. Buzen's algorithm.
La pagina web del corso contiene gran parte del materiale necessario alla preparazione degli esami.
Testi raccomandati:
- S.M. Ross “Introduction to Probability and Statistics for Engineers and Computer Scientists”, Elsevier
- R. Jain “The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling”
- L. Kleinrock, Queueing Systems, vol. 1, Wiley
Utili:
- J.Y. Le Boudec “Performance Evaluation of Computer and Communication Systems”, EPFL
- D.A. Menascé et al. “Performance by Design”, Prentice Hall
- A.M. Law, W.D. Kelton “Simulation Modeling and Analysis”, McGraw-Hill
- S.M. Ross, "Introduction to Probability Models", Elsevier
The course webpage includes handouts prepared by the course professor.
Recommended textbooks:
- S.M. Ross “Introduction to Probability and Statistics for Engineers and Computer Scientists”, Elsevier
- R. Jain “The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling”
- L. Kleinrock, Queueing Systems, vol. 1, Wiley
Students may also find useful:
- J.Y. Le Boudec “Performance Evaluation of Computer and Communication Systems”, EPFL
- D.A. Menascé et al. “Performance by Design”, Prentice Hall
- A.M. Law, W.D. Kelton “Simulation Modeling and Analysis”, McGraw-Hill
- S.M. Ross, "Introduction to Probability Models", Elsevier
Gli studenti devono prima preparare e discutere un progetto di gruppo, su un argomento assegnato dai docenti. A seguire, ci sara' un esame scritto ed uno orale. L'esame scritto e' bloccante.
Modalita' di esame durante l'emergenza CoVid19
Fino al ripristino della normale operativita' dell'universita', gli esami si terranno in modalita' remota, e saranno organizzati esattamente nello stesso modo.
Ulteriori informazioni alla pagina del docente.
The exams will be organized as follows:
- students will complete and hand in a group simulation project. The group of students will discuss the project in a public presentation.
- students must pass a written test
- students who have discussed the project and passed the written test will be interviewed.
Exams during CoVid19 emergency
Until the university resumes business as usual, exams will be held online (using the same procedure). More information can be found here.