Course syllabus for Distributed systems, advanced course

Course syllabus adopted 2021-02-26 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 12119
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0107 Examination 7.5 c
Grading: TH
0 c0 c7.5 c0 c0 c0 c
  • 16 Mar 2022 am J
  • 09 Jun 2022 am J
  • 19 Aug 2022 pm J
0207 Laboratory 0 c
Grading: UG
0 c0 c0 c0 c0 c0 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)

  • 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: 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. Concurrency control: Study of different types of locking, deadlock detection. Additionally, study of concurrency control methods without locking. Recovery and Fault Tolerance: Check-pointing, optimistic and pessimistic recovery control. 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. Fault-Tolerant Multicast. Resource Allocation. Distributed algorithms: How to design and analyze distributed algorithms? Sensor Networks and energy efficient distributed designs. Denial of Service Attacks.

Organisation

Lectures introduce present principles and algorithms. Hands-on programming 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 three lab assignments during the term. The lab assignments give the opportunity to students to uncover the fundamental attributes and characteristics of the protocols that will be discussed in the class.

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.