Checking date: 06/07/2020

Course: 2020/2021

Distributed systems design
Study: Master in Computer Science and Technology (71)

Coordinating teacher: GARCIA CARBALLEIRA, FELIX

Department assigned to the subject: Department of Computer Science and Engineering

Type: Electives
ECTS Credits: 3.0 ECTS


Competences and skills that will be acquired and learning results.
- Modelling, and evaluatging distributed systems. - Ability to design distributed applications. - To know the main aspect of distributed system design. - To know and apply simulation techniques in distributed systems. - Ability to analyze technical documents and scientifc papers. - Ability to transmit the results of a scientific research.
Description of contents: programme
1. Introduction to distributed systems - Types of computing systems - Elements of a distributed system - Message passing - Design of distributed systems - The CAP theorem - Middlewares 2. Distributed Algorithms - Clock synchronization - Mutual exclusion - Leader election - Distributed consensus - Group communication - Global states - Case of study: ZooKeeper 3. Fault tolerant - Fault tolerant concepts - Replication 4. Simulation of distributed systems - Discret event simulation - Generation of random variables - Metrics of performance - Simulation experiments - Error estimation - Comparing two alternatives - Introduction to SimGrid 5. Scheduling in distributed systems - Scheduling - Scheduling methods - Process migration - Scheduling of independent tasks - Scheduling of parallel applications - Heuristics - Load balancing algorithms - Assignation of processors 6. Clusters and grid computing - Architecture of a cluster - Types of cluster - Single system image - Techniques to tolerate latency in large scale systems - Grid computing - Globus 7. HPC in distributed environments - High performance computing - HW platforms - MPI 8. Distributed file systems - Architecture of a distributed storage system - Network file systems - Distributed file systems - Shared disks file systems - Parallel file systems - I/O parallel interfaces - I/O parallel optimizations 9. Large scale distributed systems - Peer to Peer - Volunteer computing - Cloud computing - Big Data - Introduction to Apache Hadoop
Learning activities and methodology
- Practical and Theoretical lectures - Student work
Assessment System
  • % end-of-term-examination 0
  • % of continuous assessment (assigments, laboratory, practicals...) 100
Basic Bibliography
  • G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems, Concepts and Design, 5ª ed.. Addison Wesley. 2012
  • G. Sukmar. Distributed systems: an algorithmic approach. CRC Press, Taylor & Franciss Group. 2015
  • K. Hwang, G. C. Fox, J. J. Dongarra. Distributed and cloud computing. From parallel processing to the Internet of Things. Morgan Kaufmann. 2012
Recursos electrónicosElectronic Resources *
Detailed subject contents or complementary information about assessment system of B.T.
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN

The course syllabus and the academic weekly planning may change due academic events or other reasons.

More information: