Course Title: Distributed Systems
Credits: No
Lecturer: Salvatore Distefano (email: s_distefano@it.kfu.ru)
Prerequisite courses: None
Course outline
The current ICT scenario is dominated by large and complex, distributed systems, paving the way to ExaFLOPs (exascale computing), ZettaBytes (BigData) or billion/trillion objects and devices (Internet of Things - IoT). This pervaded everyday life immerging and surrounding people into cyber-physical environments mixing different IT technologies able to support decisions also complementing and augmenting the reality, thus transforming urban environment into Smart Cities. This way we are no more just passive stakeholders/entities, but part of a complex socio-technical system where we play an active, leading role.
This calls for adequate methodologies, techniques, and solutions for dealing with the complexity arising from such heterogeneous and multimodal environments. IoT technologies can be used to manage devices geographically interconnected, BigData methods can be adopted to handle the data they provide, Cloud infrastructure can provide resources for sensing, storing and processing data, volunteer and crowd-based approaches can deal with mobility and contribution issues such as churning through incentive mechanisms, also exploiting crowd wisdom and power.
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: None.
Course Syllabus:
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
Explicit parallelism
Multiprocessor systems and program parallelization
Multi-core and many core systems
Distributed computing
Memory and Storage Systems
Disk architecture and performance
RAID systems
Storage Architectures (DAS, NAS, SAN)
Software Defined and Virtualized Ecosystems
Cloud computing
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):
Date |
Hour |
ClassRoom |
Wed Sept 23 |
17:00-19:00 |
2 - TBD |
Sat Sept 26 |
17:00-19:00 |
2 - TBD |
Wed Sept 30 |
17:00-19:00 |
2 - TBD |
Sat Oct 3 |
17:00-19:00 |
2 - TBD |
Sat Oct 10 |
17:00-19:00 |
2 - Online |
Sat Oct 17 |
17:00-19:00 |
2 - Online |
Wed Oct 21 |
17:00-19:00 |
2 - TBD |
Sat Oct 24 |
17:00-19:00 |
2 - TBD |
Wed Oct 28 |
17:00-19:00 |
2 - TBD |
Sat Oct 31 |
17:00-19:00 |
2 - TBD |
Sat Nov 7 |
17:00-19:00 |
2 - Online |
Sat Nov 14 |
17:00-19:00 |
2 - Online |
Wed Nov 18 |
17:00-19:00 |
2 - TBD |
Sat Nov 21 |
17:00-19:00 |
2 - TBD |
Wed Nov 25 |
17:00-19:00 |
2 - TBD |
Sat Nov 28 |
17:00-19:00 |
2 - TBD |
Wed Dec 2 |
17:00-19:00 |
2 - TBD |
Sat Dec 5 |
17:00-19:00 |
2 - TBD |
Wed Dec 9 |
17:00-19:00 |
2 - Online |
Sat Dec 12 |
17:00-19:00 |
2 - Online |
Wed Dec 16 |
17:00-19:00 |
2 - Online |
Sat Dec 19 |
17:00-19:00 |
2 - Online |
Computer Resources: No specific requirements.
Laboratory Exercises: There are no laboratory exercises for this course.
Laboratory Resources: No laboratory resources are required for this course.
Assessment: Assignments (30%) and Final Exam-Project (70%).