Course syllabus for Distributed systems, advanced course

Course syllabus adopted 2022-02-16 by Head of Programme (or corresponding).

Overview

  • Swedish nameDistribuerade system, fortsättningskurs
  • CodeTDA297
  • Credits7.5 Credits
  • OwnerMPCSN
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 12120
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0107 Examination 7.5 c
Grading: TH
7.5 c
  • 15 Mar 2023 am J
  • 08 Jun 2023 am J
  • 18 Aug 2023 pm J
0207 Laboratory 0 c
Grading: UG
0 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

The course TDA596 Distributed systems or equivalent is required.

Aim

In this course the students first will get to know the points of inherent difference and strength of distributed systems compared with sequential or strongly-coupled systems; consequently, the aim of the course is to teach the students to study the issues and problems that have to be addressed and solved efficiently for these differences to be taken advantage of, so that the system retains its strength and high potential.

Learning outcomes (after completion of the course the student should be able to)

The objective of the course is for students to understand the theoretical principles and practical considerations of distributed systems. By the end of the course, students should be able to 

• Reason about various concepts such as consistency, durability, availability, fault tolerance, and replication. 
• Understand and reason about the limits that asynchrony, failures and concurrency bring into the distributed system designs. 
• Get a good understanding on the advances in technologies, system architectures and communication architectures that propelled          the growth of distributed computing systems.
• Accomplish a good understanding of the principles and practices in designing efficient protocols and algorithms for distributed                systems, as well as their interplay with high-level systems design issues.
• Understand and appreciate the challenges and opportunities faced by distributed systems, and sensor networks application                  designers.
• Design, program and evaluate representative distributed systems and applications.

Content

In particular, we will address and study the following issues in distributed systems: Reliable and atomic broadcast. Replication: The advantages and costs of replicating data: the potential improvement in response times and reliability, and the extra communication costs involved in keeping data consistent. Fault-tolerant Agreement in Distributed Systems: (a very special and significant problem, since it is a key issue in most synchronization and coordination problems in distributed systems) Study of the basic impossibility results and discuss their implications; proceed with solutions and protocols for systems with certain strengths and design structures.  Resource Allocation. Distributed algorithms: How to design and analyze distributed algorithms? Blockchain

Organisation

Lectures introduce present principles and algorithms. Hands-on programming and homework assignments are run in parallel with the lectures.

Literature

See separate literature list.

Examination including compulsory elements

There will be a final written examination, as well as homework and lab assignments during the term. The lab assignments give the opportunity to the students to uncover the fundamental attributes and characteristics of the protocols that will be discussed in the class. The homework assignment will give the opportunity to the students to train on digging into research articles.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.