Syllabus for |
|
TDA297 - Distributed systems, advanced course
|
Distribuerade system, fortsättningskurs |
|
Syllabus adopted 2019-02-08 by Head of Programme (or corresponding) |
Owner: MPCSN |
|
7,5 Credits
|
Grading: TH - Five, Four, Three, Fail |
Education cycle: Second-cycle |
Major subject: Computer Science and Engineering, Information Technology
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: English
Application code: 12118
Open for exchange students: Yes
Block schedule:
A+
Module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
Summer course |
No Sp |
0107 |
Examination |
7,5 c |
Grading: TH |
|
|
|
7,5 c
|
|
|
|
|
18 Mar 2020 am H
|
21 Aug 2020 pm J |
0207 |
Laboratory |
0,0 c |
Grading: UG |
|
|
|
0,0 c
|
|
|
|
|
|
In programs
MPCSN COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Year 1 (compulsory elective)
Examiner:
Philippas Tsigas
Go to Course Homepage
Replaces
TDA296
Distributed systems II
Eligibility:
In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement:
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.
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.