Go to:
Logótipo
You are here: Start > M.EIC004

Large Scale Distributed Systems

Code: M.EIC004     Acronym: SDLE

Keywords
Classification Keyword
OFICIAL Computer Architecture, Operating Systems and Networks

Instance: 2024/2025 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EIC 172 Syllabus 1 - 6 52 162

Teaching Staff - Responsibilities

Teacher Responsibility
Pedro Alexandre Guimarães Lobo Ferreira Souto
Carlos Miguel Ferraz Baquero-Moreno

Teaching - Hours

Lectures: 2,00
Recitations: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
Carlos Miguel Ferraz Baquero-Moreno 1,00
Pedro Alexandre Guimarães Lobo Ferreira Souto 1,00
Recitations Totals 8 16,00
Carlos Miguel Ferraz Baquero-Moreno 4,00
Daniel Jorge Barros Tinoco 4,00
Pedro Alexandre Guimarães Lobo Ferreira Souto 6,00

Teaching language

Suitable for English-speaking students

Objectives

This course unit has two main objectives:

  1.  give students theoretical knowledge on distributed systems so they can make correct decisions when faced with the need to design/develop/administer large-scale systems;
  2. provide students with practical experience so they can develop applications using techniques and mechanisms appropriate for large-scale systems.

Learning outcomes and competences

Upon conclusion of this course, the students should be able to:

  • explain the importance of distribution and of the coordination models in the scalability of applications and services
  • identify the main challenges of distribution and model them in abstract terms
  • assess the different techniques and algorithms used to ensure scalability and availability
  • assess the different techniques and algorithms used to ensure fault-tolerance at large scale
  • design a large-scale application/service, given its specification
  • implement, integrate, and run large-scale services and applications, using selected technologies.
  • have skills for identifying the state-of-the-art

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Students are expected to have passed courses on Operating Sytems, Computer Networks and Distributed Systems.

Program

Scalable Distributed Topologies
System Design for Large Scale
Implementation techniques for scalability
Events, Physical Time, and Logical Time
Data Consistency Models
Byzantine Fault-tolerance and blockchain

Mandatory literature

M. van Steen and A. S. Tanenbaum; Distributed systems, 3rd Ed., 2017 (https://www.distributed-systems.net/index.php/books/ds3/)

Complementary Bibliography

G. Coulouris, J. Dollimore, T. Kindberg and G. Blair; Distributed Systems: Concepts and Design, 5th Ed., Pearson, 2012. ISBN: 978-0132143011
Duncan J. Watts; Small Worlds, Princeton University Press, 1999
Alex Petrov; Database Internals, O'Reilly, 2019
Pieter Hintjens; ZeroMQ, O'Reilly, 2013 (https://zguide.zeromq.org/)

Teaching methods and learning activities

All topics are covered in the lectures, which are mostly expository. To motivate the students, we use case studies, real-world examples and demos, as appropriate.

To enhance the understanding of the concepts and algorithms presented in the lectures, the students will perform a project as well as smaller assignments.

Software

Git
Rust
JDK
Go
NetworkX
gcc
Python
Zero-MQ

keywords

Technological sciences > Technology > Computer technology > Software technology

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 45,00
Trabalho prático ou de projeto 45,00
Participação presencial 10,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 50,00
Frequência das aulas 52,00
Trabalho laboratorial 60,00
Total: 162,00

Eligibility for exams

In order to be able to take the final exam students must:
1) Attend at least 75% of the scheduled lab classes;
2) Have a minimum grade of 10 (out of 20) in the average of the assignments;
3) Demonstrate/present the assignments
4) Fill the peer evaluation forms of all the assignments;

Calculation formula of final grade

min( 0.45 Proj + 0.45 Ex + 0.1 CP, Proj + 3, Ex. + 3)

where:

Proj -- average of the assignments' grades
Ex -- final exam grade
CP -- class participation

For passing, students must have a minimum grade of 10 (out of 20) in both the average of the assignments and the final exam.

Late asignment submission is penalized in 15% per day.

Examinations or Special Assignments

There are none.

Special assessment (TE, DA, ...)

The same as for ordinary students.

In the special exam students cannot improve their assignments' grades.

Classification improvement

The final exam grade can be improved in the scheduled exams.
The assignments' grades can be improved only in other instances of the course unit.

Observations

Content is in English. The course will be taught in English.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-10-19 at 11:43:20 | Acceptable Use Policy | Data Protection Policy | Complaint Portal