XSL Content

Distributed Systems26256

Centre
Faculty of Informatics
Degree
Bachelor's Degree in Informatics Engineering
Academic course
2023/24
Academic year
4
No. of credits
6
Languages
English
Code
26256

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4040
Seminar00
Applied classroom-based groups1025
Applied laboratory-based groups1025

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

"Distributed Systems" is an elective subject included in the curriculum of the Degree in Informatics Engineering and is taught (in English) in the fourth year.



The development of information technology has led to the interconnection of individual computers into networks that allow mutual access to shared resources. The next step is the integration of resources and services in distributed systems, which provide the user and the applications with interoperability and transparent access. This course focuses on the concepts that distributed systems handle and the mechanisms that allow to support the integration of services and resources.

Skills/Learning outcomes of the subjectToggle Navigation

At the end of the course, the students should be able to:

- Know the characteristics and internal structure of distributed systems

- Design, implement and evaluate the performance of distributed algorithms and systems



Other important aspects that are going to be promoted are teamwork, the ability to find the information and tools necessary to solve the problems that arise, and the ability to accurately describe the functionality of the developed solutions, so that they can be used by other users or developers.

Theoretical and practical contentToggle Navigation

Topic 1. Introduction to distributed systems



Motivation. Properties of distributed systems. Distributed applications. Mobile and ubiquitous computing. Hardware support. Operating system support. Communication support. Open systems. Structure of a distributed system. Practice: remothe procedure calls, remothe method invocation, one-to-many communication with IP Multicast.



Topic 2. Time, causality and global state



Physical time. Clock synchronization. Logical time and ordering of events. Global state and consistency. Practice: clock synchronization tools and protocols (e.g., NTP), synchronization algorithms.



Topic 3. Distributed coordination



Distributed mutual exclusion. Election algorithms. Group communication. Replication. Distributed transactions. The Consensus problem. Practice: group communication with middlewares (JGroups, Spread...).



Topic 4. Distributed file systems



Properties of distributed file systems. System model. Name service. File service. High performance file systems. Internet file systems. Examples: NFS, AFS, Coda, CIFS. Practice: test of distributed file systems, and evaluation of their behavior in different situations.



Topic 5. Security in distributed systems



Threats and attacks. Security policies. Security mechanisms. Authentication protocols. Examples: Needham-Schroeder, Kerberos. Secure Multiparty Computation. Practice: test of Kerberos.



Advanced topics: Fault-tolerant systems. Blockchain. Distributed shared memory. Cluster computing. Peer-to-peer networks. High availability systems. Grid computing. Mobile and ubiquitous computing. Practice: development of a group work in the field of distributed systems.

MethodologyToggle Navigation

Although the course is based on the theoretical concepts that support distributed systems, it will have a large practical component. For this, various teaching methodologies will be used, from master classes to more active methodologies such as PBL (Project Based Learning) or pBL (Problem Based Learning) and laboratory activities.

Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • The percentages and types of evaluation are specified in the following sections. (%): 100

Ordinary Call: Orientations and DisclaimerToggle Navigation

CONTINUOUS ASSESSMENT



The evaluation systems that are contemplated are the continuous evaluation system and the final evaluation system. The continuous assessment system is the one that will be used preferably, as indicated in the current regulations of the UPV/EHU. The student who, fulfilling the conditions to continue in the continuous evaluation system, decides to opt for the final evaluation, must inform the teacher within the terms and manner indicated below: via eGela, through the corresponding link, at the latest before the 10th week of the teaching period.



The continuous evaluation mode is based on the following three evaluation tests:

- Individual evaluation questionnaires: 48%

- Practical Works, in groups of three students: reports of the different activities, developed code, specifications, verification results of the practice proposals and interview: 32%

- Project, in groups of three students: 20% (out of which 2% is individual)



To summarize, 50% of the grade is based on individual work and 50% on group work.



To pass the subject it is necessary that the student:

- Completes and submits all assessment tests

- Gets at least 40% of the evaluation of each of the tests

- The final average mark with all the evaluation tests is at least 5 out of 10



FINAL EVALUATION



For those who do not follow the continuous evaluation, the following evaluation mechanism is foreseen:

- Final individual written test (theoretical questions, practical exercises, analysis/design of algorithms...): 80%

- The realization and delivery of a practical work and an interview about it: 20%



To pass the subject it is necessary that each student:

- Completes and submits all assessment tests

- Gets at least 40% of the evaluation of each of the tests

- The final average grade with all the tests is at least 5 out of 10

Extraordinary Call: Orientations and DisclaimerToggle Navigation

In the extraordinary call evaluation will be similar to the final evaluation of the ordinary call:

- Final individual written test (theoretical questions, practical exercises, analysis/design of algorithms...): 80%

- The realization and delivery of a practical work and an interview about it: 20%



To pass the subject it is necessary that each student:

- Completes and submits all assessment tests

- Gets at least 40% of the evaluation of each of the tests

- The final average grade with all the tests is at least 5 out of 10

Compulsory materialsToggle Navigation

The documentation in eGela: https://egela.ehu.eus/

BibliographyToggle Navigation

Basic bibliography

G. Coulouris, J. Dollimore, T. Kindberg, G. Blair. Distributed Systems: Concepts and Design (5th edition). Pearson, 2012.



A. Tanenbaum, M. Van Steen. Distributed Systems: Principles and Paradigms (2nd edition). Pearson, 2007.

In-depth bibliography

S. Mullender. Distributed Systems (2nd edition). Addison-Wesley, 1993.

A. Tanenbaum. Distributed Operating Systems. Prentice-Hall, 1995.

P. Verissimo, L. Rodrigues. Distributed Systems for System Architects. Kluwer Academic Publishers, 2001.

H. Attiya, J. Welch. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Wiley-Interscience, 2004.

K. Birman. Reliable Distributed Systems: Technologies, Web Services, and Applications. Springer, 2005.

G. Tel. Introduction to Distributed Algorithms (2nd edition). Cambridge University Press, 2000.

N. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, 1996.

C. Cachin, R. Guerraoui, L. Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer, 2011.

N. Santoro. Design and Analysis of Distributed Algorithms. Wiley, 2007.

Journals

IEEE Transactions on Parallel and Distributed Systems

(Springer) Distributed Computing

(Elsevier) Journal of Parallel and Distributed Computing

ACM Transactions on Computer Systems

IEEE Transactions on Computers

Web addresses

www.cdk5.net

www.distributed-systems.net

http://www.ntp.org/

http://www.jgroups.org/

http://www.spread.org/

http://web.mit.edu/Kerberos/

GroupsToggle Navigation

61 Teórico (English - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

10:30-12:00 (2)

Teaching staff

61 Applied classroom-based groups-1 (English - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

09:00-10:30 (1)

Teaching staff

61 Applied laboratory-based groups-1 (English - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

09:00-10:30 (1)

Teaching staff