Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat

FISA DISCIPLINEI

Codul
Denumirea disciplinei
MID1020 Algoritmi distribuiţi şi tehnici avansate în sisteme distribuite
Specializarea
Semestrul
Ore: C+S+L
Categoria
Statutul
Baze de date
4
2+0+2
specialitate
optionala
Sisteme distribuite în Internet
4
2+0+2
specialitate
optionala
Titularii de disciplina
Lect. Dr. BOIAN Rares Florin,  rarescs.ubbcluj.ro
Obiective
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.
Continutul
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]
Bibliografie
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
Evaluare
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%
Legaturi: Syllabus-urile tuturor disciplinelor
Versiunea in limba engleza a acestei discipline
Versiunea in format rtf a acestei discipline