Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Master

SUBJECT

Code
Subject
MID1020 Distributed Algorithms and Advanced Techniques in Distributed Systems
Section
Semester
Hours: C+S+L
Category
Type
Database
4
2+1+0
speciality
optional
Distributive Systems in Internet
4
2+1+0
speciality
optional
Teaching Staff in Charge
Lect. BOIAN Rares Florin, Ph.D.,  rarescs.ubbcluj.ro
Aims
Familiarizarea masteranzilor cu cele mai recente cercetari teoretice din domeniul sistemelor distribuite. Pe langa cercetarile de natura teoretica, studentii vor elabora implementari comparative in C++, C#, Java, CORBA etc. Aceste implementari vor avea doua scopuri: compararea implementarilor de pe diverse platforme si ilustrarea detaliata a algoritmilor distribuiti care fac parte din teoria clasica.
Content
Săptămâna 1: Modele formale in sisteme distribuite: sincron, asincron, partial sincron) [8] [2]
Săptămâna 2: Algoritmi distribuiti: modele, caracteristici, problematica, aplicatii [6] [8] [3]
Săptămâna 3: Problema alegerii leaderului: modele si implementari [6 cap 3-4]
Săptămâna 4: Problema consensului în sisteme distribuite [6 cap 4, 12]
Săptămâna 5: Algoritmi asincroni pentru memorii partajate distribuite [6 cap 10, 17]
Săptămâna 6: Excludere mutuală şi alocarea resurselor în context asincron [6 cap 10-11]
Săptămâna 7: Gestiunea timpului în sisteme distribuite: ceasuri fizice şî ceasuri logice (Lamport) [6 cap 18]
Săptămâna 8: Sisteme tolerante la erori [6 cap 21], sisteme send - receive [6 cap 17], recuperarea după avarii [6 cap 22]
Săptămâna 9: Problematica sistemelor parţial sincrone: simulare, excludele mutuală, consens [6 cap 23-25]
Săptămâna 10: Tranzacţii distribuite [9]
Săptămâna 11: Implementări ale sistemelor distribuite în C++ [4]
Săptămâna 12: Implementări ale sistemelor distribuite în C# [1]
Săptămâna 13: Implementări ale sistemelor distribuite în Java [2]
Săptămâna 14: Implementări ale sistemelor distribuite în CORBA [5]
References
1. BARNABY T. Distributed .NET Programming in C#. Apress, 2002
2. BOIAN F.M. Programarea distribuita in internet; metode si aplicatii. Ed. Albastra, Cluj, 1997
3. HILDRETH P.M. Going Virtual: Distributed Communities of Practice. Idea Group Pub. 2004
4. HUGHES C. HUGHES T. Parallel and Distributed Programming Using C++. Addison Wesley, 2003
5. LANG U. SCHREINER R. Developing Secure Distributed Systems with CORBA. Artech House, 2002
6. LYNCH N.A. Distributed Algorithms. Morgan Kaufmann Pub. 1996
7. TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2000
8. TEL G. Introduction to Distributed Algorithms. Cambridge Press, 1994
9. WEIKUM G. VOSSEN G. Transactional Information Systems: theory, algorithms, and the practice of concurrency control and recovery. Morgan Kaufmann Pub. 2002
Assessment
Cursul se încheie cu un examen final. Pe durata semestrului, studenţii vor prezenta un referat theoretic şi un proiect realizat folosind C++, C#, Java şi CORBA.
Nota finală constă din:
• Examenul final: 40%
• Evaluarea proiectului 40%
• Evaluarea referatului: 20%
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject