Course

Distributed Systems (DAT520)

The course gives insight into both theoretical and practical aspects of distributed computing systems, with particular emphasis on techniques for building fault tolerant systems.


Dette er emnebeskrivelsen for studieåret 2022-2023. Merk at det kan komme endringer.

See course description and exam/assesment information for this semester (2024-2025)

Semesters

Fakta

Emnekode

DAT520

Vekting (stp)

10

Semester undervisningsstart

Spring

Undervisningsspråk

English

Antall semestre

1

Vurderingssemester

Spring

Content

The course gives insight into important theoretical principles of distributed computing, including: system models for interaction and failure, interprocess communication, synchronization, time and global states, protocols for coordination and consensus (Paxos), distributed transactions, fault tolerance, consistency, and replication. The course also covers concrete systems and architectures for distributed systems: map-reduce, distributed hash tables, peer-to-peer systems, gossip-based systems, and distributed file and storage systems.

The course also includes a large programming project based on concepts and algorithms studied in class, in which the student must show how these can be implemented in practice.

The programming project in this course shall be implemented using the Go programming language.

Learning outcome

Knowledge

  • Be familiar with important principles for design and implementation of distributed systems.
  • Be familiar with the most important system architectures for distributed systems.
  • Be familiar with important techniques for solving various problems in distributed systems.

Skills

- Be able to develop advanced distributed applications with fault tolerance properties. - Be able to perform independent research in distributed systems. - Be able to reason about problems that involve distributed components.

General competency

- Know how to develop distributed computer systems.

Forkunnskapskrav

Ingen

Anbefalte forkunnskaper

Operating Systems and Systems Programming (DAT320)
Operating systems, computer networking, advanced programming

Exam

Form of assessment Weight Duration Marks Aid Exam system Withdrawal deadline Exam date
Written exam 1/1 4 Hours Letter grades None permitted Inspera assessment


Vilkår for å gå opp til eksamen/vurdering

Compulsory assignments

Mandatory programming assignments. Pass/Fail. Approval requires submitting your solution to our system for automated evaluation, followed by in-lab approval. All programming assignments must be passed to sit for the written exam.

Completion of mandatory lab assignments is to be made at the times and in the groups that are assigned. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Failure to complete the assigned labs on time or not having them approved will result in barring from taking the exam of the course.

Fagperson(er)

Course coordinator:

Hein Meling

Head of Department:

Tom Ryen

Method of work

4 hours of lectures and 4 hours of mandatory work. All mandatory work (such as hand-ins, lab.work and projects etc. ) must be approved within the specified deadlines throughout the course.

Overlapping

Emne Reduksjon (SP)
Distributed Systems (DAT520_1) , Distributed systems (MID110_1) 10

Åpent for

Admission to Single Courses at the Faculty of Science and Technology
Computer Science - Master of Science Degree Programme Industrial Economics - Master of Science Degree Programme Industrial Economics - Master of Science Degree Programme, Five Year Industrial Automation and Signal Processing - Master's Degree Programme - 5 year Robot Technology and Signal Processing - Master's Degree Programme Petroleum Engineering - Master of Science Degree Programme Master's Degree Programme in Societal Safety, Specialisation in Technical Social Safety Risk Management - Master's Degree Programme (Master i teknologi/siviling.)
Exchange programme at Faculty of Science and Technology

Emneevaluering

Form and/or discussion

Litteratur

E-book Introduction to Reliable and Secure Distributed Programming Cachin, Christian ; Guerraoui, Rachid ; Rodrigues, Luís, Berlin, Heidelberg, Springer Berlin Heidelberg, 2011, isbn:9783642152597, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-UIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2020-12-10T15%3A44%3A53IST&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&url_ver=Z39.88-2004&rfr_id=info:sid/primo.exlibrisgroup.com-scopu&req_id=&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=book&rft.atitle=Introduction%20to%20Reliable%20and%20Secure%20Distributed%20Programming&rft.jtitle=&rft.btitle=%3Ch%3EIntroduction%3C/h%3E%20%3Ch%3Eto%20Reliable%3C/h%3E%20%3Ch%3Eand%20Secure%3C/h%3E%20%3Ch%3EDistributed%3C/h%3E%20%3Ch%3EProgramming%3C/h%3E&rft.aulast=Cachin,%20Guerraoui,%20Rodrigues&rft.auinit=&rft.auinit1=&rft.auinitm=&rft.ausuffix=&rft.au=Cachin,%20Christian&rft.aucorp=&rft.date=2011&rft.volume=&rft.issue=&rft.part=&rft.quarter=&rft.ssn=&rft.spage=&rft.epage=&rft.pages=&rft.artnum=&rft.issn=&rft.eissn=&rft.isbn=9783642152597&rft.sici=&rft.coden=&rft_id=info:doi/10.1007/978-3-642-15260-3&rft.object_id=&rft.eisbn=3642152600&rft.edition=2&rft.pub=Springer%20Berlin%20Heidelberg&rft.place=Berlin,%20Heidelberg&rft.series=&rft.stitle=&rft.bici=&rft_id=info:bibcode/&rft_id=info:hdl/&rft_id=info:lccn/&rft_id=info:oclcnum/&rft_id=info:pmid/&rft_id=info:eric/((addata/eric}}&rft_dat=%3Cscopu%3E255271995%3C/scopu%3E%3Curl%3E%3C/url%3E,language=eng,view=UBIS&svc_dat=viewit&user_ip=10.16.56.128&req.skin=primo&rft_pqid=&rft_galeid=&rft_cupid=&rft_eruid=&rft_nurid=&rft_ingid=View online Other Lecture slides Hein Meling et. al., Some lecture slides will be made available on Canvas. Other Lab assignments Hein Meling et. al., Lab assignments will be available on GitHub. Article Reading material Additional required reading material will be available on the courses' GitHub page. Book The Go programming language Donovan, Alan A. A., Kernighan, Brian W., New York, NY, Addison-Wesley, XVII, 380 sider, [2016], isbn:9780134190440; 0134190440,
The course description is retrieved from FS (Felles studentsystem). Version 1