Course Title: Distributed Systems
Lecturer: Salvatore Distefano (email: email@example.com)
Prerequisite courses: None
The main goal of the "Distributed systems" course is to provide an overview of this scenario, focusing on technologies and main components, such as Cloud, Internet of Thinks, Software Defined and Virtualized Ecosystems, as well as on the main (non-functional) properties that must be provided to the stakeholders of these systems, such as scalability, performance, reliability, availability.
Required background knowledge:
The course is organized into two main parts identifying and characterizing distributed computing systems functional and non-functional properties
I) Functional properties
Types of parallelism: implicit and explicit parallelism
Implicit parallelism: bit, word, pipeline, super-scalarity, hyperthreading
Multiprocessor systems and program parallelization
Multi-core and many core systems
Memory and Storage Systems
Disk architecture and performance
Storage Architectures (DAS, NAS, SAN)
Software Defined and Virtualized Ecosystems
Internet of Thinks
II) Non-functional properties
Dependability and Performance metrics
Stochastic modeling, state space based models
Dependability evaluation: state space and combinatorial modeling
Performance evaluation and capacity planning
Textbooks and Reference Materials:
- Kishor S. Trivedi. Probability and Statistics with Reliability, Queuing, and Computer Science Applications, John Wiley and Sons, New York, 2001. ISBN number 0-471-33341-7
- Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta. Introduction to Parallel Computing, 2/E. ISBN-10: 0201648652 • ISBN-13: 9780201648652, 2003 Addison-Wesley, 656 pp.
- Edward D. Lazowska, John Zahorjan, G. Scott Graham, Kenneth C. Sevcik. Quantitative System Performance Computer System Analysis Using Queueing Network Models (http://homes.cs.washington.edu/~lazowska/qsp/).
- Lecture notes
Course Delivery: The course will be given in 36 hours of classes in total, from September to December 2015 as reported below. The classes will last 2 hours each, and will mainly be in presence, even if some of them will be given remotely. Tutorial exercises will be set periodically. There will be some assignments that will be mainly discussed during online classes and a final examination consisting of a project to be developed by 1 or 2-student groups.
Tentative schedule (to be discussed with students):